Adobe Analytics (Processing Rules)

Adobe Analytics LogoAdobe Analytics Logo

目录

  1. 概述
  2. 它是如何工作的?
  3. What events does Branch send to Adobe Analytics
  4. 它是什么样子的?
  5. 整合指南
  6. Migrating from Data Connectors Integration
  7. 高级
  8. 支持中心

概述

With the Adobe Analytics Data Integration, you can send Branch data to your Adobe Analytics dashboard, helping you understand the power of Branch as an acquisition pathway.

它是如何工作的?

Once the Branch SDK is integrated into the mobile app, Branch can detect which links are leading to installs, opens, and downstream app events. Enabling this Data Integration and providing your Adobe Analytics information will result in Branch automatically forwarding referred events to Adobe Analytics through server-to-server integration.

What events does Branch send to Adobe Analytics?

Branch will send referred installs and opens, as well as any custom and commerce events you track with Branch. Non-referred events, clicks, web session starts, and pageviews will be excluded. Branch also sends all the analytics tags that are attached to the link that drove the referred event. This will allow you to analyze which campaigns, channels, etc. are helping you acquire and engage users.

它是什么样子的?

The data that appears in Adobe Analytics is based on how you configure your reports/workspaces stemming from the Processing Rules.

40604060

整合指南

🚧

先决条件

Branch

Adobe Analytics

Data Connector

  • If you currently have the Data Connector Integration enabled and are satisfied with the data & reporting in Adobe Analytics, you do not need to enabled this integration.

  • If you wish to migrate from the Data Connector Integration to this Processing Rules Integration, please carefully read the Migrating from Data Connectors Integration section before moving forward with the following integration steps.

1. Configure the Branch Dashboard

检索您的 Adobe Analytics 信息

  1. Before navigating to the Branch Dashboard, in your Adobe Analytics Dashboard, navigate to the Mobile Marking UI and find your app.

  2. Navigate to Manage App Settings, scroll down to SDK Analytics Options

14891489
  1. Find the following data:

Branch 字段

Adobe Field Value

Protocol

Use HTTPS

Analytics Server Domain

Tracking Server

Report Suite ID

Report Suite ID

Offline Tracking

Offline Tracking

📘

Adobe Experience Cloud Debugger

You can also use Adobe Experience Cloud Debugger to find the information about your SDK Analytics Configuration. Here is a link to the help guide Network Information | Adobe Data Collection

If you're still not sure about SDK Analytics Configuration please reach out to the Adobe Support team.

输入 Adobe Analytics 信息

  1. Log in to the Branch Dashboard and navigate to the Data Integrations page within Data Feeds.
  2. Locate Adobe Analytics (Processing Rules) from the list.
  3. Enter your Adobe Analytics information
    • For Tracking Server/Analytics Server Domain, do not include http or https. If your value for this is https://test.com, simply put test.com.
  4. Click Enable/Save
14341434

2. Pass Adobe IDs to Branch

🚧

Adobe Launch

This step is not required if the Branch SDK is implemented using the Adobe Launch plugin.
If this step is not completed, the events that Branch sends to Adobe Analytics will not appear, and it will not connect to other data already tracked by Adobe Analytics.

You'll need to pass through all user IDs configured with Adobe, to the Branch SDKs (There are three possible Adobe IDs this integration can track). First, figure out which ID you use by asking your Adobe Consultant/Account Manager, and then pass that value to Branch by calling the setRequestMetadata methods (iOS | Android) of the Branch SDK, BEFORE initializing the session on the Branch SDK.

For example, if your Adobe integration uses the Marketing Cloud Visitor ID or Experience Cloud ID, retrieve the ID from Adobe's SDK, and pass it to Branch's SDK with a key called $marketing_cloud_visitor_id. Sample snippets for all ID types below:

Marketing Cloud 访问者 ID /体验 Cloud ID

Value sent to Branch using $marketing_cloud_visitor_id key. Value sent to Adobe as mid.
Check to see if a cloud id is present, if not, initialize Branch within the callback to utilize the returned cloud id, otherwise initialize Branch outside of the Adobe callback. The best practice is to store the cloud id and then reuse it for subsequent app launches

