free · no signup

Segment installation checker

Check if Segment's analytics.js is installed on your site, flag duplicate or render-blocking loads, then confirm events in the Source Debugger.

Scans the page's HTML in seconds. It also reports every other tracking script it finds.

about Segment

Why it breaks quietly.

Segment's analytics.js snippet loads from cdn.segment.com and calls analytics.load with your source write key. It collects track, page and identify calls and forwards them to the destinations you configure.

Because Segment sits in the middle, a break can happen in three places: the snippet, the source, or a destination. Events can arrive in Segment and still never reach the tool your team actually reads.

what the free scan checks

✓

Whether Segment is in the page

The scan fetches the page's HTML and matches the vendor's script URL and install snippet.

✓

Whether it blocks rendering

A script tag without async or defer delays the page from painting. Marketing scripts never need to.

✓

Whether it's installed more than once

Duplicate installs usually send every event twice and inflate conversions.

✓

How exposed the page is to blockers

A server-side readiness grade: whether tags load from domains blocklists target, and whether conversions have a server-side path.

It reads the HTML, so tags injected later (inside GTM, for example) don't show up, and it can't see events fire. That's what verification is for.

common failures

How Segment goes dark.

✗

The write key belongs to a dev or old source

Production uses a write key from a staging source, so live events land somewhere no destination is connected.

✗

A destination is disabled or misconfigured

Events reach Segment but a destination is turned off or has bad credentials, so they never reach GA4, Mixpanel or your ad platform.

✗

Single-page apps call page() only once

The default snippet calls analytics.page() on load. Route changes on a single-page app need their own page() calls.

✗

Ad blockers block cdn.segment.com

Common block lists include Segment's CDN and API. Segment supports custom domains and proxies to work around this.

by hand

Check it yourself, step by step.

  1. 1

    Open the source in your Segment workspace and use the Debugger to watch live events as you browse.

  2. 2

    Open each destination and check its Event Delivery tab for errors or drops.

  3. 3

    View the page source and confirm the write key in analytics.load matches your production source.

  4. 4

    Navigate between routes on a single-page app and confirm a page event arrives for each one.

questions

Asked and answered.

Can this check tell me if Segment events are firing?+

No. It reads served HTML and can see whether the Segment snippet is present, duplicated or render-blocking. It cannot see analytics.js loaded at runtime or confirm events reach Segment or its destinations. TracerKit's Verification tier watches real fires and alerts when a tag goes silent.

Events show in the Segment Debugger but not in my tool. Why?+

The destination is the problem. Check it is enabled, its credentials are valid, and its Event Delivery tab for errors.

Does this check see tags Segment loads?+

No. Device-mode destinations are loaded by analytics.js after the page loads, so they do not appear in the served HTML.

check other tags

Know Segment is firing, every hour of every day.

Verification watches each tag on real traffic and emails you the moment one goes silent. 14-day trial, no card.