Skip to content

Add cross-domain tracking to stitch users across snowplow.io and console - #2

Open
jborlase-snowplow wants to merge 8 commits into
mainfrom
feature/cross-domain-linking
Open

Add cross-domain tracking to stitch users across snowplow.io and console#2
jborlase-snowplow wants to merge 8 commits into
mainfrom
feature/cross-domain-linking

Conversation

@jborlase-snowplow

Copy link
Copy Markdown
Owner

Summary

  • Enables cross-domain tracking from the docs site (snowplow.io) to the console (snowplowanalytics.com) by decorating outgoing links with the _sp querystring parameter
  • Uses the extended cross-domain linker format (useExtendedCrossDomainLinker: true) to include sessionId and sourceId for richer identity stitching via the cross-navigation enrichment
  • Re-applies link decoration on Docusaurus SPA route changes so dynamically rendered links are also covered

How it works

A crossDomainLinker callback is added to the tracker configuration that returns true for any link whose hostname ends with snowplowanalytics.com. When a user clicks such a link, the tracker appends _sp={domainUserId}.{timestamp}.{sessionId}.{sourceId}... to the URL. The console's tracker then picks up the refr_domain_userid from the destination page's events, enabling Identities to resolve both sites' activity to a single Snowplow ID.

Test plan

  • Verify the site builds cleanly (yarn build passes)
  • On the docs site, inspect a link to console.snowplowanalytics.com — confirm it gets an _sp parameter appended on click
  • Confirm links to non-target domains (e.g. GitHub, external docs) are not decorated
  • Navigate between docs pages and verify links on the new page are also decorated (SPA re-decoration)
  • Verify anonymous tracking mode still works correctly (no _sp decoration leaks PII when analytics cookies are declined)

🤖 Generated with Claude Code

jborlase-snowplow and others added 8 commits April 10, 2026 17:24
The dbt-snowplow-identities package is hosted on GitHub (snowplow-incubator),
not dbt Hub. Updated the packages.yml snippet to use git source.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.21...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Restore sidebars link handling

* Add content to link pages

* Update page text
Enable user identity stitching across the docs site (snowplow.io) and
console (snowplowanalytics.com) by decorating outgoing links with the
_sp parameter. Uses the extended format to include sessionId and sourceId
for richer cross-navigation data. Re-applies link decoration on SPA
route changes so dynamically rendered links are also covered.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Missing SEO metadata

The following markdown files are missing required metadata fields:

  • src/pages/lifecycle-policy.md: missing frontmatter block

Required fields

The file metadata is important for SEO and marketing. All markdown files, except for those with filenames starting with _, should include:

  • title: Full, descriptive page title
  • sidebar_label: Short title for navigation sidebar (can be the same as the main title)
  • description: One to two sentences summarizing the page contents
  • keywords: Array of marketing/SEO keywords

Please add the missing metadata.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants