Configuring Demandbase Adobe Analytics Launch Extension


The Demandbase Adobe Launch Extension was designed for Adobe Analytics and is currently accepting Early Adopters for its beta launch. Customers interested in this integration should contact their CSM.

The principles of the extension are similar to the existing integration with Demandbase where multiple Demandbase data attributes are collected in one or more eVars upon page load and converted into classification reports in Adobe.

Note: This integration is still in beta and will require Classification Rule Builder access to setup rules manually.

Sections in this Article:

Technical Overview

Demandbase Launch extension calls the Demandbase IP API asynchronously to identify the company in real time. The extension registers a load event so that Launch Data Elements can receive the data when it’s ready. Data Elements are then mapped to eVars in the Adobe Analytics Launch Extension. Each Data Element will store 8 firmographic attributes delimited together which in turn means each eVar will have 8 data points to convert into 8 classification reports via Classification Rule Builder. 

How Does Launch Get Demandbase Data?

Once configured, the extension calls Demandbase IP API service and stores the data in the browser’s local storage as shown below. This is fundamentally how all the data is made available to Launch so it it’s important to understand this prior to configuring the extensions.  


Configuration Steps

Here are the main configuration steps.

Step 1: Prework

1.1. Acquire your Demandbase API Key for Adobe from your CSM if you haven’t already.

1.2. Install the Core, Adobe Analytics and Demandbase Extensions (see installing extensions).

1.3. Add Adobe Analytics dev and production report suite ID to your Adobe extension. Request these from your Adobe administrator if you need them.

1.4. Create up to 5 eVars. We store 8 attributes into each eVar and use Classification Reports. So create no more than 5 eVars for receiving Demandbase data which totals to 40 attributes.

1.5. We recommend running Adobe Analytics prior to installing Demandbase. This will make it easier to isolate issues during installation.

1.6. Make sure your Launch Environment is ready and installed on your website.

1.7. Confirm that you have administrator access to Launch.

Step 2: Map the Data Elements

2.1. Create the Data Elements: In order to tell Launch where to pick up the Demandbase data you need to create one Data Elements for each eVar.

  • Name your Data Element the same as your eVar name for easy mapping

2.2. Map the Data Elements:

  • Select Core for Extension
  • Select Local Storage for Data Element Type and use the following local Storage item Names for each Data Element:
    • Demandbase.AdobeLaunch.demandbaseDataElement1
    • Demandbase.AdobeLaunch.demandbaseDataElement2
    • Demandbase.AdobeLaunch.demandbaseDataElement3
    • Demandbase.AdobeLaunch.demandbaseDataElement4
    • Demandbase.AdobeLaunch.demandbaseDataElement5



Step 3:Configure the Demandbase Extension

3.1. Obtain your API Key: If you don’t have your API key yet please contact your CSM.

3.2. Set the IP API Call Timeout: This is how long the extension will wait for the Demandbase API to identify the visitor. Generally, the longer the wait time, the more data is collected. For more information about this please see the FAQ section.

3.3. Configure Default Values: These are values sent to Adobe given certain situations. These default values are for grouping data that are similar to reduce noise in reports where the data is not relevant. For example, in a Company Name Report, where you will see company traffic and names, grouping all non-company traffic is done by setting the default value to Non Company Visitor. You would do this so it doesn’t clutter the Company Name reports with undefined values.

  • Non Company Visitor: This refers to non-company IP’s from visitors hitting your website such as from a residential or hotel restaurant IP.
  • Non-Target Account: This refers to a company that is identified but not in a target account list or Audience. In other words, if you had a “Prospect” Watch List or custom attribute, companies not in this list will be grouped by “Non-Target Account” to keep reports clean.
  • Target Account but Attribute Unavailable: This is when company is in your list but you have not assigned it a custom attribute value. So in the “Prospect” list example, if your custom attribute was account_status but the value was NULL, in this case it will return the default value.
  • Unavailable Attribute: When a company is identified but one of the data attributes is NULL or empty. So stock_ticker = NULL would return the default value.

