TrueTrackedTrueTracked
Attribution & Tracking

First-party tracking: a complete guide for marketers

First-party tracking collects conversion data through a domain you control. Here is what the browser is actually classifying, what that recovers, and what it does not.

Sharif UjjamanUpdated 10 min read
First-party tracking in 3 stages. An ad click arrives from Meta, Google Ads or TikTok carrying a click identifier, a custom domain the advertiser controls answers the request with a Set-Cookie header, and the browser stores a first-party cookie with a 90 day lifetime
In this article

First-party tracking is the practice of collecting visitor, session and conversion data through a domain you control, rather than through a domain belonging to an ad platform. The browser classifies the resulting requests and cookies as first-party, and applies materially fewer restrictions to them.

That is the whole definition. Everything else is consequence, and one of those consequences is that "first-party" is not saying what most people think it says.

What is first-party tracking?

The common misreading is that first-party data means data you collected yourself. It does not. First-party is a classification the browser applies based on the domain a request is sent to, relative to the page being viewed.

MDN states the rule directly. A cookie is first-party when its "domain and scheme match the current page the user is looking at", meaning "the URL shown in the browser's address bar". Where they differ, the cookie is third-party.

Nothing in that rule mentions ownership. Your customer, your sale, your database, your consent record: none of it enters the decision. The destination domain does.

What is an example of first-party tracking?

A visitor is on yourstore.com and completes a purchase. That single event can travel two ways.

One event, two verdicts. A visitor is on yourstore.com. The same conversion event sent to platform.example is classified third-party because the domain does not match the address bar. The same event sent to data.yourstore.com is classified first-party because it does. 1 event, 2 destinations, 2 different verdicts

Same visitor, same purchase, same payload. Only the destination changed, and only the destination was ever being judged.

This is why a custom tracking subdomain matters more than it sounds like it should. It is not a cosmetic change to a URL. It moves the request across the line the browser is drawing.

What each browser actually does

The restrictions are not uniform, and treating them as one policy is how setups end up solving a problem their traffic does not have.

BrowserWhat it does to cross-site requestsWhat it does to cookies you set
SafariBlocks cookies for cross-site resources by default, since March 2020Caps client-side cookie expiry at seven days, and clears script-writable storage after seven days without interaction
FirefoxBlocks content loaded from domains on its cross-site tracking listUnaffected where the domain is not on that list
ChromeContinues to offer third-party cookie choice, with no standalone prompt plannedUnaffected by a deprecation that did not happen

WebKit's announcement is unambiguous on the first row. "Cookies for cross-site resources are now blocked by default across the board", it says. The same change deletes "all of a website's script-writable storage after seven days of Safari use without user interaction on the site". Firefox blocks "content loaded from domains that track users across sites", from a shipped list.

Third-party cookies did not go away

The third row surprises people, because most content on this subject was written for a deprecation that was called off.

On 22 April 2025, Anthony Chavez, VP of Privacy Sandbox, set out the decision. Google will "maintain our current approach to offering users third-party cookie choice in Chrome, and will not be rolling out a new standalone prompt for third-party cookies."

Read that carefully, because it cuts both ways. There is no deadline to plan around, so anyone selling you urgency about one is selling a date that does not exist. And the loss you are seeing is still real, because it was never mostly coming from Chrome. It comes from Safari's default blocking, from Firefox's list, from ad blockers, and from App Tracking Transparency. Since iOS 14.5 that framework requires permission before an app may "track them or access their device's advertising identifier". Without it, "the device's advertising identifier value will be all zeros".

The seven-day cap most setups miss

Moving collection to your own subdomain gets the request classified first-party. It does not, on its own, decide how long the identifier lasts.

Same domain, different lifetimes. A cookie written by JavaScript through document.cookie is capped by Safari at 7 days. A cookie written by your own server in a Set-Cookie response header can request 90 days. Both sit on the same first-party domain, so the domain alone does not decide the cookie lifetime

