Configuring Demandbase Adobe Analytics Launch Extension

  • Updated

Solutions Used

  • Demandbase ABM Platform (Required)
  • Classification Rule Builder (Required)


The Demandbase Adobe Launch Extension is designed to work with Adobe Analytics to make your attributes available in your Adobe Analytics reports. It calls the Demandbase IP API asynchronously to identify the company in real time.

How it Works

  1. The extension registers a load event so that Launch Data Elements can receive the data when it’s ready.
  2. 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.
  3. Once configured, the extension calls Demandbase IP API service and stores the data in the browser’s local storage as shown below.


Steps to Configure

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 this Adobe Extensions page).

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.

1.8. Let your CSM know that you plan to migrate so that Demandbase Implementation resources can be made available to sign off on a properly configured integration.

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 Demandbase for Extension
  • Set the Data Element Type to the corresponding element
  • Update the Storage Duration to session



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 a 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 data elements 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 data element tab and add up to 8 more as needed.


Step 4: Configure the 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)
  • Set the event order to 1

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 Event “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



Step 6: Send only 1 Beacon *s.t() call* and Combining Events into one Rule

You might have other events you would like to combine before firing your analytics beacon. Firing your s.t() beacon multiple times is costly but you don’t have to do that. You can combine any event with Demandbase so that both events are complete before firing the beacon. Otherwise, you risk firing the beacon before having Demandbase data. Remember, you can always control how long you wait for Demandbase using the Extension timeout, but you must always combine events in order to actually use them together under 1 Send Beacon Action.

Here are the general set up steps, which are covered in detail below.

  • 6.1. Modify the API call rule from Step 4 “Page Load: Fire Demandbase”
  • 6.2. Modify the set eVars rule from Step 5 “Demandbase Complete: Fire Pageview”
  • 6.3. Add Rule for Page Bottom
  • 6.4. Combining Page Bottom with Demandbase Event and Sending the Beacon
NOTE: These steps are as a result of Adobe Launch not supporting the ability to “AND” Events together. By default, Events are “OR” together. The only way to combine them is to use the custom code as this guide demonstrates.

6.1. Modify the API call rule from Step 4 “Page Load: Fire Demandbase”: If you haven’t already completed step 4, do so at this time.

  • Add a new Action.
  • Select Core for the Extension
  • Select Custom Code for Action Type
  • Select Javascript for Language
  • Open Editor and copy paste this code snippet to keep track of the API event
    window.demandbaseHasCompleted = false;
  • Select Keep Changes


Step 6.1. Final Screen:


6.2. Modify the set eVars rule from Step 5 “Demandbase Complete: Fire Pageview”: If you haven’t completed Step 5, do so at this time.

  • Rename this Rule for clarity: “Demandbase Complete: Set Evars”
  • Remove the Action Adobe Analytics - Send Beacon (We will create a new rule for this later to combine Events)
  • Make sure the Event order is 2 for: “Demandbase - API Call Finished (Success, Fail, or Timeout)”
  • In the Conditions row, add a new Condition
  • Select Regular for Logic Type
  • Select Core for the Extension
  • Select Custom Code
  • Open the Editor and copy paste this code to indicate the complete state of the API
    return window.demandbaseHasCompleted;

6.3. Add Rule for Page Bottom Complete Event

  • Create a new Rule
  • Name it something appropriate such as Demandbase - page bottom completed
  • Choose the Core Event Page Bottom
  • Set the order to 3
  • For the Action row, select Custom Code
  • Select Javascript
  • Open the editor and copy paste this snippet
    window.pageBottomFired = true;
  • Select Keep Changes.

Step 6.3. Final Screen:



Repeat this Step for each Event you wish to combine. Page Bottom is used in this guide as an example because it’s typically the best place to fire the Beacon. If you wish to use a custom event or another Core event, you will need to create a rule as described in this Step. Use Action custom code to declare the status of the Event in the DOM. For example, if you had a Rule, MyCustomEvent (Rule) - In the Action custom code you’d declare:

window.myCustomEventIsComplete = true;

6.4. Combining Page Bottom with Demandbase Event and Sending the Beacon: Create a new Rule or use an existing one that has Page Bottom. Remember this is where we combine Demandbase API Event with Page Bottom Core Event. If your Rule has more than one Event, each one must have a corresponding “Complete” Event as in Step 6.3 so that we can use them in this step. Failure to do so will result in some Events causing the Rule to trigger undesirably before all Events have completed.

  • Add the Page Bottom Event
  • Set the order to 100
  • Add the Demandbase Event “Demandbase - API Call Finished (Success, Fail, or Timeout)” and set order to 5
  • In Conditions, add Custom Code. Open the Editor.
  • Copy and Paste this code snippet. This will AND the Events together.
    return !!window.pageBottomFired && !!window.demandbaseHasCompleted;
  • Select Keep Changes
  • For the Action row, we’ll add back the Adobe Analytics - Send Beacon Action.

Step 6.4. Final Screen:


Step 6 Ending Screen:


Step 7: Set up Classification Reports

7.1. Create the Classifications for each data element/eVar. For information on Conversion Classifications please see the related Adobe documentation.


7.2. Create Classification Rules: Now create the Classification Rules necessary to split out the data from the eVar and put them in the Classification reports.

  • Create 1 Rule per eVar.
  • Use the following Regex for all rows: 

Was this article helpful?

3 out of 5 found this helpful