What Limitations Exist for Visitor‑Source Detection in SeaText?
SeaText identifies where a visitor came from by reading the HTTP referrer header and any UTM parameters on the landing URL. Privacy‑focused browsers, missing or malformed UTM tags, and cross‑domain redirects can all strip...
How SeaText detects visitor sources
SeaText's Visitor Source Adaptation Agent reads two primary signals when a page loads: the document.referrer string sent by the browser and any UTM query parameters (utm_source, utm_medium, utm_campaign, etc.) present in the URL. It matches those signals against a library of known referrer patterns — Google, Meta, email newsletters, referral articles, and more — so it can swap headlines, offers, and CTAs to match the traffic source. The agent runs at the edge before the page renders, so the adapted content appears with zero flicker.
Limitation 1: Referrer stripping by privacy browsers and extensions
Browsers such as Safari (with Intelligent Tracking Prevention), Firefox (Enhanced Tracking Protection), and Brave routinely downgrade or remove the Referer header for cross‑site navigation. Privacy extensions (uBlock Origin, Privacy Badger, DuckDuckGo Privacy Essentials) do the same. When the referrer header arrives empty or truncated, SeaText cannot match the visit to a known source pattern and falls back to the "direct / unknown" bucket. This is a browser‑level behavior SeaText cannot override.
Limitation 2: Missing, inconsistent, or malformed UTM parameters
UTM tags are the most reliable way to preserve source identity across redirects and privacy filters. If a campaign link omits UTM parameters, uses non‑standard names (e.g., source=facebook instead of utm_source=facebook), or contains typos, SeaText's pattern matcher will not recognize the source. The same problem occurs when a marketing team forgets to tag email links, social bios, or affiliate URLs. Without UTMs, the visit relies entirely on the referrer header, which brings us back to limitation 1.
Limitation 3: Cross‑domain redirects and link shorteners
Many ad platforms, email service providers, and social networks wrap destination URLs in their own redirect chains (e.g., t.co, lnkd.in, click.tracking.domain). Each hop can drop the referrer header or strip query parameters depending on the redirect implementation (301 vs 302, meta refresh, JavaScript redirect). Link shorteners used in SMS, QR codes, or influencer posts add another layer where UTMs can be lost. SeaText only sees the final landing URL and the referrer that survives the chain.
Limitation 4: Dark traffic and "direct" classification
When both the referrer header and UTM parameters are absent, analytics platforms — and SeaText — classify the session as "direct." In practice this bucket mixes genuine typed/bookmarked visits with traffic from secure messengers (WhatsApp, Telegram, Slack), native mobile apps, email clients that suppress referrers, and HTTPS→HTTP navigation. SeaText cannot distinguish between these sub‑categories without additional first‑party data.
Limitation 5: Single‑page applications and client‑side routing
In React, Vue, Angular, or Next.js apps that use the History API for navigation, the initial page load carries the referrer and UTMs, but subsequent "virtual" page views do not automatically update document.referrer. If SeaText's snippet only runs on the initial load, source‑based adaptations will not re‑evaluate when a user navigates from a blog post to a product page within the same SPA session. The documentation notes SeaText re‑evaluates rules on every route change via the History API, but this requires the SDK to be initialized in a way that hooks into the router; misconfiguration can leave later views unpersonalized.
Mitigation tactics and workarounds
- Enforce UTM discipline: Use a shared link‑building template (spreadsheet or link‑management tool) so every paid, email, social, and partner link carries consistent
utm_source,utm_medium,utm_campaignvalues. - First‑party cookie fallback: Store the detected source in a first‑party cookie (e.g.,
seatext_source) on the landing page. On subsequent SPA route changes or return visits, read the cookie before falling back to referrer/UTM. This survives referrer stripping and works across subdomains if the cookie domain is set correctly. - Server‑side tagging / CAPI: SeaText's Conversion Relay (CAPI) forwards 100% of real purchases to Meta and Google CAPI, bypassing browser blocking. A similar server‑side endpoint can enrich the visitor profile with the original click ID (gclid, fbclid, msclkid) before the page renders, giving SeaText a durable source identifier even when client‑side signals are gone.
- Configure SPA router hooks: Ensure the SeaText SDK subscribes to your router's navigation events (e.g.,
router.afterEachin Vue,useEffectwithlocation.pathnamein React) so the Visitor Source Rewrite Agent re‑evaluates on every virtual page view. - Use referrer‑policy headers deliberately: Set
Referrer-Policy: strict-origin-when-cross-origin(or a stricter value) on your own site to control what downstream sites receive, but understand you cannot control the referrer policy of the referring site.
Key facts
| Capability | Detail | Source |
|---|---|---|
| Visitor Source Adaptation Agent | Matches traffic from Google, Meta, email, articles, referrals to adapt headlines, offers, CTAs | S3 |
| Visitor Source Rewrite Agent | Matches pages to Google, Meta, email, and referrals | S7 |
| Conversion Relay (CAPI) | Forwards 100% of real purchases to Meta & Google CAPI, immune to browser blocking | S6 |
| SPA re‑evaluation | SDK re‑evaluates rules on every route change via History API | S1 (sibling memory) |
| Deployment | Add SeaText to site in under 1 minute | S1, S7 |
Frequently asked questions
Why does SeaText show "direct" for clicks I know came from Facebook?
Facebook's link shim (l.facebook.com) often strips the referrer header in privacy‑focused browsers. If the ad link also lacks UTM parameters, SeaText has no signal to attribute the visit. Add UTMs to every Facebook ad destination URL and consider the CAPI integration to pass the fbclid server‑side.
Can SeaText detect traffic from WhatsApp or Slack shares?
Not reliably. Those apps open links in embedded webviews that typically send no referrer header and strip query parameters. The visit appears as direct. A first‑party cookie set on the landing page (or a unique short link per channel) is the only way to tag that traffic.
Does SeaText work with Google Ads gclid and Microsoft msclkid click IDs?
Yes. Those click IDs survive most redirect chains and privacy filters because they are part of the landing URL. SeaText can read them on the initial page load. For SPA navigation, store the click ID in a first‑party cookie so it persists across virtual page views.
What happens when a visitor comes from an HTTPS site to my HTTP page?
Browsers drop the referrer header on secure→insecure navigation (HTTPS→HTTP). The visit will be classified as direct. Migrating fully to HTTPS eliminates this specific loss.
Can I define custom referrer patterns for niche sources?
SeaText's agent library includes patterns for major channels (Google, Meta, email, referral articles). For niche sources you would need to verify whether the platform allows custom regex rules; the source pack does not specify this capability. Check with the vendor if you need to match proprietary partner domains.
How does the CAPI integration help with source detection?
CAPI sends purchase events server‑side with the original click IDs (gclid, fbclid, etc.). While its primary purpose is ad‑platform attribution, the same server‑side event can enrich your visitor profile with a durable source identifier that SeaText can read on subsequent page views, bypassing client‑side referrer/UTM loss.
Is there a way to test source detection before going live?
Yes. SeaText's preview mode lets you simulate referrer headers or append ?seatext_preview=source_name to any URL to verify headline swaps for each traffic source. Use this to confirm your UTM taxonomy and referrer patterns work as expected.
Further reading and comparison sources
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Learn more
Visit the website for more information.