Tuesday, March 7, 2023
HomeMobile MarketingHow To Ship Department Occasions to Adobe Analytics

How To Ship Department Occasions to Adobe Analytics

In case you are a Department buyer utilizing Adobe Analytics, you in all probability learn about our integration that permits you to ahead Department monitoring occasions on to your Adobe dashboard.

Sending Department occasions to Adobe Analytics is an effective way to maintain Adobe as your important supply of fact for knowledge evaluation. Additionally, you will profit from getting insights into how app customers had been acquired and different key knowledge that Department appends to your downstream occasions.

This weblog submit will give you step-by-step directions to arrange the Department Integration with Adobe Analytics. For extra info on what occasions you must monitor utilizing Department, we advocate exploring this weblog.

Test to make sure you have the stipulations

Earlier than you start the combination course of, guarantee you’ve an app arrange with the next:

  • The most recent Department SDK
  • Adobe’s Cell Core SDK (together with the Analytics and Id extensions)
  • Entry to Department’s Information Feeds

For those who meet these stipulations, skip right down to learn to allow the Adobe integration. For those who aren’t but up and operating with Adobe Analytics, listed below are the bare-bones steps so as to add of their SDK and full the prerequisite steps:

  1. First, open the app degree construct.gradle file. Add the next two traces as dependencies. These will import Adobe’s Core SDK and Analytics plugin respectively.
