Channel cost reconciliation: one CPI across networks that each count their own way
Meta says 900, TikTok says 1,100, the dashboard says 1,400 — and nobody can explain the gap.
Updated Sep 27, 2026
Which teams own channel cost reconciliation?
- Performance & paid
- Growth marketers
Which LinkTrail features does channel cost reconciliation need?
- Ad-network cost data (Meta, Google, TikTok, X)
- Per-link channel tagging
- Post-install events
- Match audit log (deterministic vs probabilistic)
Every ad network reports its own installs, using its own attribution window and its own definition of a click. Add them up and you get more installs than you had. Divide spend by each network's own number and every channel looks better than it is. The reconciliation spreadsheet that fixes this is usually a week old by the time anyone reads it.
What problem does this solve?
You want cost per install and cost per activated user, by channel, from one attribution source, next to the spend that produced them. Not four dashboards that disagree and a manual join.
How do you set the links up?
Tag every paid link with the channel and the campaign, consistently, so the attribution side knows where a click came from independently of what the network claims. Then import each network's cost export so spend lines up against the same campaign identifiers — LinkTrail reads the CSV rather than connecting to the ad accounts. Cost data from Meta, Google, TikTok and X is a Growth-plan capability, and the integrations page covers what each network supports.
{
"deepLinkPath": "/",
"customData": {"ch": "tiktok", "cmp": "q3-launch", "cr": "video-15s-b"}
}Why do the numbers disagree in the first place?
| Source | What it counts | Why it inflates |
|---|---|---|
| The network | Installs it can associate with any ad impression or click | Attributes on impressions, uses long windows, counts organic installs that saw an ad |
| Your attribution | Installs matched to a click on a tagged link | Doesn't — but it undercounts where deterministic signals are missing |
| Your store console | Every install | Doesn't attribute at all; it's the ceiling |
None of these is lying. They answer different questions. The reconciled view uses one of them — the attributed install — as the denominator for every channel, so the comparison is fair even if the absolute number is conservative.
Which installs should count?
The match audit log records each install as deterministic, probabilistic or none. For a spend decision, deterministic installs are the ones to trust. Probabilistic matching is off by default, and if you switch it on the audit log lets you report the two separately rather than blending them into one number that is partly guesswork.
Which metric should you watch?
Cost per activated user by channel, where activation is the post-install event that matters to you, not the install. Two channels with the same CPI routinely have activation costs that differ by a factor of three, and that is the number the budget should follow.
Cost reconciliation — common questions
Why do ad networks report more installs than you actually got?
Each network counts installs it can associate with any impression or click in its own window, including organic installs that saw an ad. Your attribution counts installs matched to a click on a tagged link, and your store console counts every install without attributing any.
How do you compare CPI fairly across channels?
Use one source — the attributed install — as the denominator for every channel, next to the spend imported from each network's cost export. The absolute number is conservative, but the comparison between channels is fair.
Which installs should count for a spend decision?
Deterministic ones. The match audit log records each install as deterministic, probabilistic or none; probabilistic matching is off by default, and if it's on, report it separately rather than blending it in.
Questions about your setup?
Email support@linktrail.io or see the plans, starting with a free tier.
Related use cases
iOS measurement
iOS after ATT: campaign-level truth when user-level attribution isn't on offer
Deterministic iOS attribution largely went away with App Tracking Transparency. SKAdNetwork and AdAttributionKit are what's left, and they need handling.
Affiliate payouts
Affiliate payouts: paying partners per install without paying for manufactured ones
Partners paid per install have a direct incentive to manufacture installs. The evidence for a deduction has to be specific.
Every one of these depends on the same two things: link context surviving an install, and an honest answer to which click produced it. The scoring model is published in full on our methodology page, and you can check any domain's association files with our free link validator.