On this page
What is first-party tracking?
First-party tracking is the collection of user behavior and conversion data through your own domain, SDK, or server infrastructure, not through third-party pixels or scripts placed by ad networks. You own the data, the collection mechanism, and the pipeline that forwards those signals to ad platforms.
The distinction matters because the ad tech ecosystem spent a decade running on third-party tracking: ad networks dropped cookies on publisher domains, those cookies fired conversion pixels when users completed purchases or registrations, and the network claimed credit. That architecture is now broken. Apple removed IDFA access in iOS 14.5, Safari has blocked third-party cookies since 2020 via Intelligent Tracking Prevention (ITP), Firefox blocks them by default, and Chrome's deprecation timeline, while repeatedly delayed, remains in motion. The result: teams relying on third-party tracking are running campaigns on a reported conversion base that may be 30 to 50 percent smaller than reality.
First-party tracking rebuilds that signal pipeline under your control. Your SDK fires the event. Your server receives it. Your server sends it to Meta CAPI, Google Enhanced Conversions, TikTok Events API, or whichever platform you use. The ad network gets the signal it needs to optimize bidding, but the data never passes through a third-party cookie or a network-owned pixel that a browser can block.
BeFreed reduced CPI by 38% after switching to server-side first-party event forwarding. That result required nothing more than getting clean, complete conversion signals into Meta's optimization model instead of a degraded signal that was underselling their real conversion rate.
First-party vs. third-party tracking: what actually changed
The degradation of third-party tracking happened in stages, each driven by a different platform decision. Understanding the sequence matters because it explains why first-party tracking is not just a best practice. It's now the minimum viable setup for any team running paid acquisition.
Safari's ITP rollout (2017 to 2020). Apple introduced ITP in Safari 2.0 in 2017, initially targeting cross-site tracking cookies. By ITP 2.3 and ITP 2.3.1, Safari was capping all client-set first-party cookies to a 7-day expiry and blocking script-writeable storage for domains that Safari classified as trackers. This meant even first-party cookies written by JavaScript were being expired aggressively. The restriction that most teams miss: Safari's 7-day cap applies to first-party cookies set by client-side JavaScript, not just third-party cookies. A user who installs your app on Monday and converts the following Tuesday still falls outside the attribution window if you're relying on client-set cookies.
iOS 14.5 and ATT (April 2021). Apple's App Tracking Transparency framework required apps to request explicit user consent before accessing IDFA (the device advertising identifier). Opt-in rates settled around 25 to 30 percent across most app categories, meaning roughly 70 percent of iOS users became unattributable through device-level tracking. SKAdNetwork (SKAN) became the fallback. But SKAN operates on a delayed, aggregated reporting model with a 24-to-48-hour conversion value reporting window, no user-level data, and a coarse conversion schema that strips much of the behavioral signal teams need for bidding optimization.
Chrome's third-party cookie deprecation. Google has been preparing to remove third-party cookies from Chrome since 2019. The timeline has shifted multiple times but the direction has not. For web-based acquisition flows or cross-platform retargeting, teams that haven't moved to cookieless tracking architectures are building on infrastructure that has an explicit deprecation date.
Here's how the three tracking approaches compare in the current environment.
First-party cookies (client-side). Set by your own domain's JavaScript. Not blocked by most browsers in first-party context, but subject to Safari ITP's 7-day expiry cap for script-set cookies. Survives Chrome's third-party cookie removal. Partially survives iOS restrictions for web-to-app flows. Effective for most desktop web attribution, limited for mobile-heavy audiences.
Server-side first-party tracking. Events collected by your server and forwarded to ad platforms via conversion APIs (Meta CAPI, Google Enhanced Conversions, TikTok Events API). Not subject to browser restrictions, ad blockers, cookie expiry caps, or iOS ATT consent requirements. The most durable form of conversion tracking available in 2026. Requires server infrastructure but is now table stakes for any team spending meaningfully on paid.
Third-party tracking. Relies on third-party cookies or pixels placed by ad networks. Blocked by Safari, Firefox, most ad blockers, and partially restricted on iOS. Conversion reporting through this mechanism can undercount by 30 to 60 percent depending on audience demographics and device mix. Not viable as the primary attribution mechanism for any app or game with significant iOS user share.
Why first-party tracking matters for app and game teams specifically
Mobile app and game teams feel the tracking degradation more acutely than web-only businesses. The reason comes down to the combination of iOS dominance in high-LTV segments and the bidding architecture of mobile performance campaigns.
Meta's Advantage+ and Google's App campaigns are both bid-optimization systems trained on conversion signals. Feed them clean, complete conversion data and they improve. Feed them degraded signals, conversions undercounted because IDFA is absent, because ATT consent was denied, because the pixel fired on a Safari session that ITP expired, and their bidding models optimize toward the wrong users. The campaign doesn't just report fewer conversions. It actively gets worse at finding the users who convert.
Playco, a mobile gaming studio, cut CPI by 31% and achieved 5.7x creative throughput after deploying a complete first-party event pipeline through X-Ray's server-side attribution architecture. The creative throughput gain came from having clean enough conversion signals that their bidding system could actually distinguish between creative variants. That distinction is impossible when 40 to 50 percent of conversions are going unreported and the model is working with statistical noise.
For game teams specifically, the stakes are higher than for subscription apps because gaming acquisition is almost entirely ROAS-dependent. A subscription app can absorb imprecise attribution by measuring D30 retention and LTV at the cohort level. A game studio running UA at scale lives and dies by CPI and D7 ROAS, both of which require conversion-level precision that degraded tracking cannot provide.
SKAdNetwork makes this worse, not better. SKAN's coarse conversion values (a 6-bit integer, 64 possible values) force teams to map their entire behavioral funnel into a tiny schema. Teams that don't have a complete server-side first-party event pipeline to complement SKAN end up with a conversion model that tells them a user "reached conversion value 12" and nothing else. Server-side analytics layered on top of SKAN is the only way to build a conversion funnel that's actually useful for optimization.
Client-side vs. server-side first-party tracking: the critical distinction
Most teams who implement first-party tracking stop at client-side first-party cookies and assume they've solved the problem. They haven't. The client-side vs. server-side distinction is the most important technical decision in first-party tracking architecture, and it's the one most guides don't make clearly.
Client-side first-party tracking works like this: your website or web app fires a JavaScript event when a conversion happens. That event writes a cookie or pushes data to a local analytics SDK. The pixel or tag manager then reads that data and sends it to the ad platform. The collection mechanism is entirely in the browser.
Server-side first-party tracking works like this: your app or site sends conversion event data to your own server. Your server validates, deduplicates, and forwards that data directly to ad platform conversion APIs. The browser is not involved in the reporting step. The data travels from your server to Meta's servers, Google's servers, or TikTok's servers, never through a browser that could block, expire, or restrict it.
The practical difference is substantial. Here's what each approach survives.
Safari ITP's 7-day cookie expiry. Server-side bypasses this entirely. Client-side cookies written by JavaScript, even on your own domain, are subject to ITP's cap. If a user's Safari session cookie expires before they convert, the attribution window closes. Server-side tracking doesn't use browser cookies in the reporting path at all, so the 7-day cap is irrelevant.
Ad blockers. Server-side bypasses most ad blockers. Client-side pixels are blocked by uBlock Origin, Ghostery, and browser-native ad blocking in Brave and Firefox. Because server-side requests originate from your server rather than from a client-side script, most blocklists don't apply.
iOS ATT consent requirement. Server-side is not affected by ATT for events already captured. ATT governs device-level tracking (IDFA access). Events you collect through your own app SDK, installs, opens, purchases, don't require ATT consent to be recorded on your server. What ATT restricts is sending IDFA to third-party networks. Server-side event forwarding can still send hashed email, phone, or click ID (Meta's fbclid, Google's gclid) as match keys without requiring IDFA.
Network-level blocking. Server-side is transparent to network-level filters. Some enterprise and carrier networks block third-party tracking scripts at the network layer. Server-to-server API calls from your infrastructure don't go through the user's browser network path and aren't subject to these filters.
In practice, a team running pure client-side first-party tracking on an audience that's 60 percent iOS and 40 percent Safari desktop might still be undercounting conversions by 20 to 35 percent because of the combination of ITP expiry and ATT coverage gaps. The same team running server-side first-party tracking, collecting events through their app SDK or server, forwarding via Meta CAPI and Google Enhanced Conversions, typically recovers 15 to 40 percent of that lost signal.
X-Ray's tracking architecture is built around server-side first-party collection specifically because of this ceiling. Client-side tracking has a hard accuracy limit imposed by browser vendors and Apple's privacy frameworks. Server-side collection doesn't share that ceiling, which is why it's the right architecture for teams where attribution precision directly determines bidding efficiency and CPI.
This distinction is also what separates durable first-party infrastructure from a short-term fix. Browser vendors will continue tightening client-side restrictions. Apple will not roll back ATT. Server-side first-party tracking is not a workaround. It's the stable long-term architecture.
How first-party tracking works technically
The data flow in a server-side first-party tracking setup has four stages: collection, enrichment, forwarding, and deduplication.
Collection. Your app SDK or server-side code captures the raw conversion event. For mobile apps, this typically means your app fires an event to your analytics endpoint when a user completes a purchase, activates a subscription, or hits a retention milestone. For web flows, your server captures the POST request that completes a checkout or registration. The key requirement at this stage is that you capture the event with enough context to match it back to a specific ad click: the click ID (Meta's fbclid, Google's gclid, TikTok's ttclid), or a hashed identifier (SHA-256 email or phone) that the ad platform can match against their records.
Enrichment. Before forwarding, your server enriches the event with any data the client didn't send: order value, product category, predicted LTV tier, or subscription plan. This step matters because ad platforms use these signals for value-based bidding. A purchase event forwarded with just a binary conversion flag gets used differently than one forwarded with a revenue value and a product category tag.
Forwarding. Your server sends the enriched event to each ad platform's conversion API. Meta CAPI accepts events via a POST to graph.facebook.com/v19.0/{pixel_id}/events. Google Enhanced Conversions accepts events via the Google Ads API or Google Tag Manager's server-side configuration. TikTok Events API accepts events at business-api.tiktok.com/open_api/v1.3/event/track/. Each platform expects a slightly different event schema and uses different match keys, so the forwarding layer needs to normalize across them.
Deduplication. Because you're typically running both client-side tracking (for redundancy) and server-side forwarding, you'll send some events through both paths. Ad platforms deduplicate on event ID: if you assign a unique event_id to each conversion and send the same ID through both the client pixel and the server API, the platform counts it once. Without deduplication, your conversion numbers inflate and your bidding models overfit. The event tracking monitoring layer sits across all four stages, verifying that events are firing, enrichment is running without data loss, forwarding is completing within acceptable latency, and deduplication is catching the right duplicates.
What first-party data you should be collecting
Not all first-party events carry equal signal value for bidding optimization. The priority depends on how closely each event correlates with the outcome the bidding model is trying to predict and how frequently it occurs.
Install. The first event in any app acquisition funnel. Every attribution platform captures this, but it's the baseline. What matters for first-party purposes is that your server, not just the ad network's SDK, records the install with the click ID attached so you can match it back to a specific campaign and creative.
First open (first meaningful session). For apps with a meaningful onboarding flow, the first open that includes a completed onboarding step is a better signal of install quality than the raw install event. A user who launches an app and immediately churns is not the same as one who completes tutorial. Send both to give your models the ability to learn the difference.
Tutorial completion or onboarding completion. For game teams, this is the clearest early proxy for D7 retention. Users who complete the tutorial convert to payers at 3 to 5x the rate of users who don't. If you're not sending this event as a first-party conversion signal, you're leaving your bidding model with install as its only early indicator, which is too blunt for any meaningful creative or audience optimization.
First purchase or first subscription activation. The highest-value early conversion event. For iOS, this is also the SKAN conversion value that generates the most useful SKAdNetwork reporting. Map this to your conversion value schema explicitly so SKAN reporting aligns with what you're sending server-side.
Subscription renewal or second purchase. Underused by most teams. Sending repeat purchase events as conversion signals lets platform bidding models optimize toward users who don't just convert once but stick. For subscription apps, this is the difference between optimizing for trial starts and optimizing for retained subscribers. The marketing attribution without cookies guide covers how to build this longer attribution window without relying on cookie-based matching.
D3 and D7 retention events. Secondary in priority but important for LTV modeling. These events don't influence SKAN conversion windows (which close within 24 to 48 hours for most apps), but they feed your own attribution model and help you build the cohort quality picture that determines where to allocate budget next month. The right attribution software can use these events to model predictive LTV by cohort without requiring user-level identity across sessions.
How to implement first-party tracking for your app
Step 1: Audit what you're currently collecting and where. Before adding anything, map every conversion event your ad platforms currently see and the path it takes to get there. Most teams discover a patchwork: some events fire from a client-side pixel, some from an MMP (mobile measurement partner) like Appsflyer or Adjust, some from a manual server integration that was set up for one campaign and never formalized. Identify which events are going through paths that iOS ATT or browser restrictions can interrupt.
Step 2: Set up server-side event collection. Choose the layer where events land before forwarding: your existing backend, a customer data platform with server-side event routing, or a dedicated event ingestion service. The requirement is that your server receives the raw event with the click ID (Meta fbclid, Google gclid, TikTok ttclid) attached so you can use it as a match key. For web flows, capture the click ID from the landing page URL at session start and store it in a server-side session, not in a client-side cookie that ITP will expire.
Step 3: Integrate with platform conversion APIs. Meta CAPI is the highest-priority integration for most app teams because Meta's bidding model degrades most visibly when conversion signals are incomplete. Google Enhanced Conversions is the parallel integration for search and YouTube campaigns. TikTok Events API matters if you're running meaningful TikTok spend. Each integration requires API authentication, event schema mapping, and a test event tool to verify events are arriving and matching correctly. Meta's Test Events tool and Google's Tag Assistant both surface matching rate. You want a match rate above 80 percent before treating an integration as production-ready.
Step 4: Implement event ID deduplication. Assign a unique, deterministic event ID to every conversion before sending. The ID should be based on something stable (order ID, subscription ID, a hash of user ID plus event type plus timestamp) rather than a random UUID that changes if the same event fires twice. Pass this ID in both your client-side pixel and your server-side API call. Platforms deduplicate on this field. Without it, you'll double-count conversions and inflate your reported ROAS.
Step 5: Set up monitoring and alerting. The most common failure in first-party tracking infrastructure is silent: an API credential rotates and stops authenticating, a schema change causes events to drop silently, a deduplication rule starts matching too aggressively and suppressing legitimate conversions. None of these failures produce an obvious error. They produce gradual, unexplained undercount, which looks identical to an actual drop in conversion rate until you dig into the event pipeline. Teams using best performance marketing tools that include pipeline health monitoring catch these failures within hours rather than weeks.
In practice, the teams that get all five steps right are the ones whose bidding systems actually improve month over month. The teams that implement steps 1 through 3 but skip monitoring are the ones who notice a CPI increase four weeks later and can't explain it because they have no visibility into whether their conversion signals were complete during that period.
The same principle applies to the analytics layer. Best marketing analytics tools for app teams all assume complete first-party event infrastructure is in place. The analytics layer is only as good as the event collection layer beneath it.
Author's Comment
"The client-side vs. server-side distinction is the one that actually changes campaign economics, not just attribution accuracy. When Playco's conversion signal was degraded by ATT coverage gaps, their Meta bidding model was optimizing against statistical noise. X-Ray's server-side collection fixed the input to the model, which is why CPI dropped 31% without changing a single creative. The infrastructure choice is the performance lever most UA teams aren't pulling."
Jay Ma, Growth Infrastructure Lead, Hell Yeah AI
Frequently asked questions
What is first-party tracking?
First-party tracking is the collection of user behavior and conversion data through your own domain and infrastructure, rather than through third-party ad network pixels or cookies. Data is collected directly from your app or website via your own SDK or server, then forwarded to ad platforms via conversion APIs. It is fully compliant with privacy regulations and is not affected by browser blocking or iOS tracking restrictions.
How is first-party tracking different from third-party tracking?
Third-party tracking relies on scripts and cookies placed by external ad networks on your domain, allowing them to track users across sites they do not own. First-party tracking uses your own domain and infrastructure to collect data. Third-party cookies are being deprecated by major browsers and restricted by iOS privacy frameworks. First-party data collected server-side is not subject to these restrictions and produces more complete, more accurate attribution.
Does first-party tracking solve the iOS 14.5 attribution problem?
First-party tracking significantly reduces the iOS 14.5 attribution gap but does not eliminate it entirely. Server-side first-party event collection forwards conversion signals to Meta CAPI, Google Enhanced Conversions, and other platform APIs, recovering 15 to 40 percent of conversions that client-side tracking loses. However, first-party cookies set by the browser are still subject to Safari ITP's 7-day expiry cap. Server-side first-party tracking, which collects and forwards events entirely from your server, avoids this cap entirely.
What is server-side first-party tracking?
Server-side first-party tracking is the collection of conversion events at your server layer rather than in the user's browser or app client. Events are captured on your server and forwarded directly to ad platform conversion APIs, bypassing browser restrictions, ad blockers, and iOS privacy limits. It produces more complete conversion data than client-side first-party tracking because it is not subject to cookie expiry, script blocking, or ATT consent.
Which events should app teams send as first-party conversion signals?
App teams should prioritize install, first open, tutorial completion, first purchase, and subscription activation as their core first-party conversion events. These events carry the highest signal value for iOS SKAN4 bidding and Meta CAPI optimization. D3 and D7 retention events are secondary priorities and matter for LTV modeling once base conversion signals are flowing cleanly.
Related guides
- Cookieless Tracking for App Teams — How to structure a full measurement stack that works without third-party cookies at any stage.
- Server-Side Analytics: How It Works and When to Use It — Technical breakdown of server-side event collection pipelines for teams evaluating the architecture tradeoffs.
- How to Fix Broken Conversion Tracking — The most common event pipeline failure modes and how to diagnose them before they distort bidding models.
- Attribution Software for Mobile Apps — Comparison of MMP and server-side attribution platforms for app teams that need accurate conversion measurement.
Frequently asked questions
What is first-party tracking?
First-party tracking is the collection of user behavior and conversion data through your own domain and infrastructure, rather than through third-party ad network pixels or cookies. Data is collected directly from your app or website via your own SDK or server, then forwarded to ad platforms via conversion APIs. It is fully compliant with privacy regulations and is not affected by browser blocking or iOS tracking restrictions.
How is first-party tracking different from third-party tracking?
Third-party tracking relies on scripts and cookies placed by external ad networks on your domain, allowing them to track users across sites they do not own. First-party tracking uses your own domain and infrastructure to collect data. Third-party cookies are being deprecated by major browsers and restricted by iOS privacy frameworks. First-party data collected server-side is not subject to these restrictions and produces more complete, more accurate attribution.
Does first-party tracking solve the iOS 14.5 attribution problem?
First-party tracking significantly reduces the iOS 14.5 attribution gap but does not eliminate it entirely. Server-side first-party event collection forwards conversion signals to Meta CAPI, Google Enhanced Conversions, and other platform APIs, recovering 15 to 40 percent of conversions that client-side tracking loses. However, first-party cookies set by the browser are still subject to Safari ITP's 7-day expiry cap. Server-side first-party tracking, which collects and forwards events entirely from your server, avoids this cap entirely.
What is server-side first-party tracking?
Server-side first-party tracking is the collection of conversion events at your server layer rather than in the user's browser or app client. Events are captured on your server and forwarded directly to ad platform conversion APIs, bypassing browser restrictions, ad blockers, and iOS privacy limits. It produces more complete conversion data than client-side first-party tracking because it is not subject to cookie expiry, script blocking, or ATT consent.
Which events should app teams send as first-party conversion signals?
App teams should prioritize install, first open, tutorial completion, first purchase, and subscription activation as their core first-party conversion events. These events carry the highest signal value for iOS SKAN4 bidding and Meta CAPI optimization. D3 and D7 retention events are secondary priorities. They matter for LTV modeling once base conversion signals are flowing cleanly.

Co-founder
Co-founder of Hellyeah. Writes about building durable growth loops that compound over time.
