Skip to content

What makes campaign attribution on Steam both important and difficult

With Steam’s platform eyeballs getting harder and harder to reach it makes sense to look outside of the platform for new players. But within the realm of paid ads, the most important and controllable external traffic source, there are endless options for campaigns, channels, and ad formats, let alone creative content. To make sure you put your ad budget to good use, you need to understand which ways to bring in the newest players and revenue.

Searching for a solution

When 6 years ago a game company approached me they had a very logical request that turned out to be more challenging than expected. They had some advertising budget for their game on Steam, and they wanted to spend it wisely. Me being their go-to person for data-related topics got tasked with finding out how we can track the effectiveness of ad spending. Doing the same thing on mobile for various other developers I set out to find the right tools for the job. Sadly, I found none.

From then on my search went hand in hand with figuring out if we could build a solution for this ourselves. That search took me past the Tune booth at Gamescom ‘17, where in answering my questions they made it clear they did not know what Steam was, and that “they will get to the platform when it becomes significant”. It was 4% of the total gaming industry at that time. It also had me meet with a few Steamworks devs in a rare opportunity to see them respond to questions about tracking of outside traffic coming into Steam at Indigo ‘17. They explained that this is not something they ever will accommodate, since they believe it will incentivize publishers to generate crappy quality leads, resulting in low-quality Steam users. A valid concern, but maybe a bit naive considering the potential for platform growth, and the pull of their biggest content providers to professionalize their operations.

Attribution 101

Since then, nobody stood still. We built the Steam attribution solution we needed, and we found we were not alone, while Steam implemented ‘UTM tracking’.  Let’s look at how attribution works, to better understand its role, and why some tracking methods aren’t cutting it.

The situation on Steam and the mobile app stores is very similar in this regard. A potential player finds its way to your store page from outside or inside the ecosystem and decides to buy and play your game. Or not. Traditional tracking relies on preserving the information about where a potential player came from until the conversion(sale) takes place. This is traditionally done by passing the information on via either parameters in the URL(UTM tracking), cookies or a persistent session, all the way through the process.

In the case of the app stores, pretty much the entire browse, and sales process, including the moment of conversion, are not in our control. Without the ability to add to the code of that process, there’s no way of making the “through tracking” work. Plus the user moving from one environment, the web, to another, the Steam app, adds to the complexity. The solution? Tracking around the store, and using the parts of the customer journey that we still control: the ad and the game code. Needless to say that without a deterministic hand-over of source information, this requires a different approach.

Enter fingerprints. These encoded identifiers are based on a set of characteristics of a user and can be used to recognize the same person, even if they show up in different environments, no matter what happened in the meantime. So first we make a fingerprint when a user clicks on an ad, or views a page. Second, then when they show up in the game we do the same thing again. Next, we compare the identifier of the new player with those of the relevant clicks that took place, so we can see if they showed up in the game after clicking a link, ergo because of clicking the link.

Balancing privacy, ease of use, and accuracy

There are a million ways of doing fingerprinting, the main variation being in the ‘ingredients’ used to create the identifier. For this purpose, early experiments revealed, at least in our opinion, the optimal balance between privacy, ease of implementation, and accuracy. With a very lightweight in-game integration (not even worth an SDK), and straightforward tracking links, we are able to provide attribution, maybe not as accurate as it could be, but on par with the mobile platforms like Kochava, Tune and AppsFlyer.

We build our attribution to be as privacy-friendly as possible. Why? Because as PC gamers we value privacy too. And because GDPR was a hot topic when we were building it. For example, we can not link behavior from multiple games or clients together, we only create a fingerprint the very first time a new player shows up. And we forget about each player soon after that.

What’s next

The resulting feature delivers what it has to: helping to understand the impact of each individual bit of campaign effort. But we’ve also seen that the bottom line impact most of the time is greater than what attribution can measure. The difference comes from lacking accuracy (again it’s not deterministic), social ‘bonus’ uplift, and platform uplift.

To measure the bottom-line results, for example from promotions focussed on traffic from within Steam itself, we built another solution: promotions optimization. For this we’re able to take a timeframe and predict the performance you would normally have in that period based on historical data, then show you the difference between that and the actuals. It’s great to capture the overall uplift, but less great when you want to compare multiple efforts happening at the same time.

We feel the holy grail is combining the promotions optimization solution with campaign attribution into a form of what Google calls ‘modeled attribution’. Both of these datasets, which are quite extensive,  become input for a predictive model that is able to attribute parts of the bottom line uplift to individual campaign activity. This can work because we can utilize click, install, and sales data over a variety of axes like country, date, and hour of the day. The best of both worlds if you will.

I’m really looking forward to seeing where this development will take us, and what will follow. It would be amazing to have you there with us as we make it happen.