Steam attributes a conversion to your campaign only if the player wishlists, buys or activates the game within 72 hours of clicking your tagged link, and only if they were logged in to Steam in the browser that opened it (Steamworks UTM Analytics). That single rule shapes most of what you can honestly claim about gaming advertising ROI, and almost nobody reads it before booking media.

Everything that follows works outward from that constraint. A campaign can deliver every booked impression, push a healthy volume of players to your store page and still lose money, and it can also do almost nothing visible for a pre release title while being the reason a thousand people wishlist it. Delivery reporting shows what ran, where and how often. Your own store, analytics and payment systems are what turn that activity into a number with a currency symbol on it. All of it also assumes the campaign was pointed at an audience that actually fits the product, which is a separate question with a separate answer.

ROAS and profit answer different questions

Return on ad spend compares attributed revenue with media spend, and it is the fastest number to produce. If a campaign is credited with 8,000 euro of revenue after 2,000 euro of media, the ROAS is 4.0. That is a real piece of information and it stops there, because it says nothing about whether the campaign made you money.

Profit needs the costs the revenue line hides. Platform fees take their cut before you see anything, refunds reverse a share of the sales, and any fulfilment, hosting or service cost attached to the product reduces what is left. Creative production and any other spend that only exists because of this campaign belong in the investment side, not in a separate marketing overhead where they quietly disappear.

For a contribution based figure, work in this order and keep the order fixed across campaigns:

  1. Take the contribution the attributed sales earned before any marketing cost, so revenue minus platform fees, refunds and the cost of delivering the product.
  2. Subtract the total campaign cost, which includes media plus creative production plus anything else that only exists because of this campaign.
  3. Divide the remainder by that same total campaign cost and express it as a percentage.
  4. Write down which costs you included, in the report itself rather than in someone’s notes.

That last step is the one people skip. Two campaigns compared on different cost bases produce a conversation that goes nowhere, and I have sat in that meeting more than once.

Both figures share one assumption that deserves stating out loud: they credit the campaign with sales that may have happened anyway. If a share of those buyers were already going to purchase, the true incremental return is lower than the attributed one. Attributed revenue is evidence of association, not proof of causation, and the numbers above are a worked example rather than a BooztGames result or a price quote.

Before launch, measure wishlists and label them as a forecast

While a game cannot be bought yet, cost per attributed wishlist is the honest measure. A 2,000 euro media campaign credited with 500 wishlist additions costs 4 euro per wishlist on media alone, and adding 500 euro of creative production raises the total campaign cost to 5 euro per wishlist. Both numbers are facts about cost.

Neither one is a profit. Turning them into a projection requires you to state how many of those wishlists you expect to convert at launch and what each sale contributes after fees and refunds, and that assumption is yours to defend, not the campaign’s. Keep it visibly separate from revenue you have actually earned, then go back and check it once real sales data exists. The gap between the two is the most useful thing you will learn all year.

What Steam can and cannot attribute

If your destination is a Steam page, the attribution rules are published and worth reading before you design the campaign. Steam counts a conversion when the user takes the action within 72 hours of clicking the UTM link, even if they visit other pages in between, and conversions are finalised four days after the visit, which means an early read of the dashboard will understate results (Steamworks UTM Analytics). The reported actions are wishlist additions, purchases and activations, where an activation covers acquiring a free to play licence or redeeming a key.

The important detail is what counts as a tracked visit. Valve’s own wording is that a tracked visit is a visit through a UTM link “where the user was also logged in to Steam”, and those visits are a subset of total visits that also excludes abnormal traffic such as rapid repeated visits. Only a wishlist, purchase or activation for the same App ID used in the link counts as a conversion.

Then there are the gaps Valve states plainly. Steam generally cannot associate the action when a user switches browsers, switches devices, switches apps, or opens the Steam client and searches for the game after clicking your link somewhere else. Browser configuration and cookie preferences remove more. So an untracked conversion is not evidence that the campaign did nothing, and an attributed one is not a receipt. Use consistent campaign naming, separate your links by source and placement where it is practical, and test the destination and the tracking before launch rather than on day three.

Agree the basis before anything goes live

The managed process at BooztGames runs through campaign discovery, strategic placement planning, launch, then optimisation and reporting, and the measurement conversation belongs in the planning stage. It also depends on knowing which of the properties in the network the campaign will actually run on, because a single combined number across very different placements teaches you very little. What I want settled before launch is which campaign data will be available from our side, which results your team will pull from its own systems, and who reconciles the two when they disagree.

That gives the final calculation a defined basis: a cost, an outcome, a period and an attribution method, agreed by both sides while nobody is defending a result yet. Bring your conversion definition and your cost inputs through the contact page and we can settle it before the first impression runs.

One warning about all of this. Every method described here measures what you can see, and what you can see on Steam is bounded by a 72 hour window and a logged in browser. If your game sells mostly through a storefront with weaker reporting, or your buyers take three weeks to decide, these numbers will understate the campaign and no amount of careful arithmetic will fix that. In those cases I would rather agree upfront that the campaign is being judged on a directional read plus a holdout comparison than pretend the attribution is complete.

Questions people ask

What is a good ROAS for gaming advertising?
There is no honest industry answer to that, and any specific number quoted as a benchmark should be treated as a sales tool. A useful target comes from your own margin, your refund rate and the payback period you can afford, which is why two studios with the same ROAS can be in completely different positions.

Can Steam tell me which placement drove a sale?
Only within its own rules. Tagged links report visits and conversions by source when the user was logged in to Steam in the browser that opened the link, within a 72 hour window, for the same App ID (Steamworks UTM Analytics). Anything outside that shows up as untracked rather than as a zero.

How long should a campaign run before I judge the return?
Long enough to clear the attribution window and the finalisation delay at minimum, so never on day one. For a launch campaign I would look at the full flight plus the four day finalisation before drawing a conclusion, and I would compare it against the same window for every other channel.