DataSag guides · Updated 27 October 2026

Install DataSag on Jekyll

Add DataSag to Jekyll through the head of the shared _layouts/default.html or its head include. Create a project first, then replace the example public key with the key from your dashboard.

Where to put the tracking script

Find the layout chain used by your Jekyll pages and posts. Add the deferred script once to the shared head template or its include. Keep the existing Liquid content and include structure, build the site and deploy the generated output. A theme-provided layout can require a local override rather than editing a gem.

<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 Jekyll setup mistake

Front matter selects layouts, and a page can bypass the shared default layout. Check standalone pages, posts and archive templates. Updating a source layout does not update a hosted site until the build and publication step completes.

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

For click intent, add data-datasag-goal to generated links or buttons in a layout or supported raw HTML. A confirmed form submission requires browser code that receives success from the form service; Liquid rendering cannot observe that outcome.

<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 Jekyll 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.