Tutorials

A Practical Guide to attribution tracking

Flowsery Team
Flowsery Team
4 min read

TL;DR — Quick Answer

4 min read

Cross-subdomain attribution works best when every subdomain uses the same measurement plan, the same conversion definitions, clean UTMs, and privacy limits that avoid persistent cross-site profiling.

In practice, attribution tracking gets messy when a user moves from www.example.com to app.example.com, docs.example.com, checkout.example.com, or a separate marketing microsite. The person sees one brand. Your analytics stack may see several disconnected visits.

That disconnect can make organic search look weak, paid campaigns look better or worse than they are, and product activation appear unrelated to the landing page that caused it.

The goal is to preserve source context across the journey without turning attribution into invasive tracking.

Common Cross-Subdomain Problems

Subdomains create attribution gaps in predictable ways:

  • The marketing site and app use different analytics properties.
  • A signup form redirects through an authentication provider.
  • UTM parameters are lost before the conversion event.
  • Referral exclusions are misconfigured.
  • Cookies are scoped to one host instead of the parent domain.
  • A single-page app changes routes without recording pageviews.
  • The product app records activation, but the marketing site records acquisition.

The result is usually a report where conversions appear as direct traffic, self-referrals, authentication referrals, or "unknown."

Define the Journey Before Configuring Tools

Start with the real user path. For a SaaS company, that might look like:

  1. Visitor lands on www.example.com/blog/... from organic search.
  2. Visitor clicks "Start free trial."
  3. Browser opens app.example.com/signup.
  4. User verifies email through an authentication service.
  5. User creates a workspace.
  6. User connects an integration.

Now decide which events matter:

  • Landing page view
  • Signup started
  • Signup completed
  • Workspace created
  • First integration connected
  • First report viewed

Each event should have one owner and one definition. If "signup" means form start in one tool and verified account in another, attribution reports will be unreliable.

Use UTMs Consistently

UTMs are still the simplest way to preserve campaign context. Use them for paid ads, email, partnerships, social posts, affiliate links, and offline QR codes. Keep values lowercase, predictable, and free of personal data.

Good:

?utm_source=linkedin&utm_medium=paid-social&utm_campaign=q2-demo

Bad:

?utm_source=linkedin&utm_campaign=jane.smith@example.com-demo

Google's UTM documentation remains a useful reference for parameter meanings even if you use a different analytics product (Google Analytics Help).

Keep Attribution First-Party Where Possible

For cross-subdomain journeys, first-party measurement is usually enough. You can use the same analytics script and project across related subdomains, then store only the minimum source context needed for aggregate reporting.

Flowsery
Flowsery

Start Free Trial

Real-time dashboard

Goal tracking

Cookie-free tracking

In a privacy-first implementation:

  • Do not store full IP addresses.
  • Do not build cross-site profiles across unrelated domains.
  • Avoid fingerprinting as a workaround for cookie limits.
  • Do not pass emails or customer IDs in URLs.
  • Strip sensitive query parameters before analytics collection.
  • Use short retention for raw event data.

If you use cookies, pay attention to consent and cookie scope. A cookie scoped to .example.com can be read by subdomains, but it is still a tracking technology and may require consent depending on purpose and jurisdiction. The UK ICO guidance is clear that non-essential cookies and similar technologies need user control (ICO).

Handle Authentication and Checkout Redirects

Authentication providers and payment processors often interrupt attribution. If a user moves through auth.vendor.com or checkout.vendor.com, your analytics may treat the return as a new referral.

Use these safeguards:

  • Add known auth and payment domains to referral exclusions where your tool supports it.
  • Store campaign context before redirecting.
  • Fire conversion events after the user returns to your domain.
  • Reconcile analytics conversions with backend records.
  • Test flows in private browsing and with consent declined.

For high-value conversions, record the conversion on the server too. Browser-side analytics is good for marketing context, but your backend should remain the source of truth for created accounts, paid subscriptions, and invoices.

Attribute Activation, Not Only Signup

Many SaaS teams stop at "trial started." That rewards campaigns that generate curiosity, not necessarily customers. Better reports connect acquisition source to activation milestones.

Examples:

  • Organic search visitors create fewer accounts but activate at a higher rate.
  • Paid social creates many signups but few integration connections.
  • Partner referrals create fewer trials but more paid upgrades.
  • Documentation traffic converts slowly but produces high-retention users.

You do not need person-level surveillance for this. Aggregate cohorts by source, campaign, landing page, and activation event can be enough.

A Cross-Subdomain Attribution Checklist

Before trusting the numbers, test the full journey:

  • Same analytics project or clearly joined reporting across subdomains.
  • Pageviews recorded for client-side route changes.
  • UTMs preserved or captured before redirects.
  • Auth and payment domains handled intentionally.
  • Conversion events defined once.
  • Backend records reconciled with analytics counts.
  • Sensitive URL parameters removed.
  • Consent behavior tested in regulated markets.
  • Bot and internal traffic filtered.

Attribution across subdomains should make decisions clearer, not create a shadow identity graph. Measure the path from source to outcome, keep the data first-party and minimal, and use backend truth for events that affect revenue or compliance.

Final Attribution Checks

Before you trust cross-subdomain attribution, prove three things: the campaign context survives the journey, the conversion exists in your backend system, and sensitive URL data is stripped before analytics receives it.

Use analytics to answer operational questions such as which channel brought qualified visitors, which landing page converted, and where the funnel dropped. Keep personal data out of campaign parameters, avoid fingerprinting as a shortcut, and reconcile high-value outcomes against first-party records.

Validation Checklist

Before trusting cross-subdomain attribution, run five journeys end to end: direct visit, UTM campaign visit, blog-to-app signup, auth redirect, and checkout redirect. Confirm the original campaign survives legitimate redirects but does not overwrite itself on internal links. UTMs should describe acquisition links from outside the property; using them on internal navigation can corrupt the source of truth.

Then inspect payloads. Campaign context should include source, medium, campaign, content, and sometimes utm_id, not emails, account IDs, or one-off user tokens. Google's URL builder documentation recommends setting the relevant UTM parameters, especially source, medium, campaign, ID, and source platform where applicable, which is enough for most campaign reporting (Google Analytics URL builder).

Finally, reconcile conversion totals against backend records. Attribution explains where conversions came from; it should not become the source of truth for whether a conversion happened.

Flowsery
Flowsery

Start Free Trial

Real-time dashboard

Goal tracking

Cookie-free tracking

Was this article helpful?

Let us know what you think!

Before you go...

Flowsery

Flowsery

Revenue-first analytics for your website

Track every visitor, source, and conversion in real time. Simple, powerful, and fully GDPR compliant.

Real-time dashboard

Goal tracking

Cookie-free tracking

Related Articles