Identity-Based Attribution
Leveraging player identity for deterministic attribution is crucial for many game developers. This guide will walk you through how to use Gamesight's Web SDK and Measurement API to achieve identity-based attribution seamlessly.
Step 1. Initial Setup
Web SDK
- Generate an API Key
Head over to the Settings tab on the Gamesight dashboard and choose the In-Game Integration option to generate your API key.
- Initialize the Web SDK
Add the JavaScript snippet from Gamesight's Settings page (under Game > In-Game Integrations) to your game's landing page. This connects marketing touchpoints with events on your site. Your initialization script should look something like this:
<script>
(function(G,m,s,g,h,t){G.gsght=G.gsght||function(){
(G.gsght.q=G.gsght.q||[]).push(arguments)};G.gsght.q=[],h=m.createElement(s),
t=m.getElementsByTagName(s)[0];h.async=1;h.src=g;t.parentNode.insertBefore(h,t)
})(window,document,'script','https://cdn.gsght.com/sdk.js');
gsght('init', 'GS-XXXXXX');
</script>
Measurement API
Ensure that you have your API key and version ready for event pushes.
Step 2. User Identity Handling
Web SDK
- Specify User IDs and External IDs
If your website allows users to log in or create accounts, you should provide these ID values. This ensures accurate reporting and enhanced user journey insights. The user_id
value is the primary player identifier used in-game and is not always available on web. However, for publishers with account systems, external_id
values allow for deterministic matching between web and in-game activity.
Common External ID values include:
- Email address
- Account username
- Wallet ID
What about the
user_id
?Gamesight understands the complexity of player identity in the PC/console ecosystem. Our platform intelligently handles multiple IDs as inputs at various points in the user journey--even when the
user_id
isn't available at every point in the user journey.When you make a link between web and in-game activity using an external ID, Gamesight will update all the anonymous events with that external ID that were sent anonymously (i.e., without a
user_id
attached).You can read more about our Late ID Binding process here.
Below is an example of a publisher setting an external ID for a user where the user_id
isn't known.
gsght('set', 'user_id', [
{type: 'email', id: '[email protected]', // External ID for this user
scope_type:'org', scope_id:'000', // Optionally setting org-scope for this ID (game-scoped by default)
sha256:'server'}, // Optionally setting hashing behavior of this ID
])
- Send Events
Specify the event that occurred during the activity that resulted in the external ID becoming available. This is typically the result of an account registration or login event.
gsght('send', 'account_registration')
Measurement API
For identity mapping, you'll require external IDs along with event data and primary user ID. This is the key connection point where you make the link between the player's user_id
and external_id
available in in-game and external contexts for deterministic matching
Let's extend the example flow above for the user account data sent from the account_registration
event on web. We'll send an in-game login
event with the player's relevant org-wide account information.
curl https://api.ingest.marketing.gamesight.io/events \
-X POST \
-H 'Authorization: SOMEAPIKEYHERE' \
-H 'X-Api-Version: 1.1.0' \
-H 'Content-Type: application/json' \
-d "$(cat <<-EOF
{
"user_id": "b91f8k5r",
"type": "login",
"external_ids":[{
"external_id_type": "email,
"external_id": "[email protected]",
"scope_type": "org",
"scope_id": "000"
}],
"identifiers": {...},
}
EOF)"
Late ID Binding
The anonymous user from a user ID context that registered for an account on web has now been deterministically linked to user ID: b91f8k5r
. Gamesight will update all of the previous records of events for that external ID to now include the known user ID for this player. We'll also reprocess attribution for these events using the newly available data to ensure that you're getting the highest quality reporting data possible.
Conclusion
By providing player identity through the Gamesight Web SDK in tandem with the Measurement API, game developers can leverage deterministic attribution for more powerful matching. This identity-based attribution method provides a deep understanding of the user journey from the website to the in-game experience, offering invaluable insights for enhancing marketing efforts and user engagement.
Updated 2 months ago