Two cookies on one domain, holding the same value. One lasts seven days, the other can ask for ninety. The difference is who wrote them.

WebKit's 2019 change "would cap the expiry of client-side cookies to seven days", and the 2020 change extended the same treatment to script-writable storage generally. A cookie your own server writes in a Set-Cookie response header is not written by script, so it is not what that cap was aimed at.

This is the practical difference between a tracking setup that puts a script on your subdomain and one that answers from a server on it. Both are first-party. Only the second sets the cookie in a response header, which is the part the seven-day cap was never aimed at.

The gap you are actually looking at

Most people arrive at this subject holding a spreadsheet. Meta reports 200 conversions, Google Ads reports 180, and your own back end recorded 250 orders in total.

Two separate things are happening in that gap. The month below is a composite. The amounts are constructed. The arithmetic is the point.

Composite monthConversions
Orders in your own back end250
Meta reported200
Google Ads reported180
Platform totals added together: 200 + 180380
Overcount against your own records: 380 − 250130
Orders your back end holds that no platform reported34

The overcount is overlap, and first-party tracking does not fix it. Each platform reports on itself, under its own window and its own claiming rules. A buyer who saw a Meta ad and later clicked a Google search ad is claimed by both. Why your ad platform ROAS is wrong covers that arithmetic in full.

The last row is loss, and that is the one this is about. Those conversions happened. The reporting path broke.

What it changes, and what it does not

Recovered events are the direct effect. Events that were being dropped now arrive, and reported conversions rise because more of what happened is being recorded, not because more people bought.

The second effect matters more and gets discussed less. Those conversions can be sent back to the ad platform from your server, carrying hashed identifiers such as an email address or an order ID. Better-matched conversions are not only better reporting. They are a better optimization signal, and the platform spends your budget against the signal it receives. Server-side tracking covers that leg, and the Meta Conversions API guide covers one implementation of it end to end.

What first-party tracking addressesWhat it does not
Events lost to cross-site blocking, because the request is no longer cross-siteOverlap between platforms, which is a claiming-rules problem, not a delivery one
Identifier lifetime, where cookies are written by a server rather than a scriptA journey that left no shared identifier anywhere
Conversions recorded after the browser closed, through a server-side recordEach platform still grading its own work in its own interface

Cross-device is the honest limit. A visitor clicks an ad on a phone at lunch and converts on a laptop that evening, and no cookie spans those sessions. Where the conversion carries an email that matches earlier activity, the two can be linked. Where nothing is shared, they cannot, and a tool presenting that link as certain is describing a probability.

One term worth separating before you go further: first-party tracking is this classification question, while first-party data is a question about provenance, meaning information collected directly from your own customers. They are related and they are not the same, and you can own data completely while it still travels as a third-party request.

This is not only an ecommerce problem

Store owners notice first because orders are countable and the gap is obvious. The mechanism is identical for any business running paid ads.

A lead generation advertiser loses form submissions to the same restrictions. A SaaS company loses trial starts. A service business loses booked calls. An agency loses all of the above across every client account it manages. The conversion object changes. Nothing else does.

What implementing it involves

Three components, in order.

  1. Collection from your own domain. A subdomain you control, answering requests and recording page views, ad click identifiers and the events preceding a conversion.
  2. A server-side record of the conversion. A webhook or server call capturing the completed order, lead, booking or subscription with the attribution data attached, independent of whether the browser cooperated.
  3. A send-back to the ad platforms. The conversion delivered server-side to Meta, Google Ads, TikTok, Microsoft Ads or GA4, enriched with first-party identifiers. It shares an event ID with the browser event, so the platform deduplicates rather than double-counts.

Step three is where implementations go quiet rather than loud. Send the same conversion from two sources without a shared event ID and the platform has no way to know they are one conversion. The TikTok Events API guide shows what that pairing looks like where it is done properly.

