Industry-Leading Feedback Widgets for Astro

Best Feedback Widgets Software for Astro

Join 2,200+ companies using Produktly to create exceptional feedback widgets that collect valuable insights to improve your customer experience on Astro.

Produktly Capterra rating 4.7/5.0Produktly Capterra Best Ease of Use Badge

Why Produktly Feedback Widgets is Perfect for Astro

Onboarding for fast Astro websites. Produktly integrates easily with Astro components to provide interactive guidance.

Supercharge Your Astro Experience

Capture customer feedback instantly with simple but effective feedback widgets. Improve your product by listening to your users.

Instant Feedback

Get notified via Slack or Discord as soon as a user leaves feedback.

Contextual Information

Automatically capture device, browser, and URL data with every response.

Integration Hub

Connect to thousands of tools with our native Zapier integration.

Simple Integration with Astro

Getting started with Produktly feedback widgets on your Astro project is quick and easy.

How to integrate:

  1. 1

    Get your Produktly script snippet.

  2. 2

    Add it to your base layout component in Astro.

  3. 3

    Open your published site or preview and use the Produktly editor.

  4. 4

    Create and share guided tours without affecting your site performance.

Produktly highlighting features in Astro

Astro and in-app guidance

Astro ships zero JavaScript by default, hydrating only the islands you explicitly mark as interactive. That makes it ideal for content sites and marketing pages where you want guidance for visitors without slowing the page down. Tours load asynchronously and do not affect Lighthouse scores in any meaningful way.

Astro routes are typically multi-page (full reloads between pages) unless you opt into View Transitions or a client-side framework integration. Tour configuration depends on which model your project uses.

Installing Produktly on Astro

Add the snippet to your base layout so it loads on every page, then ship.

---
// src/layouts/Base.astro
---
<!doctype html>
<html>
  <head>
    <slot name="head" />
    <script is:inline>
      (function (w, d, f) {
        var a = d.getElementsByTagName("head")[0];
        var s = d.createElement("script");
        s.async = 1; s.src = f;
        s.setAttribute("id", "produktlyScript");
        s.dataset.clientToken = "YOUR_TOKEN";
        a.appendChild(s);
      })(window, document, "https://public.produktly.com/js/main.js");
    </script>
  </head>
  <body><slot /></body>
</html>

Use is:inline on the script so Astro doesn’t process it as a module. If you have View Transitions enabled, you may also want to register the snippet inside an astro:page-load listener.

Things to watch out for on Astro

  • Astro processes script tags by default

    Without is:inline, Astro will bundle and treat your snippet as a module, which can prevent it from loading on every page. Add is:inline to keep it as-is.

  • View Transitions need extra wiring

    If you enabled @astrojs/transitions, Astro does soft navigation. Wrap the snippet in document.addEventListener("astro:page-load") so it re-attaches after each transition.

  • Islands hydrate after the page paints

    If your tour targets a React or Vue island, the element may not exist on first render. Trigger tours from user actions (clicks) rather than page load when the target is interactive.

Why teams on Astro pick Produktly

Astro teams pick Produktly because the script is async and has no measurable impact on Core Web Vitals. There’s no Astro-specific integration package to keep current, and the no-code editor works on both static pages and interactive islands without separate config.