Glossary/Attribution mechanics
Click spamming
Definition
Click spamming is install fraud in which a party reports large volumes of clicks that no user ever made, so that any install occurring later inside the attribution window is credited to them.
Also called click flooding or click stuffing, it is a volume attack on a last-touch model. The fraudster does not need to fool anyone about a specific install; they need only to have a click on file for enough devices that some of them install anyway. It is cheap, it is detectable statistically rather than case by case, and the detection is one distribution chart.
The economics that make it worth doing
A click costs the fraudster essentially nothing to report. If your click window is seven days, every spammed click is a lottery ticket that pays out whenever that device installs your app for any reason at all — including from a TV ad, a friend's recommendation, or the App Store's own search results.
| Clicks reported | Organic install rate in the population | Installs claimed | Payout at $2 CPI |
|---|---|---|---|
| 10,000 | 0.2% | 20 | $40 |
| 1,000,000 | 0.2% | 2,000 | $4,000 |
| 50,000,000 | 0.2% | 100,000 | $200,000 |
| Same, with a 30-day window | 0.9% | 450,000 | $900,000 |
The last row is the one worth staring at. Widening the attribution window from seven days to thirty does not merely change reporting — it multiplies the payout of a click-spamming operation, because a longer window catches more of the organic base per spammed click. Generous windows and click spam are the same problem.
The cost is not the fraudulent spend, it is the organic column
Click spam usually does not increase your total installs. It reassigns installs you were already getting into a paid channel, which makes that channel look efficient, which causes you to spend more on it. The damage compounds through your own budget decisions rather than through the initial invoice.
The CTIT distribution is the test
Real clicks are followed by an install fairly quickly, because a real user who taps an ad and decides to install does it in one sitting. Click-to-install time for an honest channel is heavily front-loaded: most installs land within the first hour, and the tail thins fast. A spammed channel produces the opposite shape, because the click and the install are causally unrelated — so the gap between them is essentially uniform across the window.
| CTIT bucket | Honest channel | Spammed channel |
|---|---|---|
| Under 10 seconds | 1% | 0% |
| 10s – 10 minutes | 58% | 3% |
| 10 min – 1 hour | 22% | 4% |
| 1 – 24 hours | 13% | 18% |
| 1 – 7 days | 6% | 75% |
| Median CTIT | ~4 minutes | ~2.5 days |
A near-uniform distribution across days is the signature. It says the click carries no information about when the install happened, which is exactly what you would expect if the click did not cause it. Compare that with click injection, whose signature is the opposite extreme — a spike in the first seconds.
-- Bucketed click-to-install time by source. Run per source, never
-- pooled: a single blended average hides exactly the shape you need.
SELECT
source,
CASE
WHEN ctit_seconds < 10 THEN '1. under 10s'
WHEN ctit_seconds < 600 THEN '2. 10s-10m'
WHEN ctit_seconds < 3600 THEN '3. 10m-1h'
WHEN ctit_seconds < 86400 THEN '4. 1h-24h'
ELSE '5. over 24h'
END AS ctit_bucket,
COUNT(*) AS installs,
ROUND(100.0 * COUNT(*) / SUM(COUNT(*)) OVER (PARTITION BY source), 1) AS pct_of_source
FROM (
SELECT
source,
TIMESTAMP_DIFF(installed_at, clicked_at, SECOND) AS ctit_seconds
FROM attributed_installs
WHERE installed_at >= CURRENT_TIMESTAMP() - INTERVAL 30 DAY
AND clicked_at IS NOT NULL
)
GROUP BY source, ctit_bucket
ORDER BY source, ctit_bucket;Run it per source. A blended average across all channels is the one presentation guaranteed to hide the finding, because a healthy majority pulls the mean back into a plausible-looking range while the offending source keeps its shape.
Corroborating signals
- Conversion rate far below every other channel. Millions of clicks producing a fraction of a percent of installs is the attack, not bad creative.
- Click volume that does not track impression volume. Clicks should be bounded by inventory served.
- Flat hourly click distribution. Real human clicking has a daily rhythm; scripted clicking often does not.
- Post-install behaviour matching organic exactly. Poached organics behave like organics because that is what they are.
- No lift in a holdout. The decisive test — if pausing the channel does not reduce installs, it was never causing them.
That last one is worth doing before any dispute. Retention and revenue curves indistinguishable from organic are suggestive; a geo holdout in which total installs do not move when the channel is paused is close to conclusive, and it is an argument no network can answer with their own logs.
Structural defences help more than filters. Shorter click windows shrink the payout directly. Prioritising deterministic matches over modelled ones removes the ambiguity spam exploits. And reporting view-through separately stops a spam channel from hiding inside a view-through total.
Android SDK docs
The CTIT distribution only exists if the click timestamp is captured accurately at install time. The Android SDK reference covers reading the Play install referrer, including the click and install-begin timestamps that make the histogram computable from first-party data rather than from a network's own report.
Open the android sdk docs →Frequently asked questions
- What is click spamming?
- Click spamming, also called click flooding, is install fraud in which a party reports huge volumes of clicks that no user actually made. Because last-touch attribution credits whichever click most recently preceded an install, any device in that population that installs the app for any reason gets credited to the spammer, effectively converting organic installs into paid ones.
- How do you detect click spamming?
- Chart the click-to-install time distribution per source. An honest channel is heavily front-loaded, with most installs landing within an hour of the click. A spammed channel produces a nearly uniform spread across the whole attribution window, because the click and the install were never causally connected, so the click carries no information about install timing.
- What is the difference between click spamming and click injection?
- Click spamming is a volume attack with an extremely low conversion rate and a very long click-to-install time. Click injection is a precision attack that fires a single click at the moment a real install begins, producing an extremely high conversion rate and a near-zero or negative click-to-install time. They sit at opposite ends of the same distribution.
- Does a shorter attribution window reduce click spam?
- Directly, yes. The payout of a spammed click is proportional to the chance the device installs your app inside the window, so shortening a window from thirty days to seven cuts the fraudulent haul roughly in proportion to the organic installs it no longer catches. It is the cheapest structural defence available and requires no vendor involvement.
- How do I prove a channel is click spamming?
- Run a geo holdout. Pause the channel in one region, keep it running in a comparable one, and compare total installs rather than attributed installs. If total installs do not fall where the channel was paused, the channel was reassigning organic installs rather than creating any, which is a result the network cannot rebut with its own click logs.
Related terms
- Click injection — Click injection is install fraud in which a malicious app detects that another app is being installed on the same device and fires a click at that moment, so the fraudster is credited for an install that was already under way.
- Click-to-install time — Click-to-install time is the elapsed time between the click on an ad and the first open of the installed app, measured per install and analysed as a distribution rather than an average.
- Attribution window — An attribution window is the length of time after an ad click or impression during which a resulting install or conversion is still credited to that ad interaction.
- Deterministic attribution — Deterministic attribution credits an install to a specific click by matching an identifier that is present in both records, producing a one-to-one link rather than a statistical estimate.