Adjust is a mobile attribution platform that provides mobile marketers with measurement data for advertising sources. If you want to send attribution data from Adjust into Kumulos for audience segmentation and message targeting, you can do so by following this guide.

Ingredients

This recipe assumes that you have an Adjust account and have integrated the latest Adjust SDK into your mobile app (alongside the latest Kumulos SDK).

Recipe

This recipe consists of two parts. Firstly, implementing the Adjust Attribution Callback and then sending this attribution data to Kumulos for use in audience segments and message targeting.

Implement Attribution Callback

Adjust considers a variety of different sources for attribution, so this information is provided asynchronously. Follow these steps in your application to set up a callback to be notified when attribution changes. This example uses Adjust's Unity SDK, but the principles are the same for other languages and SDKs.

Create a method with the signature of the delegate Action<AdjustAttribution>.

After creating the AdjustConfig object, call the adjustConfig.setAttributionChangedDelegate with the previously created method. You can also use a lambda with the same signature.

If instead of using the Adjust.prefab the Adjust.cs script was added to another GameObject, be sure to pass the name of the GameObject as the second parameter of AdjustConfig.setAttributionChangedDelegate.

Because the callback is configured using the AdjustConfig instance, call adjustConfig.setAttributionChangedDelegate before calling Adjust.start.

using com.adjust.sdk;

public class ExampleGUI : MonoBehaviour {
    void OnGUI() {
        if (GUI.Button(new Rect(0, 0, Screen.width, Screen.height), "callback")) {
            AdjustConfig adjustConfig = new AdjustConfig("{Your App Token}", AdjustEnvironment.Sandbox);
            adjustConfig.setLogLevel(AdjustLogLevel.Verbose);
            adjustConfig.setAttributionChangedDelegate(this.attributionChangedDelegate);

            Adjust.start(adjustConfig);
        }
    }

    public void attributionChangedDelegate(AdjustAttribution attribution) {
        Debug.Log("Attribution changed");

        // ...
    }
}

The callback function will now be called when the SDK receives final attribution data. Within the callback function you have access to the attribution parameter with the following properties:

  • string trackerToken the tracker token of the current attribution
  • string trackerName the tracker name of the current attribution
  • string network the network grouping level of the current attribution
  • string campaign the campaign grouping level of the current attribution
  • string adgroup the ad group grouping level of the current attribution
  • string creative the creative grouping level of the current attribution
  • string clickLabel the click label of the current attribution
  • string adid the Adjust device identifier

Send Attribution Data to Kumulos

Now that you have attribution data from Adjust, you can send the attribution source to Kumulos for audience segmentation and targeting. You can either set the attribution source as an attribute on the user or track an event with properties for attribution source. In this example, we'll track an event.

It is up to you what you consider to be the attribution source as there is no common definition of this across attribution providers and apps or games. Consider the question 'Where do I spend marketing dollars acquiring users?' as the answers to this will generally be the level of granularity you want for the attribution). You can either send up different attribution parameters as event properties or concatenate a few attribution parameters together to a single attribution source property to make it easier to work with. For example <Network> - <Campaign> might return Taptica - May '20 Campaign etc.

Update your attributionChangedDelegate method as follows:

    public void attributionChangedDelegate(AdjustAttribution attribution) {
        Debug.Log("Attribution changed");

        var props = new Dictionary<string, object>();
        props.Add("source", attribution.network + " - " + attribution.source);
        Kumulos.Shared.TrackEvent("attribution.changed", props);
    }

For each install Adjust has attribution data, you can see the attribution.changed event in the Install Explorer and counts of attribution sources in the Analytics Explorer

Analytics Explorer

Any attribution data you send to Kumulos will need to take into account any agreements you have entered into with traffic partners. In particular, see Facebook Advanced Mobile App Tracking Terms and Conditions and Adjust's notes on this which specifically state that if you are working with Facebook data and are looking to forward attribution data in the SDK to other partners such as Kumulos, you must filter the detailed Facebook data (ad group and campaign IDs) to a single 'Facebook' source that does not include ad group IDs as strictly no third parties should have access to Facebook targeting data in association with device IDs.

Further reading

Please see the Audience Targeting docs for details of how to use attribution source when creating audience segments for message targeting.

Audience Segment