How to Tell If a Website Uses Segment
Segment is a customer-data platform that routes events to other tools. Detect it via the cdn.segment.com/analytics.js script, the window.analytics object, api.segment.io beacons and ajs_ cookies.
Segment (now part of Twilio) is the best-known customer-data platform (CDP): instead of installing a dozen separate tracking snippets, a site sends events to Segment once and Segment fans them out to analytics, marketing and warehouse destinations. To detect it, look for the cdn.segment.com/analytics.js library or the global window.analytics object. Here is how to be certain, how the routing works, and why a Segment install is one of the most valuable findings in a tech-stack audit.
What is Segment?
Segment is a data-collection and routing layer. A site instruments events a single time using Segment's analytics.js library — analytics.track('Order Completed'), analytics.identify(userId), analytics.page() — and Segment forwards those events to whatever destinations the company has enabled: Google Analytics, Amplitude, a data warehouse like Snowflake, an email platform, an ads pixel and so on.
Because it sits upstream of everything else, Segment is a high-signal find. It indicates a company that has deliberately built a unified data pipeline rather than bolting on tools ad hoc, and it often means several downstream platforms are being fed invisibly. CDPs are not cheap or trivial to implement, so their presence reliably marks a data-mature organisation with a real growth or data engineering function.
How Segment loads and routes data
Segment's snippet creates an analytics stub array that queues calls immediately, then loads the real library from a URL that embeds the write key: cdn.segment.com/analytics.js/v1/<write-key>/analytics.min.js. That write key identifies the specific source (a website, say, versus a mobile app).
From there, Segment can operate in two modes. In device mode, Segment loads certain destination libraries (Amplitude, FullStory, advertising pixels) directly in the browser, so you will see those tools' own requests fire. In cloud mode, Segment sends the event to its own ingestion endpoint — api.segment.io/v1/t for track, /p for page, /i for identify — and forwards to destinations server-side, so the only browser beacon you see is to segment.io. Identity lives in first-party cookies ajs_anonymous_id and ajs_user_id, mirrored in localStorage. This dual-mode behaviour is the key to interpreting what you find.
How to tell if a website uses Segment
1. View the page source. Search for segment or analytics.js. The standard snippet defines analytics as a stub array and then loads the real library from a URL containing the write key:
analytics.load("aBcD1234WriteKey");
// loads https://cdn.segment.com/analytics.js/v1/aBcD1234WriteKey/analytics.min.js
2. Check the Network tab. Filter for segment. You will see the cdn.segment.com/analytics.js/v1/<write-key>/analytics.min.js download and, as you interact, tracking calls to api.segment.io/v1/t, /p and /i.
3. Use the console. Type analytics and press Enter. Segment returns an object exposing track, identify, page, group and ready. Checking analytics.SNIPPET_VERSION returns a version string, and analytics.user().anonymousId() returns the visitor ID.
4. Inspect cookies and storage. Look for the first-party cookies ajs_anonymous_id and ajs_user_id, mirrored in localStorage under the same keys.
What the Segment signals look like
GET https://cdn.segment.com/analytics.js/v1/aBcD1234WriteKey/analytics.min.js
POST https://api.segment.io/v1/p {"name":"Pricing","properties":{...},"anonymousId":"..."}
Cookie: ajs_anonymous_id = "b7c1...-..."
The trio of the cdn.segment.com library, the window.analytics global and the api.segment.io beacons is unmistakable.
Segment versus similar tools — avoiding false positives
The main subtlety is the two modes described above. In cloud mode you may see only the api.segment.io beacon and none of the destination tools' requests, which can make the stack look smaller than it is. In device mode Segment loads other libraries directly, which can make it look like the site uses many independent tools when Segment is actually orchestrating them — so attribute device-mode integrations to Segment rather than counting them as separate manual installs. Some companies also self-host or proxy Segment via a custom CDN domain, in which case the window.analytics object and ajs_ cookies remain the reliable signals. Finally, confirm with analytics.SNIPPET_VERSION because analytics is a generic-enough variable name that other scripts occasionally use it.
Why it is worth knowing a site uses Segment
For sales and partnerships, Segment is one of the strongest data-maturity signals you can find: it usually means a well-resourced data or growth team and a stack of downstream tools you can infer and sell alongside. If you sell data warehouses, reverse-ETL, analytics, or marketing platforms, a Segment install marks an ideal-fit account. For competitive intelligence, the destinations a company routes data to (sometimes visible as additional device-mode beacons) reveal its wider toolset and priorities. And for integration or migration work, knowing Segment is the hub fundamentally changes how you plan any analytics or martech change, because you can often re-point a destination rather than re-instrument a site.
How reliable is each Segment signal?
The signal hierarchy is unusually important for Segment because of its dual modes. The cdn.segment.com/analytics.js/v1/<write-key>/ library URL is definitive and bonus-rich, because the write key identifies the exact source. The ajs_anonymous_id/ajs_user_id cookies are close behind. The window.analytics object is strong, but confirm with analytics.SNIPPET_VERSION because analytics is a generic variable name. The api.segment.io/v1/ beacons are definitive when present, but remember that in cloud mode you might see them and almost nothing else, while in device mode you might see destination tools' requests instead — so absence of a segment.io beacon does not rule Segment out. Lead with the cdn.segment.com URL or the ajs_ cookies.
What a Segment install reveals about a company
Few findings are as commercially useful as a CDP. Segment sits upstream of the entire data stack, so its presence tells you the company made a deliberate, non-trivial investment in unifying customer data — which almost always means a real data or growth engineering function and budget to match. The write key in the library URL distinguishes properties, and the device-mode integrations Segment loads expose part of the downstream toolset: spot Amplitude, FullStory, or an ads pixel firing through Segment and you have mapped several tools at once.
For sales, this is gold: anyone selling data warehouses, reverse-ETL, analytics, attribution, or marketing platforms should treat a Segment install as an ideal-fit signal, because the buyer already believes in centralised data. For competitive intelligence, the set of destinations reveals how a rival routes and activates data. And for any integration or migration project, knowing Segment is the hub changes the entire plan — you can often add or re-point a destination centrally instead of re-instrumenting the site, which is a powerful and time-saving realisation to bring to a prospect.
A quick Segment detection checklist
- Filter the Network tab for
segment; thecdn.segment.com/analytics.js/v1/<key>/library is conclusive. - Search the source for
analytics.load("<write-key>"). - Type
analyticsin the console and checkanalytics.SNIPPET_VERSION. - Check cookies/localStorage for
ajs_anonymous_idandajs_user_id. - Note device-mode destinations (other tools loading through Segment) to map the stack.
- Remember cloud mode can hide downstream tools — absence isn't proof of a small stack.
Segment in a modern measurement stack
Segment is the hub of the stack rather than a leaf, which is why detecting it reframes everything else you find. Conceptually, the site collects events once through analytics.js and Segment routes them to destinations: analytics tools (GA4, Amplitude, Mixpanel), advertising pixels, email and lifecycle platforms, and increasingly a data warehouse as the canonical store. So when you confirm Segment, treat every other analytics or pixel request on the page as potentially routed through Segment rather than independently installed — the company may manage them all from one place.
This has practical consequences. A site can switch a destination on or off without touching page code, so the toolset you observe is a snapshot, not a contract. It also means the most important parts of the stack — warehouse loading, server-side destinations, identity resolution — are invisible from the browser, so a Segment find should raise, not cap, your estimate of the company's data sophistication. Modern deployments increasingly run Segment in a warehouse-first, server-side pattern, where the browser does little beyond the initial analytics.js call.
For an auditor, record the write key, the device-mode destinations you can see loading, whether a warehouse or reverse-ETL tool is implied, and which analytics tools coexist. A CDP is one of the highest-value findings in any tech-stack audit precisely because it implies an entire downstream ecosystem you can reason about and sell into.
Detecting Segment at scale
One page is a quick console check. To find every site in a list that runs a CDP, automate the scan. StackOptic detects Segment and thousands of other technologies from a real browser and can surface the wider stack a CDP implies. See how to find out what analytics a website uses and our Segment profile for more.
Frequently asked questions
How do I know if a site uses Segment?
The clearest signal is a script loaded from cdn.segment.com/analytics.js/v1/<write-key>/analytics.min.js. Open the Network tab, filter for 'segment', and you will see both that library and tracking calls to api.segment.io. The write key embedded in the URL identifies the specific Segment source.
What is window.analytics?
window.analytics is the global object Segment's analytics.js library creates. It exposes methods such as analytics.track, analytics.identify and analytics.page. Typing analytics in the console and seeing this object — or checking analytics.SNIPPET_VERSION — confirms Segment is installed.
Where does Segment send data?
Segment's browser library posts to api.segment.io/v1/ with endpoints /t for track events, /p for page calls and /i for identify calls. These requests carry the event name and properties as JSON and are visible in the Network tab as the user navigates.
What cookies does Segment set?
Segment sets first-party cookies named ajs_anonymous_id and, once a user is identified, ajs_user_id. It also mirrors these values in localStorage. Spotting ajs_-prefixed storage is a reliable secondary confirmation even when the network beacon is missed.
What does it mean if a site uses Segment?
Segment is a customer-data platform (CDP) that collects events once and routes them to many downstream tools — analytics, email, ads, warehouses. Finding it means the company has invested in a unified data pipeline and is probably feeding several other platforms behind the scenes, which is a strong signal of data maturity.
Analyse any website with StackOptic
Get the full technology stack, performance, security and SEO report in seconds — free.
Analyse a websiteRelated articles
How to Tell If a Website Uses Heap
Heap (Heap Analytics) autocaptures product events. Detect it via the cdn.heapanalytics.com script, the global heap object, heapanalytics.com beacons and _hp2 cookies.
How to Tell If a Website Uses Foundation
Foundation (by Zurb) is a responsive front-end framework. Detect it via its grid classes (row/columns, grid-x/cell), data-* component attributes and the foundation.css/js files.
How to Tell If a Website Uses Crisp
Crisp is a developer-friendly, affordable live-chat and messaging tool. Detect it via the client.crisp.chat/l.js script, the window.$crisp object and the CRISP_WEBSITE_ID value.