dependencies {
    implementation 'com.adobe.advertising and marketing.cell:sdk-core:1.+'

    implementation 'com.adobe.advertising and marketing.cell:analytics:1.+'

2. Subsequent, open your Software class. On the high of the code, import Analytics, Id, and MobileCore from com.adobe.advertising and marketing.cell.

import com.adobe.advertising and marketing.cell.Analytics

import com.adobe.advertising and marketing.cell.Id

import com.adobe.advertising and marketing.cell.MobileCore


3. Inside the onCreate() operate, initialize the Cell Core part and register the Analytics and Id extensions. Right here is the complete code:

override enjoyable onCreate() {




strive {




} catch (e: Exception) {

Log.e("Debug", e.toString())





Let’s break down the code to know the influence of every part.



These traces set the MobileCore utility to this utilizing the setApplication() operate. Then, you make the most of the configureWithAppID operate and move within the app ID.

Be aware: You even have the choice of performing this configuration with a file. Please seek advice from Adobe’s documentation on the Configuration API for extra info.

strive {




} catch (e: Exception) {

Log.e("Debug", e.toString())


Subsequent, register the Analytics and Id extensions after which begin the MobileCore SDK. I like to recommend wrapping these traces of code within a try-catch block. This manner, if an exception is thrown, your utility gracefully handles it and doesn’t crash.



The ultimate two traces are pertinent to the Department SDK integration. They deal with enabling debug logging and initializing the Department singleton occasion. At this level the Adobe Cell Core SDK is about up in your app, together with the Analytics and Id extensions.

Now that the prerequisite steps are full, you may start establishing the configuration to ship Department occasions to Adobe.

Allow the Adobe integration within the Department Dashboard

The subsequent step is to navigate to your Department Dashboard and allow the Adobe Information Analytics Integration. To do that, choose Information Feeds (the primary possibility underneath Exports on the left sidebar of the Department Dashboard.

Branch dashboard screenshot of Exports area

Then choose the Information Integrations tab.

Branch dashboard screenshot of Data Integrations tab

Search the record of companions for Adobe Analytics (Processing Guidelines).

Be aware: The Information Connector integration is a legacy integration and shouldn’t be chosen.

Branch dashboard screenshot of Partners area showing Adobe Analytics and Adobe Analytics (Data Connector) section

Enter the requested credentials. Particulars of the place to seek out these may be present in this documentation.

Screenshot of Branch dashboard showing the protocol, tracking server, and report suite ID (Android/iOS), offline tracking (if applicable), and the Enable button to activate the integration

Enter the protocol, monitoring server, and report suite ID (Android/iOS). Then toggle offline monitoring (if relevant) and select the Allow button to activate the combination. When you do this, Adobe Analytics (Processing Guidelines) ought to transfer to the enabled part of the Companions area and have a inexperienced spotlight to the left of it.

Screenshot of Branch dashboard showing the Adobe Analytics (Processing Rules) in the enabled section of the Partners field with a green highlight to the left of it.

Congratulations! This completes the Department dashboard configuration. The subsequent step will contain making code adjustments to the app.

Make the mandatory adjustments to the app code

Subsequent, open up the .kt or .java file for the exercise you’ve set as much as deal with Department routing. That is the exercise you added to the intent-filters when initially establishing the Department SDK.

On the high of the code, import AdobeCallbackWithError, AdobeError, and Id from com.adobe.advertising and marketing.cell. You will want these lessons on this file.

import com.adobe.advertising and marketing.cell.AdobeCallbackWithError

import com.adobe.advertising and marketing.cell.AdobeError

import com.adobe.advertising and marketing.cell.Id

Inside the onStart() lifecycle methodology, full these three steps:

  • Delay the initialization of the Department SDK
  • Retrieve the Expertise Cloud ID (ECID)
  • Initialize the Department SDK after getting the ECID

1. Delay the initialization of the Department SDK by calling the expectDelayedSessionInitialization() operate.


2. Use the getExperienceCloudId operate to retrieve the ECID. You possibly can both provide an AdobeCallback or an AdobeCallbackWithError. I like to recommend the latter, particularly when debugging, so you may get info if an error happens. The callback provides you two capabilities, fail and name. Fail() will likely be referred to as if an error happens. Name() will likely be referred to as if the ID was efficiently retrieved.

Id.getExperienceCloudId(object : AdobeCallbackWithError<String?> {

override enjoyable fail(error: AdobeError) {

override enjoyable name(id: String?) {



3. Output a message with the related error within the fail operate for debugging functions.

override enjoyable fail(error: AdobeError) {
if (error === AdobeError.UNEXPECTED_ERROR) {

Log.e("Debug", "UNEXPECTED_ERROR")

} else if (error === AdobeError.CALLBACK_TIMEOUT) {

Log.e("Debug", "CALLBACK_TIMEOUT")

} else if (error === AdobeError.CALLBACK_NULL) {

Log.e("Debug", "CALLBACK_NULL")

} else if (error === AdobeError.EXTENSION_NOT_INITIALIZED) {




4. Add some code within the decision() operate. To ensure that Adobe to ingest the occasions that Department forwards to it, these occasions have to have the ECID added to them as customized knowledge. For this, you should utilize the setRequestMetadata operate and move in the important thing $marketing_cloud_visitor_id as the primary argument, and the ECID because the second argument.

override enjoyable name(id: String?) {

Department.getInstance().setRequestMetadata("$marketing_cloud_visitor_id", id!!)



Necessary: You should definitely name setRequestMetadata earlier than the Department SDK is initialized!

After that, you may transfer the decision for initializing the Department SDK beneath the road of code you simply wrote. This manner the Department SDK is all the time initialized after the ECID is about as metadata.

override enjoyable name(id: String?) {

Department.getInstance().setRequestMetadata("$marketing_cloud_visitor_id", id!!)

Department.sessionBuilder([email protected]).withCallback { branchUniversalObject,

linkProperties, error ->

if (error != null) {

Log.e("BranchSDK_Tester", "department init failed. Attributable to -" + error.message)

} else {

Log.e("BranchSDK_Tester", "department init full!")

}.withData([email protected]).init()


5. Be sure you are logging occasion(s) by Department that may be despatched to Adobe. By default, Department will ship referred opens and installs (opens and installs that resulted from a click on on a Department hyperlink) in addition to any Commerce or Customized occasions you monitor to Adobe. On this pattern app, a couple of buttons monitor Add to Cart, Buy, or a Customized Occasion on click on.

addToCartButton.setOnClickListener {



customEventButton.setOnClickListener {

BranchEvent("Customized Occasion").logEvent(applicationContext)


purchaseButton.setOnClickListener {



Check within the Department Dashboard

Now leap to the Department Dashboard and make the most of Liveview to ensure the occasions are firing, getting tagged correctly with the ECID, and efficiently reaching Adobe.

On the left sidebar, all the best way on the backside, is the Liveview possibility. There are two areas in Liveview which you’ll have to work with for this a part of the setup.

Branch dashboard screenshot of the Tools section to enable Liveview

Occasions tab

Let’s deal with the Occasions tab first. You must see this tab by default within the Liveview part.

Branch dashboard screenshot showing the Events tab in Liveview

You’ll have to set the filter to an occasion that Adobe Analytics will settle for from Department.

Be aware: Department will solely ahead referred (pushed from a Department hyperlink click on) opens, installs, and reinstalls, in addition to any commerce and customized occasions you monitor through Department.

For instance, use the drop down and set the worth to customized occasion.

Screenshot of Branch dashboard showing the custom event dropdown

Then choose the Replace Session button. Liveview will start listening for customized occasions.

Subsequent, you have to really set off a number of customized occasions in our app so Liveview can decide up these occasions. On this instance, we’ve used a primary pattern app that features Add To Cart, Buy, and Customized Occasion buttons that may set off commerce occasions when clicked.

Graphic of a Branch Adobe Test app with buttons Add to cart, Custom event, and Purchase.

After triggering the customized occasion, wait a couple of minutes till a Load New Occasions button seems, highlighted in a light-weight blue coloration. Deciding on this button will load the brand new occasions you’ve triggered within the app in Liveview the place it is possible for you to to examine them in near-real time.

Screenshot of Load New Events button

Now you may choose the sq. within the high proper to disclose the Add/Take away Columns dropdown menu. You possibly can toggle the checkboxes subsequent to any of the fields so as to add that column and uncheck the field to take away a column.

Ensure that so as to add the customized knowledge column to the view to make sure that the Advertising and marketing Cloud Customer ID (i.e. Expertise Cloud ID) is getting correctly appended to occasions. With out this ID, Adobe won’t ingest occasions from Department.

Screenshot of Add/Remove Columns section with name, timestamp, platform, featured, and custom data checked

You must now see a area within the customized knowledge that reveals $marketing_cloud_visitor_id alongside with a worth. For those who see this, you’ve efficiently retrieved the ID from the Adobe Analytics SDK in your app and appended it to the occasions that Department will likely be forwarding to Adobe.

Screenshot of custom event with $marketing_cloud_visitor_id added

Webhooks tab

You additionally want to verify that the webhook for the occasion is being efficiently acquired by Adobe. To do that, choose the Webhook Data tab in Liveview the place you may view if webhooks are getting despatched from Department to server endpoints.

Screenshot of Webhook Record tab in Branch dashboard

Use the Add Filter button to examine if the worth of webhook accomplice key equals di_adobe_analytics_pr. Be sure that the webhooks displaying are the one ones getting despatched to Adobe.

Screenshot of Add Filter button

Screenshot of the value of webhook partner key equaling di_adobe_analytics_pr to ensure that the webhooks showing are the only ones getting sent to Adobe.

A lot of webhooks might be despatched from the app at any time, and Liveview will conduct sampling. Due to this, it’s all the time greatest to use filters as a lot as doable to precisely see the specified webhooks.

To use these adjustments, choose the Replace Session button.

Now you must start to see the webhook data coming by. Let’s take evaluate a few of the key info on these webhook data to raised perceive the method by which Department is sending these occasions to Adobe.

Screenshot of key information on these webhook records

The context knowledge is the primary piece of knowledge contained on this webhook document. It’s additionally the half that will get despatched to Adobe to be captured by the processing guidelines. The context knowledge may be seen within the webhook payload beginning with &c. and ending with &.c. This knowledge is used to populate eVars (aka Context Variables) through processing guidelines in Adobe.

A zoom in on the key information on these webhook records

The webhook response code will point out whether or not the occasion was efficiently despatched to Adobe. A code of 200 means the occasion was appropriately despatched.

Screenshot of The webhook response code showing a code of 200, which means the event was correctly sent.

You may have now efficiently leveraged Department’s Liveview to validate that the occasions are being correctly despatched to Adobe Analytics.

Arrange processing guidelines within the Adobe Analytics Dashboard

After getting the occasions tagged with the ECID and firing through the Department SDK, you may log into the Adobe Analytics dashboard to carry out the following step: configuring the processing guidelines.

On the fast entry pane, choose Analytics.

Screenshot of Adobe Analytics quick access pane highlighting the Analytics section

From there, choose AdminAll admin.

Screenshot showing Adobe Analytics dashboard highlighting Admin and All Admin

Underneath the Information configuration & assortment part you’ll discover a report suites possibility; choose it. Now you’ll be taken to a view of the assorted report suites you’ve configured in Adobe.

Screenshot of Adobe Analytics dashboard showing the Data configuration & collection section where you’ll find a report suites option

Choose the report suite you need to edit.

Screenshot of Adobe Analytics showing the report suite you want to edit

Then go to Edit SettingsBasicProcessing Guidelines.

Adobe Analytics screenshot showing Edit Settings → General → Processing Rules.

So as to add a brand new processing rule, choose the Add Rule button.

Adobe Analytics screenshot showing the Add Rule button

Give your rule a title within the Rule Title enter area. On this case, I’ve specified the title to be Department Occasion Rule.

Screenshot showing how to give your rule a title in the Rule Title input field.

Subsequent, add a situation for the Processing Rule to take impact, which you are able to do by choosing the Add Situation button.

Adobe Analytics screenshot showing how to add a condition for the Processing Rule to take effect, which you can do by selecting the Add Condition button.

An instance of a situation is that if the worth of branchmetrics.marketing campaign, coming by within the context knowledge, is about. This implies this knowledge got here from Department and has specified a sure marketing campaign.

Adobe Analytics screenshot showing the example of a condition, which in this case, is if the value of branchmetrics.campaign, coming through in the context data, is set.

Be aware: This is only one primary instance of a situation. There are various Department metrics values you should utilize when establishing the circumstances for a processing rule. I encourage you to discover all of the choices and select what’s greatest on your app’s knowledge reporting targets and KPIs.

Screenshot of Adobe Analytics showing all the Branch metrics values you can use when setting up the conditions for a processing rule

Then comes the precise rule.

On this case, you’ll specify that the worth of your eVar1 variable’s Inside Marketing campaign ought to be overwritten by the branchmetrics.marketing campaign context knowledge coming in from Department. The eVar1 variable will seize the occasions coming in from Department and exchange the default marketing campaign info with the marketing campaign info it receives from Department.

Screenshot of where you will specify that the value of your eVar1 variable’s Internal Campaign should be overwritten by the branchmetrics.campaign context data coming in from Branch.

Don’t neglect to decide on the Save button to avoid wasting the processing rule you simply created.

Congratulations! Now you must have the ability to seize Department knowledge coming into your Adobe Analytics experiences. You’ll get insights into how app customers had been acquired and different key knowledge that Department appends to your downstream occasions.

Department and Adobe assist optimize your campaigns

With Department and Adobe Analytics, you may higher optimize buyer experiences, enhance marketing campaign efficiency, and create a holistic view of end-to-end buyer journeys throughout cell, desktop, TV, and offline channels.

Department may help you make this partnership one which drives progress and engagement on your cell expertise.



Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments