DataSag guides · Updated 27 October 2026

Install DataSag on Gatsby

Add DataSag to Gatsby through an onRenderBody head component in the root gatsby-ssr.js file. Create a project first, then replace the example public key with the key from your dashboard.

Where to put the tracking script

Use the Gatsby SSR onRenderBody API to add one deferred external script through setHeadComponents. Merge the addition into an existing hook rather than overwriting it, and keep the React import required by your file format. Build and publish the generated site; inspect its HTML because this hook concerns generated documents.

const React = require("react");

// Merge into your existing onRenderBody hook if one exists.
exports.onRenderBody = ({ setHeadComponents }) => {
  setHeadComponents([
    <script key="datasag" defer
      src="https://www.datasag.com/tracker.js"
      data-datasag-key="YOUR_PUBLIC_KEY" />
  ]);
};

The project tracking key is public and belongs in this snippet. Account credentials, provider API keys and database secrets do not. Keep your existing consent choices and only load analytics when your site's policy permits it.

Verify the published installation

  1. Publish the change to the domain visitors actually use. Open a nested page as well as the homepage.
  2. In browser developer tools, find one tracker.js script with the correct data-datasag-key value.
  3. Filter Network requests for /api/track. Confirm that a pageview payload names the path you opened and receives a successful response.
  4. Open the same DataSag project and choose a date range containing your test. Confirm the page appears before measuring campaigns or conversions.

Avoid this Gatsby setup mistake

A browser onRouteUpdate hook, a plugin and gatsby-ssr can all add analytics behavior. Do not add a second pageview sender without testing the current tracker. gatsby develop is not a substitute for checking generated production documents.

Keep pageviews separate from scroll, click and engagement events. A page can generate several tracking requests while still representing one visit to that path.

Events and conversions

Call the browser API from a React action handler after success. Gatsby build-time Node execution and SSR do not have the visitor window. Keep the global loader separate from individual page components.

<a href="/signup" data-datasag-goal="signup_click">Create account</a>

This attribute measures a click. To record a completed signup, call window.datasag.track in the application's confirmed success handler. Current plan details determine which event and campaign reports are available.

Setup and troubleshooting recipes

Platform reference

Official Gatsby documentation explains the platform integration point. DataSag-specific behavior here follows the current tracker and project setup.

Need a different stack? Browse every installation guide.