Demandbase Personalizer: User Guide

Follow

Before you begin

  • To use this app, you must obtain an API key from Demandbase. To obtain a Demandbase API key, please consult the Demandbase Success Center article on Account Connector.
  • If your Hub uses Front End V2, you must also install the Compatibility Pack app. If you are not sure if your Hub uses Front End V2, see this article for help.

 

About Demandbase Personalizer

Demandbase Personalizer can dynamically personalize selected Streams in your Hub for individual visitors, using Demandbase firmographic data about those visitors. Using the Demandbase API, the app can:

  • Dynamically filter the content in a Stream: Using Item tags and Demandbase firmographic data, Demandbase Personalizer can selectively display only those Items in a Stream that carry tags relevant to the current visitor. For example, if a visitor is identified by Demandbase as being in the Software & Technology industry, the app can automatically display just Items that have been tagged as relevant to that industry.
  • Automatically set a visitor's organization logo on a Stream: Demandbase Personalizer can use data from Demandbase to automatically populate the visitor’s organization logo on Streams that use the Banner+Logo template.
  • Automatically personalize content text: Simply insert variables into content titles, descriptions, body text, CTAs, etc., and Demandbase Personalizer will automatically insert the appropriate values form the visitor's Demandbase data into to personalize content for the visitor.

 

Setup: Enabling Item tags for Custom Code

Demandbase Personalizer uses Uberflip Item tags to personalize content for individual visitors. By default, these tags are only displayed in the Uberflip app, and are not included when an Item is viewed in the Hub's front end. To make these tags available to app like Demandbase Personalizer, you must enable the setting Include Item tags for Custom Code.

Info

This setting is Hub-specific, so you must enable it separately in each Hub where you want to use Demandbase Personalizer.

  1. Log in to your Uberflip account and use the Hubs menu to select the Hub where you want to enable the setting.
  2. Click on Hub Options > Advanced.
  3. Under the section Content Experience, check the box next to Include Item tags for Custom Code:
    image.png
  4. The change will be saved automatically, and will take effect immediately.

 

Configuring the Demandbase Personalizer app

To use Demandbase Personalizer in your Uberflip account, configure the app's settings. These settings control the app's functionality, and how it is applied to your Hubs and Streams.

You can configure settings for Demandbase Personalizer at the Account Level, the Hub Level, the Stream Level, or all three:

  • Any settings you configure at the Account Level will apply to all Hubs in your account.
  • Any settings you configure at the Hub Level will apply to that Hub only. If you have also configured Account Level settings, Hub Level settings will override them for that specific Hub.
  • Any settings you configure at the Stream Level will apply to that Stream only. If you have also configured Account and/or Hub Level settings, Stream Level settings will override them for that specific Stream.

Some of this app's settings can only be configured at certain levels. The level(s) at which any given setting are available are indicated beside each setting below.

For instructions on how to access Account, Hub, and Stream Level settings for any Uberflip Marketplace app, see Configure settings for Uberflip Marketplace apps.

IP API Key

Available at: Account Level | Hub Level

Required This setting is used to specify your Demandbase IP API key, which activates the app and allows it to access the Demandbase API.

  • To activate the app, enter your Demandbase IP API key into the field.

Enable

Available at: Stream Level

Optional This setting is used to enable the Demandbase Personalizer app for the current Stream.

When this setting is turned on, the app will be active on the current Stream, using the settings you have defined at the Stream Level. If a setting is not defined at the Stream Level, the app will use the Hub Level settings (if set), or otherwise the Account Level settings (where no Hub Level setting exists).

  • This setting is only available at the Stream Level, and is turned off for all Streams in all Hubs in your account by default.
  • To use the Demandbase Personalizer app to personalize a Stream, you must turn on this setting for that Stream individually.
  • Until you have turned this setting on for at least one Stream in your account, the Demandbase Personalizer app will have no effect on your account (even if the app has been fully configured at the Account and/or Hub Level).

Filter Items by Tags

Available at: Account Level | Hub Level | Stream Level

Optional This setting is used to control Demandbase Personalizer's dynamic filtering functionality.