//Inside *didFinishLaunchingWithOptions*
Branch *branch = [Branch getInstance];
if (experienceCloudId == nil) {
    [ACPIdentity getExperienceCloudId:^(NSString * _Nullable retrievedCloudId) {
        [branch setRequestMetadataKey:@"$marketing_cloud_visitor_id" value:[retrievedCloudId]];
        ...
        [branch initSessionWithLaunchOptions...];
    }];
} else {
    [branch setRequestMetadataKey:@"$marketing_cloud_visitor_id" value:[experienceCloudId]];
    ...
    [branch initSessionWithLaunchOptions...];  
}
//Inside *didFinishLaunchingWithOptions*
if let branch = Branch.getInstance() {
  if experienceCloudId == nil {
    ACPIdentity.getExperienceCloudId { (retrievedCloudId) in branch.setRequestMetadataKey("$marketing_cloud_visitor_id", value:retrievedCloudId)
    ...
    branch.initSession(...)  
  } else {
    branch.setRequestMetadataKey("$marketing_cloud_visitor_id", value:experienceCloudId)
    ...
    branch.initSession(...)
  }
}
//Before you initialize the session.
if (experienceCloudId == null) {
  Identity.getExperienceCloudId(new AdobeCallback<String>() {    
    @Override    
    public void call(String id) {
      Branch branch = Branch.getInstance();
      branch.setRequestMetadata("$marketing_cloud_visitor_id", id);
      ...  
      branch.sessionBuilder(this)…init();
    }
  });
} else {
  Branch branch = Branch.getInstance();
  branch.setRequestMetadata("$marketing_cloud_visitor_id", experienceCloudId);
  ...
  branch.sessionBuilder(this)…init();
}

Analytics(分析)自定义访问者 ID

Value sent to Branch using the $analytics_visitor_id key. Value sent to Adobe as vid. This is a custom user ID that can be set using the Adobe SDK.

//Inside *didFinishLaunchingWithOptions*
//Setting the Identifier with Adobe
[ADBMobile setUserIdentifier:@"Whipple"];
//Passing the Identifier to Branch
Branch *branch = [Branch getInstance];
[branch setRequestMetadataKey:@"$analytics_visitor_id" value:[ADBMobile userIdentifier]]
...
[branch initSessionWithLaunchOptions...]
//Inside *didFinishLaunchingWithOptions*
//Setting the Identifier with Adobe
ADBMobile.setUserIdentifier("Whipple")
//Passing the Identifier to Branch
if let branch = Branch.getInstance() {
    branch.setRequestMetadataKey("$analytics_visitor_id", value:ADBMobile.userIdentifier())
    ...
    branch.initSession(...);
}
//Before you initialize the session.
//Setting the Identifier with Adobe
Config.setUserIdentifier(""Whipple"");
//Passing the Identifier to Branch
Branch branch = Branch.getInstance();
Branch.getInstance().setRequestMetadata(""$analytics_visitor_id"", Config.getUserIdentifier());
...
Branch.sessionBuilder(this)...init();

Analytics(分析)访问者 ID

Value sent to Branch using the $adobe_visitor_id key. Value sent to Adobe as aid.

//Inside *didFinishLaunchingWithOptions*
Branch *branch = [Branch getInstance];
[branch setRequestMetadataKey:@"$adobe_visitor_id" value:[ADBMobile trackingIdentifier]];
...
[branch initSessionWithLaunchOptions...]
//Inside *didFinishLaunchingWithOptions*
if let branch = Branch.getInstance() {
    branch.setRequestMetadataKey("$adobe_visitor_id", value:ADBMobile.trackingIdentifier());
    ...
    branch.initSession(...);
}
//Before you initialize the session.
Branch branch = Branch.getInstance();
branch.setRequestMetadata(""$adobe_visitor_id"", Analytics.getTrackingIdentifier());
...
Branch.sessionBuilder(this)...init();

3. Configure the Adobe Analytics Dashboard

Configure Processing Rules

  1. Open the Report Suite where the data is being sent.
  2. Navigate to the Report suites under the Admin tab.
512512
  1. Select a Report Suite from the list.
16001600
  1. Navigate to Edit Settings > General > Processing Rules.
16001600
  1. Create new Data Processing Rules using the Processing Rules Dashboard.
    If you are already sending Branch events to Adobe Analytics, you should see a list of Context Variables in the list of available parameters. If you don't see them there, we recommend sending some data and waiting for the list to be updated before configuring the data mapping.
    Configure Branch data mapping to Adobe Analytics variables.
22602260

For additional assistance on configuring Processing Rules, please visit the Processing Rules documentation.

  1. Save the rules.

Migrating from Data Connectors Integration

If you are currently using the Adobe Analytics (Data Connector) Integration and are looking to use this Processing Rules Integration there are a few things we need to do to ensure proper migration.

🚧

Data Pause

There will be a brief pause in data being sent from Branch to Adobe Analytics until the Data Connector Integration can be disabled and the Processing Rules Integration can be enabled.

Before enabling Processing Rules

You must disable the Data Connector Integration first before enabling the Processing Rules Integration unless you are using a different Report Suite ID.

  1. Go to the Data Integrations tab in the Branch Dashboard
  2. Search for "Adobe Analytics (Data Connector)" and click the Disable button
993993
  1. Follow the instructions in the integration guide to complete the Processing Rules Integration.

高级

Android Latency

If you're concerned about the additional latency, you can call expectDelayedSessionInitialization conditionally

LauncherActivity.onStart() {
  ...
  Branch.expectDelayedSessionInitialization()
}

asyncOperationCallback() {
  Branch.sessionBuilder(activity).withCallback(callback)...init();
}

支持中心

Example Data Mapping

You are free to set your own data mapping when configuring the Processing Rules. Here is an example of a classification rule set that may be usable for your use case and Adobe configuration:

Adobe 分类

Branch机构分析标签

Source

渠道

Campaign

Campaign

Medium

功能

Action

Branch Event Name

Action Property

Branch Tags

Custom

自定义数据

Action Property

Event Timestamp

模拟事件后未显示数据

With the Adobe Analytics Dashboard, it may take up to ~2 hours for data to appear. We'd recommend you simulate 10-15 events in one testing session, and validate that they show up two hours later so that feedback is transparent and obvious.

If you're not seeing an Adobe ID appended to the Branch events in Adobe's dashboard, you can call enable logging (iOS | Android) on the Branch SDK and inspect the requests to v1/open in-app to confirm the ID is being sent. The key you want to find in this request payload is either $adobe_visitor_id, $marketing_cloud_visitor_id, or $analytics_visitor_id.

什么是上下文数据,Branch 在哪里将其提供给 Adobe?

When sending server-to-server calls to Adobe, Context Data is the part in-between &c. and &.c in the server call. This call cannot be seen via the client (for example, it is not available via Charles Proxy). To see the detailed Branch server calls, please reach out to your Branch Account Manager. In general, values sent in Context Data can be visualized in the Adobe dashboard, and values outside of Context Data cannot. Values like the user identity (e.g. vid, mid or aid) are sent to Adobe, but not in Context Data, so they can’t be visualized in the Adobe Report Suite. However, they are appropriately formatted for Adobe to log events for that user in Adobe.