Skip to content

UTM Templates

What are UTM templates

UTM Templating allows you to append custom parameters to URLs redirected through our campaign attribution system. UTM tags included in the template will be passed on to Steam, which allows you to view your campaign activity from the Steamworks backend.

Templating

Templates should always consist of key-value pairs, separated by an “=”. All key-value pairs must be joined together by an “&”. Variables can be included in the template by encapsulating it with curly brackets “{variable}”, below you can find a list of variables that can be used in the template. Anything not surrounded by curly brackets, will be literally passed in the UTM tags.
Enters will be automatically removed when saving the template.

An example template would look like this (this is the default):

utm_source={channel_name}&utm_medium{campaign_type}&utm_campaign={campaign_name}&utm_content={variant}

Any variable that is empty (e.g. no variant is used) will not be included in the output. While writing your template, an example will pop up to show you what UTM tags will be passed to Steam when you save it.

Name Template Example output* Description
Campaign name {campaign_name} My Example Campaign Name of the campaign as defined when setting up the campaign for this game in Steam Data Suite.
Campaign Slug {campaign_slug} my-example-campaign Sluggified version of the campaign name (lower-cased and spaces replaces with "-").
Campaign Type {campaign_type} Sales / Installs Type of campaign as defined when setting up the campaign in Steam Data Suite.
Channel Name {channel_name} Chat or forum The channel with link was configured for in Steam Data Suite when setting up the campaign.
Channel Slug {channel_slug} chat-or-forum Sluggified version of the channel name (lower-cased and spaces replaces with "-").
Variant {variant} influencer-1 The variant that this URL was used with. When no variant is used in the URL, this is ignored.
Game Name {game_name} Life in Half Name of the game in Steam.
Game Slug {game_slug} life-in-half Sluggified version of the game name (lower-cased and spaces replaces with "-").
Game Steam ID {game_steamid} 730 Steam ID of this game.
Game Type {game_type} dlc The type of game this campaign was created for. Can be one of "unknown", "advertising","demo","dlc","episode","game", "hardware","mod","movie","series","unknown","video". Retrieved from Steam.
Timestamp {timestamp} 1701261171 Timestamp the click occured at. This is the time in seconds since January 1st 1970 00:00:00.
Time {time} 13:33:15 Time the click occured at in UTC timezone.
Date {date} 2023-11-29 Date the click occured at, formatted as YYYY-MM-DD (UTC timezone).
Datetime {datetime} 2023-11-29 13:33:15 Combination of both date and time.
Query {query.CUSTOM_PARAMETER} - The "query" parameter allows you to add any parameter that you used in the link we provide you with. Read more about this below.

*Values will be URL encoded

Query parameters

In addition to the parameters above, parameters passed in the original URL can also be passed through to Steam. This can be done by using the query parameter, an example would look like this: {query.userid}.

This will then use the user ID passed in to the original URL if it was passed, otherwise it will be ignored.

To pass all parameters passed in the query, you can use {query.all_parameters}, you should pass this as a key without a value.

An example would look like the following:

utm_source={channel_name}&utm_medium={campaign_type}&utm_campaign={campaign_name}&utm_content={variant}&{query.all_parameters}&{query.key1}={query.value1}

Page contents