When this setting is turned on, the app will filter the Items in the specified Stream(s) so that only Items tagged as relevant to the current visitor are displayed. For example, if a visitor's Demandbase data indicates that their industry is Financial Services, then the Stream will be filtered to show Items that you have tagged as relating to the financial services industry.

  • In order for this functionality to work, you must set up Demandbase Attribute Tags in your Uberflip account, and add them to all Items in Streams where Demandbase Personalizer is active. See Using Attribute Tags for more information.
  • When Filter Items by Tags is enabled, an Item must have at least one Attribute Tag matching any attribute in the visitor's Demandbase data to be displayed. Items that do not have at least one matching Attribute Tag (or which have no Attribute Tags) will not be displayed.
  • If an Item has multiple Attribute Tags, only one of these tags needs to match the visitor's data for that Item to be displayed.
  • By default, the minimum number of matching Items that will be displayed is one. If no Items in a Stream have Attribute Tags that match the visitor's Demandbase data, all Items in the Stream will be shown (to avoid showing the visitor an empty Stream).
    • Using the Show Always Tag changes this behavior. If you use the Show Always Tag, then only Items that have the Show Always Tag will be displayed in this situation (rather than all Items in the Stream).
  • When a Stream is filtered, the order in which the Items are shown will still be the same as in the original (unfiltered) Stream, except with the filtered Items hidden. For example, if five Items in a Stream are in the order 1-2-3-4-5 and Items 1 and 4 are filtered out, the Stream will still display the remaining Items in the order 2-3-5.

Tip

If you want to use Filter Items by Tags, it's not necessary to tag all the Items in your Hub! To get started, try tagging just the Items in the Streams where this app is enabled.

Using Attribute Tags

To use the Filter Items by Tags functionality, you must add Attribute Tags to all Items that appear in Streams where Demandbase Personalizer is enabled. Attribute Tags are specially-formatted tags which you use to indicate to Demandbase Personalizer which content Items should be displayed if a visitor has a given attribute in their Demandbase data.

To apply an Attribute Tag to an Item, simply add it to the Item in the same way as a normal Item Tag (see Use Tags on your Items for instructions). Attribute Tags use the following structure:

demandbase.[attribute].[value]

Within this basic format, replace [attribute] with the Demandbase attribute, and [value]with the attribute’s desired value. For example, the tag demandbase.audience.SMB would indicate that the tagged Item should be displayed if a visitor’s audience attribute is "SMB", and would therefore be applied to Items relevant to that topic.

Note that values in tag names must match Demandbase values exactly: any spaces, parentheses, etc. that exist in the Demandbase value must also exist in the tag. See Available Demandbase Attributes below for a list of Demandbase attributes and example values.

Using the Show Always Tag

You can choose to always display certain Items, regardless of the visitor's Demandbase data. To do this, use the Show Always Tag:

demandbase.show

This tag is created automatically when you install Demandbase Personalizer. To use it, simply add it to any Items that you want to always be displayed in Streams where Demandbase Personalizer is active (provided the Item has been added to the Stream). This is useful for content that is relevant to a very wide audience and should be shown to all visitors, as well as to avoid instances where only one or two Items would be shown in the Stream based on Attribute Tags alone.

If you use the Show Always Tag, keep in mind that the filtered Stream will still respect the Item order set for the full Stream. As a result, we recommend placing Items with the Show Always Tag either at the beginning or end of the Stream (depending on the content).

Important

Do not delete the Show Always Tag from your Uberflip account, even if you don't use it on any Items! Demandbase Personalizer requires this tag to be present to enable key app functionality.

Note

This app filters not just Items on the main Stream page, but also the additional Items displayed when viewing an Item in that Stream. While viewing an Item, the Next/Previous Item area and the Other Content in This Stream carousel will be filtered in the same way as the main Stream page:

  • For the carousel, filtered Items will take priority, and any additional free slots in the carousel (after all filtered Items have been displayed) will be filled with non-filtered Items from the same Stream
  • If no next or previous filtered Item is available, the Next/Previous Item area will be hidden

Swap Logo

Available at: Account Level | Hub Level | Stream Level

Optional This setting is used to control Demandbase Personalizer's dynamic logo functionality.

When this setting is turned on, the app will use a visitor's Demandbase data to search Clearbit for the logo of the visitor's organization. If a logo is found, it is automatically inserted into the Prospect Logo space on Marketing/Sales Streams that use the Banner+Logo template.

Note

For the Swap Logo functionality to work, you must enable the Banner+Logo template and specify a "fallback" Prospect Logo under the Appearance tab on any Marketing or Sales Stream where you want to use this app. The fallback logo will not be displayed if Demandbase Personalizer can find a logo for the visitor, but this feature will not activate if no logo is set. We recommend using a generic logo for this purpose (e.g. a logo that just says "You" or similar).

We also recommend specifying a default Banner Title under the Appearance tab to be displayed in case no logo is found and the logos are hidden from the banner. If you do not specify a Banner Title, only a blank header (or Banner Image, if specified) will be shown.

Remove Logos When No Match Found

Available at: Account Level | Hub Level | Stream Level

Optional (enabled by default if you have turned on the Swap Logo setting). This setting is used to control the behavior of the Swap Logo setting in cases where no matching logo for the visitor can be found on Clearbit.

If no matching logo is found:

  • When this setting is turned on, both logos will be hidden from the banner.
  • When this setting is turned off, the "generic" Prospect Logo you set for the Stream will be displayed.

Search & Replace

Available at: Account Level | Hub Level | Stream Level

Optional This setting is used to control Demandbase Personalizer's dynamic text replacement functionality.

When this setting is turned on, Demandbase Personalizer will dynamically populate any variables (placeholders) you have placed in text across your Hub with values from the visitor's Demandbase data, for example their company name, industry, or location.

Using Search & Replace variables

To use the Search & Replace functionality, insert specially formatted variables into editable text in your Hub, such as body text, titles, descriptions, etc. Variables must be placed within curly brackets ({ and }), and must follow the formatting shown in the table below.

Variables are available for Company NameMarketing Alias, Industry, City, CountryWebsite, and Region Name. For example, if a visitor’s city attribute in their Demandbase data is set to Chicago, they will see the word "Chicago" anywhere you have placed the City variable.

Demandbase attribute name Use this variable Description
Company Name {demandbase.company_name} The full name of the visitor's organization, e.g. "Cisco Systems"
Marketing Alias {demandbase.marketing_alias} Cleaned and/or shortened company name for use in messages, ads, or marketing copy, e.g. "Cisco"
Industry {demandbase.industry} The visitor's industry, e.g. "Software & Technology"
City {demandbase.city} The visitor's city, e.g. "San Jose"
Country {demandbase.country_name} The visitor's country, e.g. "United States"
Website {demandbase.web_site} The visitor's website, e.g. "cisco.com"
Region Name {demandbase.region_name} The visitor's geographical region, e.g. "California"

Dynamic Stream Title

Available at: Account Level | Hub Level | Stream Level

Optional When the Search & Replace setting is enabled, this setting is used to specify a dynamic Stream title that contains Search & Replace variables.

When you put Search & Replace variables in a Stream's regular title field, the variables themselves (i.e. the text within the curly brackets) will be visible while the Stream is loading, or if a link to the Stream is shared in a place that generates a link preview (e.g. social media, Slack, etc.). The Dynamic Stream Title setting allows you to still personalize Stream titles with variables, but ensures that Stream titles are still displayed correctly (i.e. without visible variables) in all other situations.

  • To use, simply type in the desired Stream title using one or more variables, for example: "Content about the {demandbase.industry} industry". This will result in a title like: "Content about the Construction industry".
  • The specified dynamic title will replace the title on all Streams on which the app is active, but only when the variable(s) can be filled with values from the visitor's Demandbase data. If the visitor's Demandbase data does not have the necessary values, the Stream's normal title is displayed instead.

Dynamic Stream Description

Available at: Account Level | Hub Level | Stream Level

Optional When the Search & Replace setting is enabled, this setting is used to specify a dynamic Stream description that contains Search & Replace variables.

This setting works exactly the same way as Dynamic Stream Title, but is used for the Stream description field instead.

  • To use, simply type in the desired Stream description using one or more variables, for example: "Content about the {demandbase.industry} industry, just for{demandbase.company_name}". This will result in a description like "Content about the Construction industry, just for Caterpillar".
  • The specified dynamic description will replace the description on all Streams on which the app is active, but only when the variable(s) can be filled with values from the visitor's Demandbase data. If the visitor's Demandbase data does not have the necessary values, the Stream's normal description is displayed instead.

Search & Replace: company_name/marketing_alias/etc.

Available at: Account Level | Hub Level

Optional When the Search & Replace setting is turned on, these settings are used to specify custom default values, if desired. These default values will be inserted into Search & Replace variables whenever no applicable value can be found in a visitor's Demandbase data.

  • To specify a custom default value, enter the desired value for each attribute into the corresponding field.
  • If you do not specify a custom default value for a given attribute (i.e. if you leave its field empty), its system default value will be used instead. The system default value for each attribute is:

    • Company Name: "Your Company"
    • Marketing Alias: "Your Company"
    • Industry: "Your Industry"
    • City: "Your City"
    • Country: "Your Country"
    • Website: "Your Website"
    • Region Name: "Your Region"

Previous Item Navigation Label

Available at: Account Level | Hub Level

Optional This setting is used to specify a custom label for the Previous Item area while viewing an Item.

  • To specify a custom label for the Previous Item area, enter it into the field.
  • If you do not specify a custom label (i.e. if you leave the field empty), the system default label ("Previous Item") will be displayed.

Next Item Navigation Label

Available at: Account Level | Hub Level

Optional This setting is used to specify a custom label for the Next Item area while viewing an Item.

  • To specify a custom label for the Next Item area, enter it into the field.
  • If you do not specify a custom label (i.e. if you leave the field empty), the system default label ("Next Item") will be displayed.

Log Mode for Marketers

Available at: Account Level | Hub Level | Stream Level

Optional This setting is used to log basic debugging information in the browser console.

When this setting is turned on, Demandbase Personalizer will record information about what the app is doing in the browser console, such as what has been filtered and why. In addition, the data the app received from Demandbase for the current visitor will also be shown.

  • To view these logs that are generated when this setting is enabled, you must open the console in your browser. How you do this will vary based on the browser you use; for instructions on how to open the console in Chrome, see this article from Google.

 

Available Demandbase attributes

When you create tags for use with Filter Items by Tags, you can use any of the following attributes. Enter the value under the column Attribute for the [attribute] portion of the tag. 

For each attribute, a sample value (used in the [value] portion of the tag) is also shown. For a full list of values, or for more information about Demandbase attributes in general, please see Demandbase's online support documentation.

Attribute

Example Value

annual_sales

30000000

audience

SMB

audience_segment

Software & Technology

b2b

true

b2c

true

city

San Francisco

company_name

ACME Corporation

country

US

country_name

United States

demandbase_sid

12345678

employee_count

150

employee_range

Mid-Market

forbes_2000

false

fortune_1000

false

industry:

Software & Technology

information_level

Detailed

ip

127.0.0.1

isp

false

latitude

37.78

longitude

-122.41

marketing_alias

ACME

phone

415-867-5309

primary_naics

541511

primary_sic

7371

region_name

California

registry_area_code

null

registry_city

San Francisco

registry_company_name

ACME Corp.

registry_country

United States

registry_country_code

US

registry_country_code3

null

registry_dma_code

null

registry_latitude

37.78

registry_longitude

-122.41

registry_state

CA

registry_zip_code

94102

revenue_range

$25M - $50M

state

CA

stock_ticker

null

street_address

442 O’Farrell Street Suite 100

sub_industry

Software Applications

traffic

High

web_site

acmecorp.com

zip

94102

 

Best practices

When using this app, we recommend the following for best results:

  • For Streams and Items that you intend to share on social media, avoid using Search & Replace placeholders in the Title and Description fields. These fields are used to populate the Open Graph and Twitter Card tags that social platforms use to generate link previews, and any text you put in them will appear in the preview — including the placeholder text itself, e.g. {demandbase.company_name} instead of the relevant company name.
  • For Marketing and Sales Streams, we recommend enabling the Banner+Logo template under the Stream's Appearance tab, as this will allow you to use the Swap Logo setting. If you select this template, you should also enable the Hide Stream Title option and specify a Banner Title (also under the Appearance tab). There are two benefits to doing this:
    • If the Remove Logos When No Match Found option is turned on and no logo matches are found, the Banner Title will be shown on the banner instead (rather than an empty banner image).
    • If you intend to share the Stream on social media, you can put a placeholder in the Banner Title field (as this isn't shown in the social media preview), but not in the regular Stream Title field (which is shown on social media). In other words, this allows you to personalize the title that a visitor to the Stream sees, without the placeholder text appearing when the same Stream is shared on a social media platform.
  • For all Streams and Items that you don't plan to share on social media, but which you expect to be indexed by Google, we recommend using the SEO Title and SEO Description fields. These allow you to specify alternative titles and descriptions for your Streams and Items when they appear on Google search result pages. You can use these fields to ensure that any placeholders you put in a Stream's or Item's title/description do not appear when that Stream or Item appears on Google.

 

Troubleshooting

If you experience problems with this app's functionality, this may be due to corrupted data. To resolve the issue, try clearing your browser's cache (or try using the app in Incognito Mode to see if that resolves the issue).

 

For developers

Because this app manipulates a large portion of Stream and Item pages, a race condition can occur, which can cause other JavaScript custom code running on the same page to malfunction. 

If your JS code performs other manipulations on pages where this app is active, you should ensure it runs after the app to avoid problems. To help you do this, a callback function is built into the app that will be called once the app has finished executing its own code.

To leverage the callback function, create a function named ufPersonalizerCallback in your own custom code and place your JS inside it. For example:

<script>
var ufPersonalizerCallback = function(){
/** Your JS **/
};
</script>
3 out of 3 found this helpful