Setting up an MMP
Setting up an MMP consists of three steps:
Step 1. Setting up data collection in the mobile app
If you have already used retargeting based on in-app events in other ad networks, you can skip this step.
Checklist for setting up events in the MMP:
-
Make sure that the MMP collects events you want to optimize your campaigns for or make retargeting for.
-
If you are going to launch product ads and catalog page ads, make sure that you collect the following events: product page viewed, product added to cart, product removed from cart, and product purchased. The events include the IDs of your products.
-
For the Maximum conversions strategy with the “Cost-revenue ratio” limit, make sure also to set a limit on revenue.
If you don't know how to check the event configuration, contact the app developer or your MMP support.
Data format for Text & Image Ads
All types of markup are supported: regular Events, ECommerce, and In-App purchases.
Data format for product ads and catalog page ads
ECommerce events markup is required. It's available for Android versions higher than 3.16.1 on and iOS versions higher than 3.12.0.
The following events are sufficient for running product ads and catalog page ads:
-
showProductDetailsEvent
; -
addCartItemEvent
; -
removeCartItemEvent
; -
purchaseEvent
.
Make sure to pass an SKU (product ID) in the ECommerceProduct class of each event. The other parameters are needed to populate the Ecommerce report.
Alert
Make sure that the product ID in the events matches the product ID in the feed: otherwise, you'll need to generate a new feed or re-launch the app with the other IDs.
Tracking openings
To make sure that AppMetrica can attribute conversions after clicks on universal or tracking links, set up tracking openings by deeplink.
In SDK version 4.0 and higher, tracking is automatic.
Requirements for the Maximum conversions strategy with a CRR limit
For conversions in this strategy, you can use ECommerce events or In-App purchase markup.
Data format for Text & Image Ads
Rich In-App Events are supported.
Data format for product ads and catalog page ads
The following Rich In-App Events are required:
- Product viewed:
af_content_view
. - Product added to cart:
af_add_to_cart
. - Product removed from cart:
remove_from_cart
. - Purchased:
af_purchase
.
Make sure to add the af_content_id
parameter used to pass the product ID to all the events.
For more information, see your MMP's documentation for implementing the event code.
Alert
Make sure that the product ID in the events matches the product ID in the feed: otherwise, you'll need to generate a new feed or re-launch the app with the other IDs.
Requirements for the Maximum conversions strategy with a CRR limit
You need to set up revenue collection in the af_revenue
parameter for in-app events. Instructions for developers:
Data format for Text & Image Ads
All Adjust events are supported.
Data format for product ads and catalog page ads
The format supports events with Partner Parameters (available in the Adjust SDK version 4.0 or higher) that expect offer_id
, which can either be a Product ID or a list of products in JSON format.
Example of an event with one Product ID
AdjustEvent event = new AdjustEvent("VIEWED_CONTENT");
event.addPartnerParameter("offer_id", "10001");
Adjust.trackEvent(event);
Example of an event with a list of products
AdjustEvent event = new AdjustEvent("PURCHASED");
event.addPartnerParameter("offer_id", "[\"1234\",\"5678\"]");
Adjust.trackEvent(event);
If a product ID is used in event parameters but its name differs from offer_id, you don't need to make any edits to your app — you can edit this value when setting up event transmission to Yandex Direct using Parameter Mapping.
Alert
Make sure that the product ID in the events matches the product ID in the feed: otherwise, you'll need to generate a new feed or re-launch the app with the other IDs.
Attribution using deeplink tracking
Adjust needs to support deeplink tracking so it can attribute conversions after clicking to an app. Instructions for developers:
Requirements for the Maximum conversions strategy with a CRR limit
You need to set up revenue collection in your in-app events. Instructions for developers:
Step 2. Setting up transmission of events
Set up transmitting in-app events from the MMP to Yandex Direct to use them for strategy optimization or as retargeting criteria.
For Text & Image Ads
Events are forwarded automatically: no additional settings needed at the MMP level. In the Yandex Direct dashboard, you need to select the events for collecting statistics on mobile app goals.
You can use optimization and retargeting for goals.
For product ads and catalog page ads
-
In the app settings, in the Metrika tag binding field, specify the Yandex Metrica tag.
-
The username must have access to the tag.
We recommend that you use the tag for the site where you have set up e-commerce: in this case, machine learning algorithms will include products viewed in the app for site users, and the other way round. This helps you increase the effectiveness of retargeting.
General setup rules
1. Open the Integrated Partners section and select Yandex Direct.
2. Go to the Integration tab.
3. Enable Activate partner.
4. In the Yandex App ID field, specify the App ID that you obtained when adding your mobile app to Yandex Direct.
5. Enable In-app events postback to send events.
6. Select events and set up SDK Event Name > Partner Event Identifier mapping. Use the EVENT_1, EVENT_2, or EVENT_3 IDs if none of the presets suits you.
7. Select Sending option: All media sources, including organic and Send revenue: Values & revenue to transmit revenue and event parameters.
Requirements for product ads and catalog page ads
1. In the Yandex Ecom Feed Counter ID field, specify the Yandex Metrica tag in 12345
format.
We recommend that you use the tag for the site where you have set up e-commerce: in this case, machine learning algorithms will include products viewed in the app for site users, and the other way round. This helps you increase the effectiveness of retargeting.
2. Select the events:
-
af_content_view
>VIEWED_CONTENT
(required). -
af_added_to_cart
>ADDED_TO_CART
(required); -
remove_from_cart
>REMOVED_FROM_CART
(recommended). -
af_purchase
>PURCHASED
(required).
3. Select Sending option: All media sources, including organic and Send revenue: Values & revenue to transmit revenue and event parameters.
Requirements for the Maximum conversions strategy with a CRR limit
Select Send revenue: Values & revenue to transmit the revenue.
General setup rules
1. Go to the app settings and open Partner Setup.
2. Select Add Partner → Yandex Direct → (+).
3. In the Yandex App ID field, specify the App ID that you obtained when adding your mobile app to Yandex Direct.
4. Enable In-App Revenue Forwarding, Parameter Forwarding, and Session Forwarding.
5. Set up event transmission in Event Linking by selecting the appropriate name from the list. All settings are specified for iOS and Android separately.
Requirements for product ads and catalog page ads
1. In the Yandex Ecom Feed Counter field, specify the Yandex Metrica tag in 12345
format.
We recommend that you use the tag for the site where you have set up e-commerce: in this case, machine learning algorithms will include products viewed in the app for site users, and the other way round. This helps you increase the effectiveness of retargeting.
2. In the Event Linking section, configure event transmission:
-
Product viewed:
Viewed content
(required). -
Product added to cart:
Added to cart
(required). -
Product removed from cart:
Removed from cart
(recommended). -
Purchased:
Purchased
(required).
3. If, in the event parameters, the Product ID isn't named offer_id
, click Partner Parameter Mapping. In the FROM APP field, enter the parameter's name in the SDK, and in the TO PARTNER field, specify the offer_id
.
Step 3. Setting up app links
Use universal links that will lead users to the app if already installed, or to the site if it isn't: this lets you increase the conversion rate for your campaigns.
If you can't or won't set up universal links for some reason, then you can use tracking links.
Setting up universal links
Universal links let you use the same feed for the site, as well as product ads and catalog page ads in unified performance campaigns.
General rules for links
The app link must be suitable for counting conversions, that is:
-
Lead to the app if the app is installed.
-
Lead to the site if the app is not installed or the link is clicked on a computer.
-
Let the MMP attribute conversions to clicks.
How to check whether universal links are set up
Universal links have the format of a regular link (for example, avito.ru
) and are enabled on the site and in the app without the MMP's SDK. If the app is installed, paste the link to Telegram or Notes and click it. The app should open.
If the app is not installed, you can check whether universal links are installed using a file on your site and replacing example.ru
by your domain:
-
iOS: https://www.example.ru/.well-known/apple-app-site-association;
-
Android: https://www.example.ru/.well-known/assetlinks.json.
A page with text should open or a text file will be downloaded.
How to set up universal links
Instructions for different platforms:
If you can't or won't set up universal links for some reason, then you can use tracking links. They include the MMP's domain (for example, adj.st
, onelink.me
, redirect.appmetrica.com
), and they are created in the MMP.
Tracking parameters in universal links
For the conversion to be attributed to Yandex Direct once you click the universal link in the ad, the link must contain the required tracking parameters. For apps running AppMetrica or Adjust, these parameters are added to the advertising link in the same way and place as UTM tags for web traffic, under URL parameters in the campaign, group, and ad settings.
If you use AppsFlyer, enable cross-server click delivery at campaign setup.
Add the referrer=reattribution%3D1
parameter to your campaigns.
In product ads and catalog page ads in unified performance campaigns, you can add a parameter at ad group level without editing the feed.
No other changes to the link are required. Clicks will be sent from Yandex Direct to AppsFlyer using the server-to-server tracking method.
Cross-server click sending is enabled when you set up a campaign in Yandex Direct. Start creating a campaign, select a goal for your mobile app. After that, a section will appear below on the page where you can enable sending clicks to your MMP.
Add the following parameters to the universal link:
-
adjust_ya_click_id={logid}
; -
adjust_campaign={campaign_name}
; -
adjust_t=abc_def
: enter the MMP's tracker token ID (this is the unique identification token automatically created for each tracker in Adjust). Replaceabc
in the case of Android anddef
in the case of iOS. Leave an underscore in the middle. If your app is multi-platform, specify a single MMP ID:adjust_t=abc
. You can use the theadjust_tracker
parameter instead ofadjust_t
.
Sample link:
https://example.ru/cars/new/group/bmw/3er/21398591-21398651?adjust_ya_click_id={logid}&adjust_t=abc_def&adjust_campaign={campaign_name}
Make sure to test universal links before using them in your campaign. This way, you can ensure that these links are properly configured and tracked by Adjust and that the intended content is delivered to the user.
also Universal links FAQs.
Setting up tracking links
We recommend using universal links, but if you can't set them up, you can implement user routing using tracking links, which are created in the mobile tracker interface.
Be sure to update the feed in product ads and catalog page ads in your unified performance campaign when using tracking links. You'll also need to replace links to products in it with tracking links.
Expected link scenarios are as follows:
Scenario |
Link |
Mobile click-through. App not installed |
1. Relevant section or product page on the mobile version of the site. 2. App page in the app store. Once the app is installed, it's recommended to trigger |
Mobile click-through. App installed |
Relevant section or product page in the app. |
Desktop click-through |
Relevant section or product page on the site. |
How to set it up
1. Set up universal links for iOS.
Add:
-
Universal Links support in the app.
-
Deeplink tracking on iOS.
2. Set up deeplink support for Android.
Add:
- Deeplink support in the app.
- Deeplink tracking for Android.
3. Create a SmartLink tracking link.
Settings
Add a remarketing tracker with SmartLink.
Example of setting up links used in the Web+App scenario:
-
In the App Stores field, specify: Google Play, App Store, Fallback (for web).
-
For each App Store, you need to set a Target link and Deeplink:
-
In the Target link field, set a link to the app page in the store or a template in the
https://myshop.ru/{path}
format, replacing{path}
with the path to a specific mobile site page. This way, users who do not have the app will either be sent to the app store or to the mobile site version. -
In the Deeplink field, set a template in the format
myshop://{path}
, replacing{path}
with the path to a specific site page. This way, users who have the app will be sent to the desired page in the app. -
Use an app-to-app link because it supports settings for universal links.
-
In the Fallback field, specify a template in the
https://myshop.ru/{path}
format, replacing{path}
with the path to a specific desktop site page. This way, users who click the link on a desktop will be sent to the desktop version of the site.
If you set up Universal links correctly, an app-to-app link will be displayed — it's the one you should use.
To set up UTM tags and other custom parameters, go to the SmartLink settings and follow the instructions.
Example link:
https://0000000.redirect.appmetrica.yandex.com/cars/new/group/bmw/3er/21398591-21398651?appmetrica_tracking_id=00000000000000000&referrer=reattribution%3D1&click_id={LOGID}&campaign_id={campaign_id}&path=%2F%20cars%2Fnew%2Fgroup%2Fbmw%2F3er%2F21398591-21398651
To learn more, see Tracking links based on Universal Links.
Updating links in the feed
Send the resulting link template to the developer to generate product links in the feed again.
Add a tracking link to the element including the product link. The link must redirect the user to a specific product (either on the site or in the app). For XML/YML feeds, follow the additional requirements.
How to set it up
1. Set up links:
- iOS
- Android App Links
- Samsung OS: URI schemes
2. Add a OneLink template.
It governs the redirection logic in scenarios for all OneLink links used in ad campaigns:
-
The app is not installed: The user is redirected to the appropriate app store or a mobile web address.
Settings
Instructions: Complete Steps 1–8 and 10. Depending on the scenario, in Step 6, configure redirection to the app store or a mobile web page. Add a branded domain if needed. Learn more in the AppsFlyer article.
-
The app is already installed: The user opens the app using Android App Links, iOS Universal Links, or URI schemes.
Settings
-
For iOS Universal Links, specify the Team ID.
-
For Android App Links, specify the SHA256 fingerprint and save the automatically generated code for the intent filter: you'll need it to complete the Android App Links setup.
-
3. Set up OneLink links: These are clickable links that are displayed in ads.
Settings
- Instructions: Steps 1, 2, 3 are mandatory for your scenario:
Media source: Specify yandexdirect_int (determines the pid=yandexdirect_int
parameter).
Campaign: Specify the name of the campaign in Yandex Direct (determines the c=<campaign name>
parameter).
Make sure to enable Retargeting (determines the is_retargeting=true
parameter).
- Deep linking and deferred deep linking to a product page in the app.
Set up each deep_link_value
: These are names for specific in-app content that users will be directed to. Use dynamic values to generate multiple different deeplinks leading to different content within the app. This way, you won't need to change the app code every time.
For more details, see the Unified Deep Linking (UDL) guide for Android and iOS.
You can add the URL for redirecting desktop users to the link in the af_web_dp
parameter.
Add the clickid
parameter required for integration with Yandex Direct, with the {logid}
value (clickid={logid}
). For a list of other parameters, go to the guide page.
- Test the link. See also Troubleshooting and FAQ.
Required link parameters
pid=yandexdirect_int
clickid={logid}
is_retargeting=true
You can add UTM tags and other custom parameters in the OneLink template settings.
Sample link:
https://app.appsflyer.com/ru.magnit.express.android?c={campaign_name}&af_siteid={source_type}{source}&af_adset_id={gbid}&af_ad_id={ad_id}&af_keywords={keyword}&keyword_id={phrase_id}&is_retargeting=true&af_click_lookback=7d&af_reengagement_window=30d&af_inactivity_window=0d&google_aid={google_aid}&android_id={android_id}&af_ad={ad_id}&af_sub1={region_neme}&af_sub2={match_type}&af_sub3={position_type}_{position}&af_sub4={keyword}&af_ip={client_ip}&af_ua={user_agent}&af_lang={device_lang}&af_web_dp=https%3A%2F%2Fdostavka.magnit.ru%2Fexpress%2Fpromotion&af_xp=social&deep_link_value=magnit.dostavka%3A%2F%2Fexpress%2Fpromotion&af_dp=magnit.dostavka%3A%2F%2Fexpress%2Fpromotion&deep_link_sub1=magnit.dostavka%3A%2F%2Fexpress%2Fpromotion&advertising_id={google_aid}&oaid={oaid}&pid=yandexdirect_int&clickid={logid}&af_c_id=
Optional parameters
af_click_lookback
: The attribution window (between the click and opening the app). It's specified in days (for example, 14d). The default value (if you don't pass this parameter) is 7 days.af_reengagement_window
: The re-engagement window (between attribution and conversion). It's specified in days. The default value is 30 days.
Updating links in the feed
Send the resulting link template to the developer to generate product links in the feed again.
Add a tracking link to the element including the product link. The link must redirect the user to a specific product (either on the site or in the app). For XML/YML feeds, follow the additional requirements.
Check the AppsFlyer Help to learn how to enable it.
See also Tracking links based on Universal Links.
How to set it up
1. Set up links for deeplinking in apps.
2. Set up links for reattribution and deferred deeplinking.
To enable deferred deeplinking, you need to:
- Support reattribution via deeplinks on iOS and Android.
- Include device ID (
IDFA
for iOS andGPS_ADID
for Android) in the tracking link.
3. Set up a multi-platform universal tracking link:
-
Create a multi-platform link based on the raw universal tracking link and tracker token.
-
Check if your app's path and query parameters are the same on iOS and Android. Make sure to use the right format:
- iOS and Android share the same path and query parameters.
- iOS and Android apps have different path and query parameters.
We recommend using a deeplink generator when setting up a universal link.
Screenshots of the generator UI with explanations
PLATFORM: Enter your app platform's name as appears in the Adjust dashboard. Valid values include: Android, iOS, and Multiplatform.
AD ENVIRONMENT: There are a number of different deep link formats that all work in different ad environments. For Yandex Direct, select Other.
FORMAT: Depending upon your ad environment, there may be more than one deep link format that is supported. Here, you can specify what format you want to use. For Yandex Direct, select ulink (universal link).
APP: Choose the app in the dropdown menu. This list includes all apps for the selected platform.
TRACKER: Choose the tracker you want to use. All network-level trackers from the app are listed.
RAW UNIVERSAL LINK: The raw universal link is automatically added when you select an app that's enabled in the dashboard and features universal linking.
ANDROID APP SCHEME: The scheme is configured in your app and is specific to each mobile platform.
IOS UNIVERSAL LINK PATH: Path to the in-app destination your users are taken to on iOS. Enter a template or a path to a specific product or section within the app. Learn more about templates and path syntax.
ANDROID DEEPLINK PATH: Path to the in-app destination your users are taken to on Android. Enter a template or a path to a specific product or section within the app. Learn more about templates and path syntax.
CAMPAIGN, ADGROUP, CREATIVE: Macros for Yandex Direct. These are suggested automatically. If you don't need a suggested parameter, remove the associated macro from the field.
LABEL: Use this field to specify parameters that don't fit any other Adjust field.
FALLBACK URL: URL of a specific landing page where you send off-platform users (i.e., clicks from an unsupported OS). Note: If your selected tracker supports iOS, Adjust may redirect MacOS traffic to the Apple App Store. To prevent this, enter a URL for MacOS in the REDIRECT MACOS field.
REDIRECT URL/MACOS/iOS/Android: Add a redirect URL to override Adjust's default redirect to the app store and send users to a specific URL instead. You can redirect users by device platform (REDIRECT MACOS/iOS/Android) or send all users to one single location (REDIRECT URL).
DEVICE ID MACROS: Macros for Yandex Direct. These are suggested automatically. If you don't need a suggested parameter, remove the associated macro from the field.
Descriptions of the parameters in the Adjust documentation
Link examples for different scenarios
Different scenarios trigger the following links generated using the fields described above:
-
If you want to take users who don't have the app to the app store:
-
iOS, app installed: Universal link.
-
iOS, app not installed: Automatic redirection to the app store.
-
Android, app installed: Deeplink.
-
Android, app not installed: Automatic redirection to the app store.
-
Desktop: FALLBACK URL and REDIRECT MACOS.
Sample link:
https://nquw.adj.st/product/100586311342?adj_t=aflb3js&adj_fallback=https%3A%2F%2Fmarket.yandex.ru%2Fproduct--cold-steel-luzon-medium-20nql%2F388454980%3Fcpa%3D1%26sku%3D100586311342&adj_redirect_macos=https%3A%2F%2Fmarket.yandex.ru%2Fproduct--cold-steel-luzon-medium-20nql%2F388454980%3Fcpa%3D1%26sku%3D100586311342&adj_gps_adid=%7Bgoogle_aid%7D&yclid=%7Blogid%7D
-
-
If you want to take users who don't have the app to a webpage:
-
iOS, app installed: Universal link.
-
iOS, app not installed: REDIRECT URL IOS.
-
Android, app installed: Deeplink.
-
Android, app not installed: REDIRECT URL ANDROID.
-
Desktop: REDIRECT URL.
Sample link:
https://nquw.adj.st/product/100586311342?adj_t=aflb3js&adj_redirect_ios=https%3A%2F%2Fmarket.yandex.ru%2Fproduct--cold-steel-luzon-medium-20nql%2F388454980%3Fcpa%3D1%26sku%3D100586311342&adj_redirect_android=https%3A%2F%2Fmarket.yandex.ru%2Fproduct--cold-steel-luzon-medium-20nql%2F388454980%3Fcpa%3D1%26sku%3D100586311342&adj_gps_adid=%7Bgoogle_aid%7D&yclid=%7Blogid%7D&adj_redirect=https%3A%2F%2Fmarket.yandex.ru%2Fproduct--cold-steel-luzon-medium-20nql%2F388454980%3Fcpa%3D1%26sku%3D100586311342&adj_gps_adid=%7Bgoogle_aid%7D&yclid=%7Blogid%7D
-
Mandatory parameters
For accurate attribution of in-app events to Yandex Direct clicks, make sure to include the required tracking parameters in the link:
-
In the tracking link:
adj_ya_click_id={logid}
oradjust_ya_click_id={logid}
. -
In the fallback URL inside the tracking link:
yclid={logid}
UTM tags are specified in the fallback URL.
Sample link:
https://sb00.adj.st/cars/new/group/bmw/3er/21398591-21398651?adjust_ya_click_id={logid}&adjust_t=abc_def&adjust_campaign={campaign_name}&adjust_deeplink=autoru%3A%2F%2Fcars%2Fnew%2Fgroup%2Fbmw%2F3er%2F21398591-21398651&adjust_redirect=https%3A%2F%2Fauto.ru%2Fcars%2Fnew%2Fgroup%2Fbmw%2F3er%2F21398591-21398651%3Fyclid%3D
See also Tracking links based on Universal Links.
Setting up links in the feed
This applies only to product ads and catalog page ads in the unified performance campaign.
Add a tracking link to the element including the product link. The link must redirect the user to a specific product (either on the site or in the app). For XML/YML feeds, follow the additional requirements.
Example of a tracking link in the feed:
<offer id="21398651" available="true">
<url>https://sb00.adj.st/cars/new/group/bmw/3er/21398591-21398651?adjust_ya_click_id={logid}
&adjust_t=abc_def&adjust_campaign={campaign_name}&adjust_deeplink=autoru%3A
%2F%2Fcars%2Fnew%2Fgroup%2Fbmw%2F3er%2F21398591-21398651&adjust_redirect= https%3A%
2F%2Fauto.ru%2Fcars%2Fnew%2Fgroup%2Fbmw%2F3er%2F21398591-21398651%3Fyclid%3D{logid}
</url>
...
</offer>
Warning
Check for the required parameters in the feed links. If needed, you can add them at the ad group level without changing the feed.
Setting up re-attribution
Re-attribution means re-engagement of an inactive user to the app or re-installation of the app as a result of retargeting. If this occurs during the re-attribution window, the re-attribution is counted for the retargeting source.
Configure re-attribution settings in the MMP if you use the mobile app goal in the strategy settings to optimize your conversions or the target cost revenue ratio.
Retargeting attribution guide in the AppsFlyer documentation.
1. In the MMP settings, go to Configuration → App settings.
2. Under Attribution, choose Re-engagement attribution.
The re-engagement attribution settings are enabled separately for each app.
Reattribution tracking section in the Adjust documentation.
1. In the MMP settings, click the Reattribution tab.
2. Specify the indicators:
-
Inactivity period: The time elapsed since the user last opened your app to qualify for attribution. This period is 7 days by default. Use 0 days to reattribute the last click.
-
Reattribution window: The time period between the click and conversion, during which the conversion is attributed to the source. This period is 7 days by default. For example, if a user clicked on a Yandex Direct ad on Monday and bought your product on Friday, the purchase is attributed to Yandex Direct.
Questions?
Alert
Our customer service department can only help you with the campaigns created under the same username you use to contact us. You can check your username by opening ya.ru in another browser tab. Our team can access your data only when processing your request.