Why do ad clicks and Steam visits disagree?

An ad click and a Steam visit are records from different systems. Before judging the gap, check the exact click definition, destination, reporting period and Steam visit category. A mismatch is a reason to reconcile the reports; it does not by itself tell you how many players were lost or whether the campaign worked.

Make sure you are comparing the same journey

Start with the ad platform's column definition. Does “clicks” mean outbound link clicks, all interactions with the ad, or something else? Use that platform's current metric documentation rather than assuming every click means an arrival at your store page.

Then identify the Steam report. The store traffic report describes page visits and their sources. It is not interchangeable with a campaign-filtered UTM export. Valve: Store and Platform Traffic Reporting.

A practical reconciliation record should include:

Check What to record
Destination The actual URL distributed by the ad
Click measure Exact platform column name and definition
Steam measure Report name and visit category
Scope Campaign, ad group, creative and UTM filters
Time Date range, timezone and export time
Completeness Missing days, delayed imports or unavailable columns

Use this record before reaching for a correction factor.

A mismatch can change meaning when you change columns

Imagine a campaign with these fictional results:

  • 1,000 outbound clicks in the ad report.
  • 800 total UTM visits in Steam.
  • 600 trusted visits.
  • 160 tracked visits.

Comparing 1,000 clicks with 160 tracked visits makes the gap look much larger than comparing clicks with total UTM visits. The difference is not an estimate of people who abandoned your page: you changed the population being counted.

Steam also notes that shared tagged links and visits through browser history can increase its visit count relative to a third-party report. The discrepancy need not run in only one direction. Valve: UTM Analytics FAQ.

Do not report that “840 people bounced” or that “Steam missed 84% of the campaign” from these totals. Neither follows from the comparison.

Investigate changes, not just the size of the gap

Once the definitions align, compare the campaign with its own earlier periods. A sudden change gives you a more focused question than a large but stable difference between systems.

Work through the likely points of change:

  1. Link: did someone change the destination, lose a tag or introduce a redirect?
  2. Placement: did traffic shift to another device, app or ad format?
  3. Reporting: did a filter, timezone, export field or import change?
  4. Activity: was the tagged link reused or shared outside the original placement?

These are troubleshooting hypotheses, not diagnoses. Keep evidence for the ones you can verify, and leave the others unresolved.

A useful conclusion might be: “The discrepancy increased after the placement change. The destination still works and the report filters match. We'll test the same creative in the previous placement before changing the budget.”

Then review outcomes

After reconciliation, inspect the recorded wishlist results and the wider wishlist timeline. The click-to-visit gap alone cannot tell you whether a campaign generated useful demand.

Immutable's Steam attribution guide discusses why multiple campaign measures can disagree. Its broader lesson is useful here: keep the definition attached to each number rather than selecting the most favorable report.

How Coal helps

Coal brings Reddit Ads and Steam reporting into the same analytical workflow. That makes discrepancies easier to inspect, but it does not make the source systems equivalent. Keep their separate labels, and check the original export when a value appears missing or unexpected.

Related: Steam's visit types · UTM naming across paid and organic activity · Untracked versus organic wishlists