3.4. Configure the Data Elements: Each data element tab (i.e dataElement1, dataElement2...etc) represents an eVar. Each cell named Attribute 1, Attribute 2 and so on is for a Demandbase data attribute selected from the list of API attributes available. The attributes 1-8 represent the order in which they’re strung together in the eVar.

  • The first 2 dataElements are prefilled for you but you may choose to modify these. We recommend the default setup if you have no existing Demandbase Adobe integration.
  • Existing customers should review the Attribute cells in which there are watch_list_ values with your CSM to make sure you’re using the correct ones.
  • For additional attributes, choose which company attributes you will be pushing to Adobe Analytics from the list here Use the API Variable Names when filling in the Attribute cells.
  • To use a watch list attribute / custom attribute (from a target account list), prefix the name with watch_list_ (watch underscore list underscore). For example, if you have a watch list attribute campaign_id, then you can use watch_list_campaign_id.
  • Once you have 8 attributes selected, you can proceed to the next dataElement tab and add up to 8 more as needed.


Step 4:Configure Demandbase Firing Rule

You’ll need 2 sets of firing rules. This guide uses the Adobe Analytics “Action” from Launch. You can also use the Adobe Analytics Launch Extension directly to set eVars.

4.1. Create a new rule

4.2. Name the rule “Page Load: Fire Demandbase”

4.3. Add Event:

  • Select Core Library Loaded (Page Top)

4.4. Add Actions:

  • Select Demandbase Extension
  • Select callDemandbaseIpApi for Action Type
  • Name the Action “Demandbase - callDemandbaseIpApi”



Step 5: Set eVars and Fire the Beacon

5.1. Create a new Rule

5.2. Name it: Demandbase Complete: Fire Pageview

5.3. Add Event:

  • Select Demandbase Extension
  • Event Type = API Call Finished (Success, Fail, or Timeout)
  • Name the Even “Demandbase - API Call Finished” (Success, Fail, or Timeout)

5.4. Set the Order to 50: You’re firing this consecutively to Demandbase API rule, so this should be a higher number than that rule)


5.5. Add Actions:

  • Select Adobe Analytics Extension
  • Action Type = Set Variables
  • Name = Adobe Analytics - Set Variables

5.6. Map the eVars to the Data Elements



5.7. Add an Action:

  • Select Adobe Analytics Extension
  • Action Type = Send Beacon
  • Adobe Analytics - Send Beacon




Why does this extension require a Timeout?

This is somewhat by design, on Adobe’ end. We have a racing condition here. Adobe Analytics has no architecture for real-time 3rd party data to be collected long after a page view has already happened. This means any dynamic data that relies on 3rd party data must use some sort of “waiting” mechanism to collect the data before proceeding with a page view.

This method is preferred than previous integrations because it gives over control to the customer so they decide how much data they want to collect. The longer the timeout the more data is collected. It standardizes the approach and data collection to be more predictable rather than constantly testing in your staging environments to see what kind of deployment works best and how to place the tags just right in relation to Adobe.

My current integration with the Data Connectors (Demandbase V3) doesn’t have a Timeout, can I do the same here?

Not quite. While the current integration doesn’t leverage a timeout it actually has a “natural” waiting mechanism. You’re asked to fire Demandbase tags in the head or top of body while your Adobe pixel should fire in the footer. This placement between the tags is causing a natural delay on your Adobe page view because you’re firing Demandbase right away to collect data while your page view happens at the bottom of the page after some time has passed.

Drawbacks with using a natural waiting mechanism without a timeout:

  • Your website loads at different times with different speeds depending on the visitors. This renders the delay unpredictable and unreliable.
  • Deployment is tricky and requires many iterations. Firing Demandbase at the top means more tags that fire in the top than you might like. Firing Adobe in the bottom doesn’t guarantee you’ll have Demandbase ready in time still.
  • There is no control in how much data you collect. It’s all based on the organic timing and load times of your website.

Can I use more than 5 eVars?

Not in this initial release. But we’re always looking for feedback, tell us more!

Can I use Adobe Launch and DTM at the same time?

Not according to Adobe. You can use either one but not both for Analytics or for Demandbase.

Does this integration have a corresponding Data Connector?

No, unlike previous integrations this one does not have a Data Connector. Adobe has paused their Data Connector program and is not developing new 3rd party connectors. For this reason, you may not be able to generate classification rules automatically and have to do it manually. We are still investigating alternative methods.

Does this Extension use a synchronous (blocking) API call?

No, it is all asynchronous. That’s actually why we have a timeout, so that if the data isn’t ready you’re still firing the page view call.

Where is the code hosted?

All the code is hosted on Adobe Launch. We only serve our IP API.

Was this article helpful?
0 out of 0 found this helpful