DataSag guides · Updated 27 October 2026

Install DataSag on Remix v2

Add DataSag to Remix v2 through the head of the existing document in app/root.tsx. Create a project first, then replace the example public key with the key from your dashboard.

Where to put the tracking script

For a Remix v2 application, add one deferred external script to the existing document head in app/root.tsx. Preserve Meta, Links, Outlet, ScrollRestoration and Scripts in their established locations. Keep the tracker outside nested route components. This guide targets Remix v2 conventions; inspect different framework versions before copying their root shape.

<script defer src="https://www.datasag.com/tracker.js" data-datasag-key="YOUR_PUBLIC_KEY"></script>

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 Remix v2 setup mistake

An action or loader runs on the server and cannot use the browser window. Root error handling can render a different document. Test direct entries, client navigation and your relevant error route without adding another script to every nested route.

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

Use a client handler after a successful action result. A fetcher changing state or a Form submission beginning does not itself prove completion. Keep event definitions aligned with actual action data.

<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 Remix v2 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.