Mobile attribution and marketing analytics platform that enables application developers, marketers, and brands to track and measure the effectiveness of their marketing campaigns across various channels and devices. Refer to the AppsFlyer documentation for more information about the platform.
Site ID in the AppsFlyer account, used during Web SDK integration with AppsFlyer and passed in the webAppId field in web events.
App Tracking Transparency (ATT)
Privacy feature introduced by Apple in iOS 14.5 and later versions, which requires applications to ask for user’s permission before tracking their data.
Customer user ID (CUID)
User ID generated and set by the app owner at the time of user registration. The СUID should be the same for the Web Shop and AppsFlyer. Refer to the AppsFlyer documentation for more information about the CUID.
Identifier for Advertisers (IDFA)
ID assigned by Apple to a user’s device. Refer to the Apple documentation for more information about the IDFA.
In-app event
User’s action within the application. Refer to the AppsFlyer documentation for more information about the in-app events. User’s actions in Web Shop are also considered in-app events in the case of S2S integration and sent to AppsFlyer from the Xsolla back end.
Web event
User’s actions in Web Shop, which are sent from the client side of Web Shop to AppsFlyer and are necessary for the Web SDK integration.
Lifetime Value (LTV)
Average revenue that a user generates during the time they use your application. Refer to the AppsFlyer documentation for more information about the LTV.
Retargeting
Reaching out to current or past users through advertising campaigns. Refers to the strategy of engaging users who have previously interacted with your application or site.
Return on advertising spend (ROAS)
Metric that measures the effectiveness of an advertising campaign by calculating the revenue earned per unit of advertising spend.
Postback
Process of receiving data on in-app events in advertising networks. Refer to the AppsFlyer documentation for more information about the postback.
Server-to-server (S2S) token or S2S key
Token that is used to authorize S2S calls for sending event data to AppsFlyer. It’s generated on the AppsFlyer side. Refer to the AppsFlyer documentation for more information about S2S token.
AppsFlyer Dev key
The key which is used during integration of the AppsFlyer Web SDK. This key is unique for each application and is used to authorize your application in the AppsFlyer system. It’s generated on the AppsFlyer side. Refer to the AppsFlyer documentation for more information about Dev key.
User acquisition
The process of attracting new users to a site, service, platform, or application through marketing activity.
Integration scenarios
AppsFlyer and Xsolla support the following types of integrations:
Mobile application S2S integration — allows completion of full LTV and ROAS measurement for the purchases within the application and on the Web Shop. Xsolla sends information about purchases in Web Shop to AppsFlyer as mobile in-app events, which AppsFlyer then attributes to the number of mobile application instalments, user acquisition and re-engagement campaigns.
Web SDK integration — allows you to measure and evaluate the effectiveness of user acquisition and retargeting campaigns for attracting traffic to the Web Shop. Web SDK integration allows assessment of how many users came to the site through a retargeting campaign and the conversion of channels leading to the site. Xsolla sends information about purchases in Web Shop to AppsFlyer as web events, which AppsFlyer attributes to the corresponding media source, campaign, advertising set, and advertisement that led the user to the purchase.
You can configure Web SDK integration with AppsFlyer to get advanced event analytics if you:
The following events are available via the Xsolla and AppsFlyer Web SDK integration:
Event
Description
load
Site visit event, including URL parameters that contain the source information where the user is coming from, and a AppsFlyer web ID, which is stored in a first-party cookie.
Below is a scenario of system interaction when implementing a user acquisition and retargeting campaign. The user goes through advertising banners to the Web Shop and makes a purchase. The set of events that are sent to AppsFlyer in this process allows us to see:
which users, in what quantity and from which banner came over
how much they paid
whether the retargeting campaign was effective
Note
To track traffic sources, we recommend setting the following tracking parameters:
AppsFlyer group of parameters such as pid, c, af_c_id, af_adset, af_adset_id, af_ad, af_ad_id, to get ad-level (creative level) reporting in AppsFlyer.
Configure the pid parameter according to how you want to display each media source in AppsFlyer. For example, you can use pid=google or pid=googleadwords_int, depending on how you want to classify and track different traffic sources.
The user clicks on the advertisement campaign banner.
The user is redirected to the Web Shop, and the URL of this transition includes the AppsFlyer group of parameters, specifying from which banner and website the user was directed.
An event about the visit is sent from the client side of the Web Shop to AppsFlyer.
The user logs into the Web Shop using CUID.
The authorization event is sent to AppsFlyer.
The user makes a purchase in the Web Shop.
The purchase event is sent to AppsFlyer.
How to set up in AppsFlyer
Before you start, configure the following settings in the AppsFlyer platform:
Item purchase. The event parameters contain information about a purchase.
How it works
The integration includes a bi-directional data flow between Xsolla and AppsFlyer. Below is the scenario of system interaction when a user makes a purchase.
The user (game’s player) signs up or logs in to the Android/iOS mobile application.
Your application sends a standard in-app event to AppsFlyer: af_login, af_signup or any event that contains CUID.
You should possess an administrator role at the AppsFlyer account to view and manage S2S tokens.
Make sure that you generate and share the S2S key (S2S token) and not the API V2 key (token) which is used for different APIs and is not relevant for this integration.
Leave the Default postbacks value — off (by default).
Turn on the In-app event postbacks toggle.
Configure at least one in-app event that includes login information (CUID).
Enter any value in the mapped to partner event field. Xsolla supports any event name.
Save the integration.
Note
For successful integration, you need to send at least one of the following events: af_login, af_signup or any other in-app event that includes CUID.
CUID in AppsFlyer should be identical to the CUID in Web Shop. AppsFlyer and Xsolla match data based on CUID. Therefore, if the CUID does not match, the integration will not work. Example of the value mismatch: The CUID in AppsFlyer is the hashed email of the user, and the CUID in Xsolla is the email in text format.
There is no need to set up other tabs: Attribution Link, Cost, Ad revenue or Permissions.
You can read more about integration settings on the AppsFlyer side in the documentation.
Event value structure
If you want to set up a specific event or if the current integration capabilities don’t cover your needs, contact your Customer Success Manager or email to csm@xsolla.com.
Item purchase
When a user makes a purchase in Web Shop, Xsolla sends the xsolla-billing-payment event to AppsFlyer. The following purchase information is passed in the event parameters:
Parameter
Description
af_content_id
Single SKU or array of SKU in the purchase.
af_quantity
Quantity of the item with corresponding SKU (one or an array).
af_revenue
Purchase amount. Discounts are included. Before taxes and fees.
When a user initiates a payment refund, Xsolla sends the xsolla-billing-refund event to AppsFlyer. The following refund information is passed in the event parameters:
Parameter
Description
af_content_id
Single SKU or array of SKU in the purchase that has been refunded.
af_quantity
Quantity of the item with corresponding SKU (one or an array).
af_revenue
Purchase amount that has been refunded. A negative amount value is passed.