How TrueTracked does this

TrueTracked collects from a subdomain of your own domain, so the requests carrying your visitor and conversion data are classified first-party rather than cross-site.

On that subdomain it sets cookies server-side, through Set-Cookie response headers rather than from a script, and refreshes them on subsequent visits. The Meta identifiers _fbp and _fbc carry a 90-day lifetime, the TikTok browser identifier 13 months, and a stored TikTok click identifier 30 days. Those are configured expiries rather than guarantees against browser restrictions or a visitor clearing their storage.

The conversion itself is recorded server-side from your store's own order data, so an order still reports when the browser request never fired. Click identifiers captured on arrival are stored against the session and attached to that conversion later. That is what lets a purchase recorded days afterwards still carry the ad click that started it.

The limit worth stating plainly: none of this reaches a visitor who left no identifier at all, and it will not tell you the metaphysically true origin of every sale. Nothing will. First-party server-side tracking is the page that shows the setup, and TrueSignal covers the delivery leg that sends the recovered conversion back.

Where this leaves you

First-party tracking is not a workaround for a temporary privacy change, and it is not a response to a deprecation date, because the most-cited one was cancelled. It is an adjustment to a rule browsers have been applying for a decade and show no sign of relaxing.

Three things decide whether an implementation is worth anything:

  1. Whether the requests genuinely go to a domain you control, since that is the only thing being classified.
  2. Whether the cookies are written by a server rather than by a script, which is what separates seven days from ninety.
  3. Whether the conversion is recorded independently of the browser, so a broken request costs you a signal rather than a sale you never knew about.

Get the first wrong and the other two cannot help. Get all three right and the remaining gap is overlap, which is a different problem with a different answer.

Sources

All five sources checked September 2026, and the TrueTracked details against the product code.

Frequently asked questions

First-party tracking is collecting visitor, session and conversion data through a domain you control rather than through an ad platform's domain. The browser classifies the resulting requests and cookies as first-party and applies materially fewer restrictions to them. The classification depends on the domain the request is sent to, relative to the page the visitor is on, not on who owns the data.

A visitor is on yourstore.com and completes a purchase. A script sends that purchase to platform.example, an ad platform's domain, and the browser classifies it third-party. The same purchase sent to data.yourstore.com, a subdomain you control, is classified first-party. Same visitor, same event, same payload, two different verdicts, decided entirely by the destination.

No, and the two get conflated constantly. First-party data usually means information collected directly from your own customers, which is a statement about provenance. First-party tracking is about the browser's classification of a request's destination domain. You can collect data you own entirely and still have it travel as a third-party request, which is precisely the situation first-party tracking exists to change.

Not in Chrome. Google announced on 22 April 2025 that it will maintain its current approach to third-party cookie choice and will not roll out a standalone prompt. Safari has blocked cross-site cookies by default since March 2020, and Firefox blocks content from domains on its tracking list. So the loss is real, but it is browser-specific rather than a single deprecation date to plan around.

Partly. Collection from your own domain still depends on storage that browsers can restrict or a visitor can clear. What does not depend on the browser is the server-side record of the conversion, which your own systems hold regardless. That is why a complete setup pairs first-party collection with a server-side record rather than relying on either alone.

Only where a shared identifier exists. A visitor who clicks an ad on a phone and converts on a laptop leaves no cookie spanning the two sessions. If the conversion carries an email address that matches earlier activity, the sessions can be linked. If it carries nothing in common, they cannot, and any tool presenting that link as certain is describing a probability.

About the author

Sharif Ujjaman, Founder of TrueTracked

Sharif Ujjaman

Founder of TrueTracked · Tracking, Attribution and Paid Ads Specialist

Seven years implementing conversion tracking and attribution for businesses running paid ads, most of it fixing measurement that was already broken.

Get started

Track smarter. Grow faster.

Get clear insights into what drives your sales with TrueTracked.

14-day free trial · No credit card required