DataSag guides · Updated 27 October 2026

Install DataSag on Drupal Twig themes

Add DataSag to Drupal Twig themes through the head in your custom theme html.html.twig override. Create a project first, then replace the example public key with the key from your dashboard.

Where to put the tracking script

Use a maintained custom theme or subtheme and identify its html.html.twig document wrapper. Add the deferred tracker inside head while preserving Drupal's existing placeholders, attributes and attached assets. Rebuild the relevant caches and inspect the public rendered document. Do not edit Drupal core or replace the full wrapper with a minimal example.

<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 Drupal Twig themes setup mistake

The active public theme and the administration theme can differ. A node or block template is not the global document wrapper, and Ajax-rendered fragments do not represent independent document loads. Check public routes, caching and any separately configured theme before assuming complete coverage.

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 goal attribute in markup owned by your theme for click intent. Custom JavaScript action handling must respect Drupal behaviors and repeated Ajax attachments, and emit success only after confirmation. PHP preprocessing and Twig rendering cannot invoke a visitor's browser API.

<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 Drupal Twig themes 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.