Join 2,200+ companies using Produktly to create exceptional micro surveys that gather quick user feedback to validate your product decisions on Gatsby.
Interactive onboarding for Gatsby static sites. Produktly helps you guide users through your Gatsby-powered content.
Gather contextual feedback that helps you understand your users and improve your product features.
Triggered Surveys
Real-Time Insights
Increased Retention
Getting started with Produktly micro surveys on your Gatsby project is quick and easy.
Get your unique script from Produktly.
Add the script to your gatsby-ssr.js or gatsby-browser.js.
Build tours using our visual editor on your live Gatsby site.
Improve user retention with guided walkthroughs.
Gatsby pre-renders pages at build time and hydrates them in the browser. The result is fast static HTML with React taking over once the JS bundle loads. Anything that targets a DOM element has to wait until hydration completes, or use a static target that exists in the pre-rendered HTML.
Gatsby also does client-side routing with @reach/router, so navigation between pages is in-app after the first load. Tours that depend on page reloads will only fire once unless they listen to history changes.
Use setHeadComponents in gatsby-ssr.js so the snippet gets injected into the pre-rendered HTML of every page.
// gatsby-ssr.js
import React from "react";
export const onRenderBody = ({ setHeadComponents }) => {
setHeadComponents([
<script
key="produktly"
dangerouslySetInnerHTML={{
__html: `
(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");
`
}}
/>
]);
};setHeadComponents inlines the script during build, so it lands in the static HTML and runs on first paint, no JS bundle required.
Loading in gatsby-browser.js misses the first render
gatsby-browser.js only runs after hydration. If you want the script available on first paint, put it in gatsby-ssr.js as shown.
Gatsby Link skips full page reloads
After the first page, Gatsby Link does soft navigation. Enable Produktly’s SPA redirect handling so cross-page tours keep firing.
Static queries hydrate after the page paints
If your tour targets a component fed by useStaticQuery, the element exists in the pre-rendered HTML but may be replaced during hydration. Use stable data-* attributes that survive both renders.
Gatsby teams pick Produktly because the snippet ships in static HTML and runs before the React bundle loads, no impact on Core Web Vitals. Setup is one onRenderBody hook, and the editor works against pre-rendered HTML the same way it works against any other site.
Product Tours
Product Tours software for Gatsby.
Announcements
Announcements software for Gatsby.
Checklists
Checklists software for Gatsby.
Feedback Widgets
Feedback Widgets software for Gatsby.
Smart Tips
Smart Tips software for Gatsby.
Tool Tips
Tool Tips software for Gatsby.
Roadmaps
Roadmaps software for Gatsby.
NPS Widgets
NPS Widgets software for Gatsby.
Changelogs
Changelogs software for Gatsby.
React
Best micro surveys software for your React app.
Next.js
Best micro surveys software for your Next.js app.
Vue.js
Best micro surveys software for your Vue.js app.
Angular
Best micro surveys software for your Angular app.
Svelte
Best micro surveys software for your Svelte app.
Astro
Best micro surveys software for your Astro app.
Nuxt
Best micro surveys software for your Nuxt app.
Remix
Best micro surveys software for your Remix app.