---
title: "Mobile Attribution Windows: Click, View, Cohort, Postback"
description: "Click windows, view-through windows, install cohorts, and SKAdNetwork postbacks are four different rules. What six ad platforms document, verified August 2026."
canonical: "https://lemon-ai.com/resources/ad-network-attribution-windows"
markdown_url: "https://lemon-ai.com/resources/ad-network-attribution-windows.md"
language: "en"
image: "https://lemon-ai.com/og/resource-ad-network-attribution-windows.png"
image_alt: "A click window, an install cohort, a conversion lag bucket, and a SKAdNetwork postback window measured from four different anchor points."
date_published: "2026-08-15"
date_modified: "2026-08-15"
authors: ["Gregory Potemkin"]
schema_types: ["Article","BreadcrumbList","Organization","Person","WebApplication","WebPage","WebSite"]
---

# Mobile Attribution Windows: Click, View, Cohort, Postback

Attribution window comparison

Click windows, view-through windows, install cohorts, and SKAdNetwork postbacks are four different rules. What six ad platforms document, verified August 2026.

![Gregory Potemkin](https://lemon-ai.com/images/join-us/gregory.webp) 

By [**Gregory Potemkin**](https://lemon-ai.com/authors/gregory-potemkin)  
Founder & CEO  
Published August 15, 2026 

**Before you compare an outcome column across two ad platforms, you need three facts about each one: what its horizon is anchored to, who performed the attribution, and when the number stops changing.** Those three answers differ enough across platforms that two columns both labeled D7 can measure different things, be credited by different systems, and settle on different schedules.

This page maps all three for AppLovin, Meta, Google Ads, Unity Ads, Mintegral, and Kayzen from each provider’s own documentation, verified on August 15, 2026, and it records what the documentation leaves undefined.

![Four timelines share one day scale. A click window starts at the ad and measures how late a conversion may arrive. An install cohort starts at the install and measures the user's age. A conversion lag bucket starts at the interaction and groups conversions by delay. A SKAdNetwork conversion window starts at first launch and closes on days 2, 7, and 35.](https://lemon-ai.com/images/resources/attribution-basis-clocks.svg) 

Four anchors, one shared day scale. Only the install cohort is a statement about how mature a user is.

## What is an attribution window?

An attribution window is a credit rule. It sets how long after someone sees or clicks an ad a resulting install or purchase may occur and still be counted for that ad. It answers “does this conversion belong to this ad,” and nothing else.

The two common forms:

- A **click-through window** counts a conversion when the person clicked the ad first. Seven days is the most common setting in this set, and it is the click half of Meta’s API default.
- A **view-through window** counts a conversion when the person saw the ad but did not click. View windows are set much shorter than click windows because an impression is weaker evidence of intent than a click. Twenty-four hours is the common value here: AppLovin’s MMP setup guides instruct advertisers to configure a 24 hour view-through lookback minimum, and one day is the view half of Meta’s API default.

Two other rules get printed in the same columns and are not attribution windows at all:

- A **cohort horizon** is a maturity rule. D7 revenue means the revenue produced by users through their seventh day, whenever they installed. It measures how long you have been watching a user, not whether an ad deserves credit.
- A **conversion lag bucket** groups conversions by how long they took to arrive, so it describes a delay distribution rather than a credit boundary or a user age.

The party that sets each rule varies. On Meta and Google Ads you set the window inside the ad platform. On AppLovin, Unity Ads, Mintegral, and Kayzen the window lives on the tracking link your mobile measurement partner generates, so the setting is in the MMP and the platform publishes minimums or nothing at all. That is why “just align your attribution windows across your platforms” is incomplete advice: for four of these six there is no platform-side window in the dashboard to align.

## Why two D7 columns can measure different things

**Install cohorts.** AppLovin’s advertiser [Reporting API](https://support.applovin.com/en/growth/promoting-your-apps/api/reporting-api) documents `roas_«x»` and `total_rev_«x»` for spans of 0d, 1d, 2d, 3d, 7d, 14d, 28d, 30d, 90d, and 1y. [Unity Ads](https://docs.unity.com/grow/en-us/acquire/reporting/dashboard/metrics) documents D0, D1, D3, D7, D14, D21, and D28 with separate IAP ROAS and total ROAS. [Kayzen](https://developers.kayzen.io/reference/supported-parameters) exposes `cohort_revenue`, `cohort_roas`, and `cohort_arpu` at cohort days 0, 1, 3, 7, 14, and 30\. In all three, seven days means the user’s seventh day.

**Click windows.** Meta’s `action_attribution_windows` parameter takes `1d_click`, `7d_click`, and `28d_click` among others, and its [reference](https://developers.facebook.com/docs/marketing-api/reference/ad-account/insights/) states that “the `default` option means `["7d_click","1d_view"]`”. Seven days there is a tolerance for delay. Meta also lets you choose which date the conversion lands on: with `action_report_time=impression`, someone who “saw the ad on Jan 1st but converted on Jan 2nd” shows a conversion on January 1, and with `action_report_time=conversion` the same event shows on January 2.

**Conversion lag.** Google Ads counts an app install “if people who click on the ad install the app within 30 days,” and for engaged views, “app download conversions are counted only if the install happens within 2 days of the engagement.” Its reporting segments conversions by how long they took rather than by user age.

A D7 ROAS column fed by more than one of these stacks three different questions.

There is a documentation gap worth knowing here. In its **web** product documentation only, AppLovin defines D0 as “purchases that occur in the 24 hours following the attributed ad engagement” and D7 as “purchases that occur in the 192 hours following an AppLovin ad click.” The app advertiser Reporting API describes the same shaped columns only as covering “a particular time span.” Whether the web definitions govern the app columns is not documented.

## Who performed the attribution?

**Meta and Google Ads attribute their own conversions.** Meta measures through its own app events and install referrer, with MMPs positioned as an integration path. Google Ads documents three paths: codeless Google Play tracking, Firebase and Google Analytics key events, and importing conversions from a third-party App Attribution Partner. On that last path Google is direct about the risk this page is about, advising that “it’s critical that conversion windows are aligned to reduce additional variance.” Which attribution prevails when two paths disagree is not stated.

**AppLovin and Unity Ads require an MMP.** AppLovin states that “for you to run campaigns in AppLovin Ads, you must configure mobile tracking with a mobile measurement partner (MMP),” and its revenue column carries the dependency in the field definition: `sales` is the “count of attributed sales events (requires revenue postbacks).” Unity is equally explicit: “Unity requires advertisers to integrate a third-party attribution service, or mobile measurement partner (MMP),” and “if the user installs and opens the app, your MMP sends an install event to Unity.” Unity also draws the boundary for disputes: “for any discrepancies relating to impressions or spend, you can consider Unity as the source of truth,” while “if installs appear on your attribution partner’s (MMP) dashboard, but not on the Unity Dashboard, Unity may not be receiving the correct install postbacks for your campaign.” Delivery is Unity’s to state, installs are not.

**Kayzen, a DSP rather than a network, publishes both numbers at once.** Its reporting API takes an attribution source of `mmp`, `self`, or `assisted`, defaulting to `mmp`. Its help centre explains what the self-attributed figure is: “self-attributed numbers show the installs or post-install events Kayzen attributed to your campaigns using a self-attribution mechanism, similar to that of facebook, Google and other SANs (so called Self-Attributing Networks),” adding that “self-attribution numbers rely on device IDs and hence are only available for device ID traffic.” The `assisted` measure is documented as the relative difference between the two, expressed as a percentage. Being able to see both numbers and the gap between them is a useful property, because on every other platform in this set that gap exists and is invisible.

**Mintegral** documents the mechanism rather than a window: “after receiving the installation activation or event reporting, the advertiser or the third-party platform will run the attribution process and postback to the Mintegral platform if it is a match.”

A postback is not simply accepted and counted, which is the detail most often missed. Unity documents its own logic on top of the incoming event: “Unity returns an install status of `false` if the user has already been attributed (to avoid repeat charges for a single user), or if Unity could not attribute the user to a campaign view.” So even where the MMP supplies the event, the platform still applies deduplication and its own match requirement before the install appears in your dashboard. How much of that logic each of the other platforms applies is not documented, and that is one reason platform-side and MMP-side counts differ on the same account in the same week.

## What your MMP does not normalize

The reasonable objection to everything above is that an MMP already resolves it, so a UA team should read the MMP and ignore platform dashboards. Use an MMP, and treat it as the reconciliation layer. It still leaves four things untouched.

**The optimizer bids on the platform’s own signal.** Every platform optimizes against the conversions it can see, not against your MMP’s view. When you are diagnosing why a campaign bought what it bought, the platform’s own column is the relevant number, and it carries whichever basis the table below gives it.

**Modeled and aggregated conversions have no MMP record.** Google documents modeled conversions that estimate event-level performance and are “subject to delays up to 5 days,” alongside SKAdNetwork data and its in-app conversion measurement. Meta offers Aggregated Event Measurement for iOS users who opted out of tracking. An MMP cannot normalize a conversion it never received.

**Cross-platform claims still appear on each dashboard.** Deduplication happens in the MMP, under its own priority rules. The platform dashboards you are comparing each still show the claim they made, which is why the dashboards sum to more than the MMP total. That is expected behavior, not evidence of a fault.

**Re-engagement and re-attribution windows count separately.** Re-attribution has its own window, typically much longer than the install window, and it governs whether a returning user is credited as new. Any comparison that mixes user acquisition and retargeting inherits that rule too.

## On iOS the anchor moves again

SKAdNetwork is a fourth anchor, and it is the one that breaks the most comparisons. Apple’s own documentation defines the mechanics precisely.

Postbacks arrive in up to three conversion windows, and the clock does not start at install. Apple: “the conversion window begins when the user first launches the app. The first conversion window spans days 0 to 2; the second window spans days 3 to 7; and the third window spans days 8 to 35.” Install to first launch is a separate allowance of up to 60 days.

Three properties of that pipeline change how any iOS outcome column should be read:

1. **The value is a symbol whose meaning the advertiser chose.** A fine conversion value is “an unsigned 6-bit value `≥0` and `≤63`” and a coarse value is `low`, `medium`, or `high`. Apple states plainly that “these constants have no special meaning. The app or ad network can define their meaning.” Critically, the fine value exists only in the first window: “the method ignores the `fineValue` after the first conversion window.” Anything resembling a day-7 figure rests on a three-valued coarse symbol.
2. **Nothing in the postback carries revenue, a timestamp, or a user.** Apple’s parameter list is explicitly exhaustive, and it contains no revenue, price, currency, or date field. You cannot recover from a postback when the install happened, so calendar cohorting of postbacks is not supported by any documented field.
3. **The sample is censored, and the censorship is invisible.** Apple assigns each download a postback data tier serving “crowd anonymity.” At the lowest tier the conversion value is withheld entirely, and “for ads in Tier 0, the system doesn’t send a second or third postback.” Apple publishes no threshold for any tier and marks its own illustration of them as “for illustrative purposes only,” so the size of what is missing cannot be estimated from the documentation.

Add the delivery schedule, where Apple applies a random delay of 24 to 48 hours before the first postback and 24 to 144 hours before the second and third, and a day-7 signal lands somewhere between day 8 and day 13 after first launch.

The conclusion follows directly and is worth stating without hedging: a SKAdNetwork-derived “D7 revenue” figure is a private mapping applied to a three-valued symbol over a censored, time-shifted sample. It can rank campaigns usefully under a fixed mapping. It is not a cohort measurement, and the recipient cannot audit it. A platform may also hold genuine day-7 revenue from its own SDK or from your server-side data, which is a different path and is not constrained by any of the above. Both get reported under the same label, so make the platform tell you which one you are reading.

Apple has not deprecated SKAdNetwork, but it now directs developers to the newer framework: “use AdAttributionKit for app ad campaigns on the App Store and alternative marketplaces.” AdAttributionKit repeats the same window boundaries and the same randomized delays, so migrating changes the framework and not the measurement limits above.

## Six platforms compared

Every value below was read from the provider’s own documentation on August 15, 2026\. Providers change defaults, so treat that date as part of the data.

| Platform (verified 2026-08-15) | Outcome horizon anchored to                                              | Who attributes                                                                     | Timezone                                                                                           | When figures stop changing                                                                                                 | Max date range per API request                                                               |
| ------------------------------ | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| AppLovin                       | Install cohort, 0d to 1y                                                 | MMP required; revenue needs postbacks                                              | UTC                                                                                                | Asset Reporting API: prior day stable after 06:00 UTC. Advertiser API: not stated                                          | 45 days                                                                                      |
| Meta                           | Impression or conversion date, 1d/7d/28d click and view                  | Meta’s own attribution                                                             | Ad account timezone                                                                                | Insights “do not change after 28 days of being reported”                                                                   | No short limit; reach withheld from broken-down queries older than 13 months                 |
| Google Ads                     | Interaction date; 30-day click to install, 2-day engaged view            | Google Play, Firebase and Google Analytics, or an imported App Attribution Partner | Account timezone                                                                                   | 1-hour freshness objective on clicks, impressions, and last-click conversions; later updates possible, no end point stated | Not stated generally                                                                         |
| Unity Ads                      | Install cohort, D0 to D28                                                | MMP required                                                                       | Not stated on the live metrics reference                                                           | Not stated                                                                                                                 | Statistics API reference unavailable at time of check                                        |
| Mintegral                      | Cohort report in the dashboard; both documented APIs carry delivery only | Advertiser or third party attributes, then posts back on a match                   | API parameter defaults to “+8”; dashboard defaults to account timezone; budget reset follows UTC-8 | Not stated. Advanced API data available about 1.5 hours after the day; dashboard cites a 2 to 3 hour delay                 | Advanced: 7 days per request within about 180 days. Basic: 8 days per request within 30 days |
| Kayzen (DSP)                   | Install cohort, days 0, 1, 3, 7, 14, 30                                  | Selectable: MMP (default), self, or assisted                                       | Not stated generally; UTC required for unique\_users\_v2 and new\_uniques                          | Not stated. Conversion events documented as taking up to two hours to appear in the UI, in a campaign-testing guide        | Not stated                                                                                   |

Two notes that do not fit in a cell. AppLovin reports no outcome field whatsoever at individual asset grain, which is why creative-level ROAS cannot come from its documented APIs alone; the [AppLovin creative reporting guide](https://lemon-ai.com/resources/applovin-creative-reporting) covers that boundary in full. And Mintegral’s revenue and ROAS appear in its dashboard cohort report but in neither documented Reporting API metric set, so a team automating against the API receives delivery metrics only.

## The first read of a recent week is structurally low

This needs no invented data, only arithmetic. Take a seven day reporting window and read its D7 column on the morning of day eight. The cohort that installed on day one is seven days old and has a complete D7 value. The cohort that installed on day seven is one day old. Cohort ages across the week run 7, 6, 5, 4, 3, 2, 1, averaging four of the seven days required.

If a cohort’s day-7 revenue accrued evenly across its seven days, the week’s observed D7 figure would sit near four sevenths, about 57 percent, of where it will land. Revenue usually front-loads, with day zero the largest single day, so in most accounts the real figure is higher than that. The direction is what matters: on the first read, a recent week is incomplete by construction, and the deficit comes from the calendar rather than from the creative.

A click-window column is also incomplete on day eight, for an unrelated reason. Impressions served late in the week can still receive credit for conversions that occur later, and those conversions are written back onto the original impression dates. The cohort column fills in as users age. The click-window column changes rows you already read.

The two failure modes need different responses. A cohort column needs you to wait. A click-window column needs you to re-read. A team that applies the cohort instinct to a click-window platform will keep acting on numbers that moved after the meeting.

## Compare a platform against itself first

1. **Compare a platform against itself over time.** Same anchor, same authority, same settling behavior. This comparison almost always holds and is the one most teams under-use.
2. **Across platforms, compare only on the same anchor.** Two install cohort D7 values are comparable in kind. An install cohort D7 and a 7-day click window are not, and window alignment does not make them so.
3. **Put the basis in the schema, not in a spreadsheet header.** A metric should not be queryable without a dimension recording its anchor, its attributing party, and its read date. Where the provider does not document the anchor, the honest value for that dimension is “undocumented,” and a chart mixing “undocumented” with a known basis should refuse to render rather than quietly average them.
4. **Fix an observation age before ranking.** Compare cohorts at equal maturity, and never rank a partly matured week against a fully matured one.
5. **Record the read date and re-read on a schedule.** No provider in this set publishes a finalization point for its revenue and cohort columns. A practical default is to re-pull the trailing 30 days daily and treat a figure as final at 28 days, which borrows the one outcome-level boundary any provider here publishes, Meta’s, and applies it as a working convention everywhere else.
6. **When you need one cross-platform number, compute it from one authority.** Your MMP, or your own revenue data joined to your own attribution, gives a single basis. A sum of platform dashboards cannot, because each platform is answering about its own claims.

## What the documentation does not say

- **Meta is the only one of these six to publish a point after which an outcome figure cannot change**, its 28 days. AppLovin publishes a stability time for its Asset Reporting API, but that API carries delivery data only, and the advertiser API carrying revenue and cohort columns has no equivalent statement. Google Ads, Unity Ads, Mintegral, and Kayzen publish no finalization policy at all.
- **Google’s own pages disagree on the app view-through window.** One page states it is “set at 1 day,” implying it is fixed. Another documents a 1-day default that is selectable “anywhere from 1 to 30 days or 1 to 4 weeks,” though that page scopes itself to webpage, imported, in-app action, and phone call conversions. A third describes a one-day “view to install” default alongside a 90-day “view to app event” default, on a page limited to Android campaigns. Whether an App campaign’s view-through window is fixed or editable is therefore not resolvable from the documentation, and it is worth confirming against the conversion action in your own account before relying on either reading.
- **A retired Meta model is still published.** A live Meta developer page states that “Ads Manager uses a 1-day view through a 28-day click-through attribution model,” which contradicts the current API `default` of 7-day click and 1-day view.
- **Meta’s Business Help Center attribution pages require a login**, so the current Ads Manager default for app promotion campaigns specifically could not be verified from public documentation.
- **Unity’s Statistics API reference was unavailable when checked.** The published URL returned a page-not-found body, so Unity’s reporting latency, timezone, and finalization behavior could not be verified from primary documentation on this date.
- **We found no AdAttributionKit support commitment** in the advertiser documentation reviewed for these six platforms, at a point when Apple’s own guidance directs developers to that framework.

## Where this stops being true

- This covers six platforms. It is not a market survey, and others may behave differently again.
- Provider defaults and documentation change. Everything here carries its August 15, 2026 verification date, and anything load-bearing deserves a re-check before a large budget move.
- Where documentation was gated, absent, or inconsistent, this page says so rather than supplying a plausible number. Widely circulated figures for a normal discrepancy rate have no published dataset behind them and none are repeated here.
- Attribution assigns credit under a defined rule. It does not establish that an ad caused a purchase, and no window setting turns it into that. The [asset-level ROAS audit](https://lemon-ai.com/resources/asset-level-creative-roas) covers where that line sits.

## How Lemon AI handles this

Lemon stores these differences. Every outcome is recorded against the attribution basis it arrived on, so install cohorts, impression-time click windows, and interaction lag buckets stay in separate families; merging them would produce one column that is wrong for at least two of the platforms in it. Availability follows the provider contract, so a platform that reports cohort revenue without a cohort purchase count shows that count as unavailable, and a reader can tell the difference between “nobody purchased” and “this platform does not say.” Delivery and outcome data are requested separately where a provider’s own settings would otherwise change both at once, and outcome data is pulled back far enough for long windows to mature.

See [Creative Analytics](https://lemon-ai.com/creative-analytics) for asset-level performance across connected platforms with provenance kept visible, and the [measurement methodology](https://lemon-ai.com/methodology) for Lemon’s full rules on provenance, attribution, aggregation, and limitations.

## Primary sources

- [AppLovin Reporting API](https://support.applovin.com/en/growth/promoting-your-apps/api/reporting-api)
- [AppLovin Asset Reporting API](https://support.applovin.com/en/growth/promoting-your-apps/api/asset-reporting-api)
- [AppLovin: set up MMP tracking](https://support.applovin.com/en/growth/promoting-your-apps/track-and-optimize/set-up-mmp-tracking)
- [AppLovin: AppsFlyer attribution setup](https://support.applovin.com/en/growth/promoting-your-apps/track-and-optimize/appsflyer)
- [AppLovin: measurement and attribution for websites](https://support.applovin.com/en/growth/promoting-your-websites/track-and-optimize/measurement-and-attribution)
- [Meta Marketing API: Ad Account Insights reference](https://developers.facebook.com/docs/marketing-api/reference/ad-account/insights/)
- [Meta Marketing API: Insights best practices](https://developers.facebook.com/docs/marketing-api/insights/best-practices)
- [Meta Marketing API: App Event API](https://developers.facebook.com/docs/marketing-api/app-event-api/)
- [Google Ads Help: About mobile app conversion tracking](https://support.google.com/google-ads/answer/6100665)
- [Google Ads Help: Data freshness](https://support.google.com/google-ads/answer/2544985)
- [Google Ads Help: About conversion windows](https://support.google.com/google-ads/answer/3123169)
- [Google Ads Help: About conversion windows for App campaigns](https://support.google.com/google-ads/answer/9829854)
- [Google Ads Help: View-through conversion optimized bidding for App campaigns](https://support.google.com/google-ads/answer/16257907)
- [Google Ads Help: iOS app campaign measurement options](https://support.google.com/google-ads/answer/16771743)
- [Google Ads Help: Track app conversions with an App Attribution Partner](https://support.google.com/google-ads/answer/12961402)
- [Unity Grow: acquisition FAQs](https://docs.unity.com/grow/en-us/acquire/resources/faqs)
- [Unity Grow: reporting dashboard metrics reference](https://docs.unity.com/grow/en-us/acquire/reporting/dashboard/metrics)
- [Kayzen: supported reporting parameters](https://developers.kayzen.io/reference/supported-parameters)
- [Kayzen: campaign management and self-attributed numbers](https://help.kayzen.io/en/articles/5150180-campaign-managment)
- [Mintegral Advanced Performance Reporting API](https://adv-new.mintegral.com/doc/en/guide/report/advancedPerformanceReport.html)
- [Mintegral Performance Monitor](https://helpcenter.mintegral.com/en/docs/Performance-Monitor)
- [Mintegral: integration steps](https://helpcenter.mintegral.com/en/docs/integration-step)
- [Apple: receiving postbacks in multiple conversion windows](https://developer.apple.com/documentation/storekit/receiving-postbacks-in-multiple-conversion-windows)
- [Apple: identifying the parameters in install validation postbacks](https://developer.apple.com/documentation/storekit/identifying-the-parameters-in-install-validation-postbacks)
- [Apple: receiving ad attributions and postbacks](https://developer.apple.com/documentation/storekit/receiving-ad-attributions-and-postbacks)
- [Apple: SKAdNetwork](https://developer.apple.com/documentation/storekit/skadnetwork)
- [Apple: SKAdNetwork coarse conversion value](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue)
- [Apple: updatePostbackConversionValue](https://developer.apple.com/documentation/storekit/skadnetwork/updatepostbackconversionvalue%28%5F:coarsevalue:lockwindow:completionhandler:%29)
- [Apple: AdAttributionKit conversion windows](https://developer.apple.com/documentation/adattributionkit/receiving-postbacks-in-multiple-conversion-windows)

On this page

- [What is an attribution window?](https://lemon-ai.com/resources/ad-network-attribution-windows#what-is-an-attribution-window)
- [Why two D7 columns can measure different things](https://lemon-ai.com/resources/ad-network-attribution-windows#why-two-d7-columns-can-measure-different-things)
- [Who performed the attribution?](https://lemon-ai.com/resources/ad-network-attribution-windows#who-performed-the-attribution)
- [What your MMP does not normalize](https://lemon-ai.com/resources/ad-network-attribution-windows#what-your-mmp-does-not-normalize)
- [On iOS the anchor moves again](https://lemon-ai.com/resources/ad-network-attribution-windows#on-ios-the-anchor-moves-again)
- [Six platforms compared](https://lemon-ai.com/resources/ad-network-attribution-windows#six-platforms-compared)
- [The first read of a recent week is structurally low](https://lemon-ai.com/resources/ad-network-attribution-windows#the-first-read-of-a-recent-week-is-structurally-low)
- [Compare a platform against itself first](https://lemon-ai.com/resources/ad-network-attribution-windows#compare-a-platform-against-itself-first)
- [What the documentation does not say](https://lemon-ai.com/resources/ad-network-attribution-windows#what-the-documentation-does-not-say)
- [Where this stops being true](https://lemon-ai.com/resources/ad-network-attribution-windows#where-this-stops-being-true)
- [How Lemon AI handles this](https://lemon-ai.com/resources/ad-network-attribution-windows#how-lemon-ai-handles-this)

---

Related product

- [Creative Analytics](https://lemon-ai.com/creative-analytics)
- [Reports and API](https://lemon-ai.com/reports)

## Structured data

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://lemon-ai.com/#organization","@type":"Organization","name":"Lemon AI","url":"https://lemon-ai.com/","logo":{"@type":"ImageObject","@id":"https://lemon-ai.com/#logo","url":"https://lemon-ai.com/brand/lemon-ai-mark-512.png","contentUrl":"https://lemon-ai.com/brand/lemon-ai-mark-512.png","width":512,"height":512,"caption":"Lemon AI"},"email":"hi@lemon-ai.com","sameAs":["https://cy.linkedin.com/company/lemon-ai","https://x.com/lemon_ai_adtech","https://www.g2.com/products/lemon-ai/reviews"]},{"@id":"https://lemon-ai.com/#website","@type":"WebSite","name":"Lemon AI","url":"https://lemon-ai.com/","publisher":{"@id":"https://lemon-ai.com/#organization"},"inLanguage":"en"},{"@id":"https://lemon-ai.com/resources/ad-network-attribution-windows#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Lemon AI","item":"https://lemon-ai.com/"},{"@type":"ListItem","position":2,"name":"Resources","item":"https://lemon-ai.com/resources"},{"@type":"ListItem","position":3,"name":"Mobile Attribution Windows: Click, View, Cohort, Postback","item":"https://lemon-ai.com/resources/ad-network-attribution-windows"}]},{"@id":"https://lemon-ai.com/resources/ad-network-attribution-windows#webpage","@type":"WebPage","url":"https://lemon-ai.com/resources/ad-network-attribution-windows","name":"Mobile Attribution Windows: Click, View, Cohort, Postback","description":"Click windows, view-through windows, install cohorts, and SKAdNetwork postbacks are four different rules. What six ad platforms document, verified August 2026.","isPartOf":{"@id":"https://lemon-ai.com/#website"},"publisher":{"@id":"https://lemon-ai.com/#organization"},"inLanguage":"en","datePublished":"2026-08-15","dateModified":"2026-08-15","about":{"@id":"https://lemon-ai.com/#software"},"breadcrumb":{"@id":"https://lemon-ai.com/resources/ad-network-attribution-windows#breadcrumb"}},{"@id":"https://lemon-ai.com/#software","@type":"WebApplication","name":"Lemon AI","url":"https://lemon-ai.com/","description":"Creative intelligence and cohort-revenue forecasting for mobile app and game user-acquisition teams.","applicationCategory":"BusinessApplication","operatingSystem":"Web","browserRequirements":"Requires a modern web browser","provider":{"@id":"https://lemon-ai.com/#organization"},"featureList":["Creative-level spend, installs, purchases, revenue, and ROAS","Creative attribute analysis","Evidence-led creative generation","Cohort revenue and ROAS forecasting through D365","Read-only reporting API and MCP access"],"offers":[{"@type":"Offer","name":"Creative Intelligence annual billing","price":"209","priceCurrency":"USD","url":"https://lemon-ai.com/#pricing","description":"Effective monthly price per app when billed annually.","availability":"https://schema.org/OnlineOnly"},{"@type":"Offer","name":"Cohort Prediction monthly subscription","price":"679","priceCurrency":"USD","url":"https://lemon-ai.com/#pricing","description":"Monthly price per app after a $1,399 one-time account setup.","availability":"https://schema.org/OnlineOnly"}]},{"@id":"https://lemon-ai.com/authors/gregory-potemkin#person","@type":"Person","name":"Gregory Potemkin","jobTitle":"Founder & CEO","url":"https://lemon-ai.com/authors/gregory-potemkin","image":"https://lemon-ai.com/images/join-us/gregory.webp","sameAs":["https://www.linkedin.com/in/gregory-potemkin/"],"worksFor":{"@id":"https://lemon-ai.com/#organization"}},{"@id":"https://lemon-ai.com/resources/ad-network-attribution-windows#article","@type":"Article","headline":"Mobile Attribution Windows: Click, View, Cohort, Postback","description":"Click windows, view-through windows, install cohorts, and SKAdNetwork postbacks are four different rules. What six ad platforms document, verified August 2026.","image":"https://lemon-ai.com/og/resource-ad-network-attribution-windows.png","datePublished":"2026-08-15","dateModified":"2026-08-15","articleSection":"Attribution window comparison","mainEntityOfPage":{"@id":"https://lemon-ai.com/resources/ad-network-attribution-windows#webpage"},"author":{"@id":"https://lemon-ai.com/authors/gregory-potemkin#person"},"publisher":{"@id":"https://lemon-ai.com/#organization"},"inLanguage":"en"}]}
```
