3 integration tips to make our new partner's lives much easier
Integration Engineer Team Lead
Posted Mar 31, 2017
Every day we receive requests from prospective new partners who want to get integrated and begin working with our mutual clients as soon as possible. While our dynamic API integration offers flexibility and time saving resources for both sides there’s still the possibility of some confusion when it comes to getting to grips with our platform. While us on the integrations team handle a lot of individual questions, there are a few which come up again and again, and that we think could be answered with a quick blog post. So, here are few tips that will help you to avoid some of the most common integration challenges.
Encode your callbacks the right way
The core essence of our dynamic integration is that it allows partners to pass their callback values (for all activities) directly on click or impression. Assuming user installs (or any other activity) get attributed to one of your engagements, data would be passed back right away based on the callbacks provided.
Due to this process, it’s important to make sure that information is sent and correctly processed by us - that's where URL encoding comes into the picture. Since (when looking at the logic of it) we’re passing a URL string within a URL string, all sensitive (read: potentially structure breaking) characters need to be “secured”.
However, with us, there’s nothing to worry about. Our Partners’ tool is there to assist you. With its help you can easily combine the client-shared Adjust tracker URL with any of the callbacks you might want to receive back on your side; whether it’s for clicks, installs, sessions, reattributions or post-install events.
Check what you’re tracking before you begin
Campaign optimization plays a hugely important role in mobile user acquisition processes, so it’s important to make sure that you’re receiving all the right information you might need before you begin your campaign activities. With Adjust, you’re in full control of what’s being sent back to you, including specific user device data, in-app event triggers, and app open notifications.
Before the launch of the campaign, check that your setup includes all the data points you want to track, since updating your setup later won’t affect the users who were already engaged through the old URL structure. Without making sure everything is perfect from the get-go you could lose valuable data on your user acquisition campaigns.
Ensure that engagements are passed on correctly
Once your campaigns and trackers are setup, you’re good to go. Sometimes even with the proper setup we encounter cases where partners notice certain discrepancies in engagements tracked. There are several common explanations for them when they happen:
- One may be related to click deduplication. Whenever a user intentionally or non-intentionally engages with an ad served multiple times within a window of 60 seconds, only the first-click would be counted on our side. To avoid this, you need to make sure that you’re looking at the same nature of the statistics in your system - as in, gross vs. unique engagements.
- More commonly, some discrepancies can be related to clicks or impressions sent server-side. Whenever a partner wants to redirect users directly to the App Store (or any other landing page), the engagements are meant to be sent to Adjust server-side. To make sure that legitimacy of such user interactions is true, we require device identifiers to be passed along with any other information. Failing to send given data on server notification would end up with us rejecting it and, of course, not taking those engagements into consideration once it comes to user attribution processes.
These are the most suggested “best practices” when it comes to campaign and tracking setups. We encourage our partners to spend some time beforehand and look into the details of how it all works, and we gladly walk our partners through the process should problems arise. Our docs also contain a lot of information which can help you get started.