Aam Help
Aam Help
Aam Help
Overview.................................................................................................................12
History and Background........................................................................................................12
Types of Data Collected........................................................................................................13
First-Party Data Collection.......................................................................................................................13
Second-Party Data Collection..................................................................................................................14
Third-Party Data Collection......................................................................................................................15
Features..................................................................................................................22
Addressable Audiences.........................................................................................................22
Date Ranges in Addressable Audiences and Destinations......................................................................25
Addressable Audience Metrics.................................................................................................................25
Causes of Low Match Rates for Addressable Audiences.........................................................................27
Troubleshooting with Addressable Audiences..........................................................................................28
Administration........................................................................................................................28
Create Users............................................................................................................................................28
Create a Group........................................................................................................................................29
Edit Your Account Settings.......................................................................................................................29
Understanding Wild Card Permissions.....................................................................................................30
Usage Limits............................................................................................................................................30
Algorithmic Models................................................................................................................32
Audience Lab........................................................................................................................38
Create Segment Test Groups...................................................................................................................40
Edit Segment Test Groups.......................................................................................................................42
Delete Segment Test Groups...................................................................................................................42
Test Group Information.............................................................................................................................43
Test Group Reporting ..............................................................................................................................44
Audience Lab Use Cases.........................................................................................................................46
Audience Marketplace...........................................................................................................47
Audience Marketplace for Data Providers................................................................................................48
Audience Marketplace for Data Buyers....................................................................................................55
Private Data Feeds...................................................................................................................................71
Declared IDs.........................................................................................................................88
Declared ID Targeting...............................................................................................................................88
URL Variables and Syntax for Declared IDs.............................................................................................90
Declared ID Variables...............................................................................................................................90
Derived Signals.....................................................................................................................92
Destinations..........................................................................................................................93
Destinations Home Page..........................................................................................................................94
How to Choose a Destination Type..........................................................................................................95
Destination Builder...................................................................................................................................96
Create a Cookie Destination....................................................................................................................97
Create a URL Destination........................................................................................................................98
Optional Settings for Cookie Destinations..............................................................................................100
Add or Edit Segments for Server-to-Server Destinations.......................................................................101
Add Data Export Labels to a Destination...............................................................................................102
Destination Serialization.........................................................................................................................102
Standard and Serial Key-Value Pairs.....................................................................................................103
Destination Macros Defined...................................................................................................................104
Cache Busting with Destination Macros.................................................................................................106
get_aamCookie Code............................................................................................................................106
Profile Link..........................................................................................................................107
Profile Merge Rules Dashboard.............................................................................................................108
Getting Started With Profile Merge Rules..............................................................................................109
Profile Merge Rule Options Defined.......................................................................................................113
General Use Cases for Profile Merge Rules..........................................................................................115
Profile Link Device Graph Use Cases....................................................................................................117
External Device Graph Use Cases.........................................................................................................121
Report Metrics for Profile Merge Rules..................................................................................................124
Profile Merge Rules and Device Un-Segmentation Processes..............................................................128
Reports................................................................................................................................132
Audience Optimization Reports..............................................................................................................132
Custom Reports.....................................................................................................................................144
General Reports.....................................................................................................................................144
Interactive and Overlap Reports............................................................................................................146
Onboarding Status Report: About..........................................................................................................165
Outbound History Report.......................................................................................................................170
Trend Reports.........................................................................................................................................171
Segments............................................................................................................................178
Segments: Purpose, Composition, and Rules........................................................................................178
Segments List View................................................................................................................................178
Segment Summary View........................................................................................................................179
Retrieving Segment Metadata................................................................................................................179
Segment Builder.....................................................................................................................................180
Trait and Segment Population Data in Segment Builder........................................................................189
Tags.....................................................................................................................................193
Traits....................................................................................................................................193
Trait List View.........................................................................................................................................193
Active Audience Traits and Data Source Synced Traits..........................................................................194
Folder Traits............................................................................................................................................194
Trait Summary View...............................................................................................................................199
Trait Builder............................................................................................................................................199
Trait Storage...........................................................................................................................................204
Trait Builder Reference...........................................................................................................................205
REST APIs..........................................................................................................................243
Getting Started with REST APIs............................................................................................................243
Algorithmic API Methods........................................................................................................................248
SDK Code...........................................................................................................................295
DCS Integration...................................................................................................................327
Variable Prefix Requirements.................................................................................................................327
Supported Variables...............................................................................................................................327
URL Format for Passing Data to the DCS..............................................................................................328
Format and Delimiter Standards for Key-Value Pairs.............................................................................330
DCS Location Information in the HTTP Response Header....................................................................331
Metro Codes: IDs and Names................................................................................................................331
Cookie Checking and First Time Users..................................................................................................338
Race Conditions and Error Handling......................................................................................................339
DCS Error Codes, Messages, and Examples........................................................................................339
Reference.............................................................................................................423
Amazon S3: About...............................................................................................................423
Advertiser and Publisher Use Cases...................................................................................423
Advertiser Use Cases............................................................................................................................423
Publisher Use Cases..............................................................................................................................426
Beta Environment................................................................................................................428
Boolean Expressions in Trait and Segment Builder.............................................................429
Bulk Management Tools......................................................................................................430
Getting Started With Bulk Management.................................................................................................431
Bulk Requests........................................................................................................................................434
Bulk Updates..........................................................................................................................................434
Bulk Create............................................................................................................................................436
Bulk Estimates.......................................................................................................................................436
Bulk Delete.............................................................................................................................................437
Create or Update Trait Rules and Segment Rules.................................................................................438
Troubleshooting Tips for Bulk Management Tools..................................................................................439
Bulk Management Tools Glossary..........................................................................................................440
FAQ........................................................................................................................465
API FAQ..............................................................................................................................465
Audience Lab FAQ .............................................................................................................465
Customer Data Feed FAQ...................................................................................................466
Data Collection and Product Integration FAQ......................................................................467
Inbound Customer Data Ingestion FAQ..............................................................................469
Privacy and Data Retention FAQ.........................................................................................472
Product Features and Functions FAQ.................................................................................474
Profile Merge Rules and Device Graph FAQ.......................................................................474
Reporting FAQ.....................................................................................................................479
Targeting FAQ......................................................................................................................480
Hover over each title to read a brief description. See the latest Experience Cloud Release Notes for new
features and fixes.
Trait and Segment Population Data in Segment Builder
See the previous release notes for older
Profile Merge Rules and Device Graph FAQ
announcements.
Profile Merge Rules and Device Un-Segmentation
Processes Experience Cloud Resources
CSV Files for Overlap Reports Audience Manager Community Forums
Index of IDs in Audience Manager Adobe Privacy Center
See also, 2017 Documentation Updates. Adobe Training and Tutorials
Product Documentation Home
Overview 12
Overview
Information about the history of Adobe Audience Manager, the types of data collected, segmentation, reporting, and
more.
Audience Manager helps you bring your audience data assets together, making it easy to collect commercially
relevant information about site visitors, create marketable segments, and serve targeted advertising and content to
the right audience. Furthermore, Audience Manager offers easy tag deployment and management with robust data
collection, control, and protection.
With Audience Manager, you are not tied to a data seller, exchange, or demand-side platform. Additionally, Audience
Manager is completely agnostic when it comes to our partners data assets. With access to multiple data sources,
Audience Manager offers digital publishers the ability to use a wide variety of third-party data as well as our private
data co-op. Talk to our Partner Solutions team about help with making smart and accurate decisions about your
target audience.
Audience Manager started as Demdex in 2008. It was acquired by Adobe Systems in 2011 and subsequently
rebranded as Audience Manager.
History
Since 2008, Audience Manager (formerly, Demdex) has been a pioneer in the on-line audience management market.
Audience Manager services power dynamic, multi-channel online data strategies. Our platform and services are
used by an array of diverse industries from automobiles (AutoTrader), to airlines (American Airlines), and financial
services companies (American Express). Audience Management uses enterprise-level technology to provide the
scale, reliability, analytics, and performance to help your business succeed online. Audience Management integrates
with the Adobe Marketing Cloud to help you centralize, manage, and take action on your data assets across a
growing number of digitally addressable channels.
Audience Manager helps you collect and manage first-party, second-party, and third-party data.
Unlocking customer information assets stored in multiple silos is one of the biggest data challenges faced by
companies today. From CRM databases, to registration systems, to ad servers, and so forth, companies require
tools that help centralize valuable data and manage customer/audience information as a single strategic data asset.
Audience Manager helps you unlock isolated customer information and manage data collection from multiple sources.
Collected data can be managed based on data element time-to-live (TTL) values, which helps the publisher control
data expiration across all sources. Audience Management is designed to help you manage the following types of
data:
First-party Customers. Data is collected online (from consumer interactions on your websites) or
offline.
Third-party Data providers and/or exchanges. Data can include information such as intent,
demography, social/lifestyle, psychographic, and more.
The following example illustrates how potential data elements can be captured from a sample shopping page.
Overview 14
After the raw data is collected, it gets mapped back to customer-defined traits within the Audience Manager platform.
Both the taxonomy and data mappings can be adjusted at any time without making changes to the data collection
code.
An example of second-party-data collection and remarketing could involve an automobile manufacturer collecting
data on its car configuration pages and then sharing this information with key partners. In this case, the car
manufacturer could serve different ads across an Audience Manager partner site for consumers who configured
different types of vehicle options (e.g., color, model, etc.).
Overview 15
Note: For a full list of third-party data providers supported by Audience Manager, see the Adobe
Exchange Marketplace
(https://marketing.adobe.com/resources/content/resources/en/exchange/marketplace/audience.html).
Audience Manager integrates with other data providers based on their available APIs and data sets. Data collection
works in real-time, as a user browses your site, or via out-of-band methodologies where IDs are synchronized
between partners and data is transferred between servers after a user has left your site. In either case, Audience
Manager clients get the benefit of having third-party data synchronized on our platform, which means each client,
or domain, does not have to perform its own synchronization. This helps increase reach and reduces server calls
from the page.
Match Partners
Many clients choose to work with third-party data-match partners. These entities have relationships with sites that
have registration requirements and can process customer data files by matching them (in real-time) based on their
registration network.
Data sources are represented in a client-specific trait taxonomy. Publishers can customize and modify this taxonomy
based on their data source and business use cases. Within the Audience Manager interface, publisher team members
can browse traits and segments to combine them into new marketing segments.
Overview 16
You can report on historical trait and segment size as segments are created. This helps publisher team members
understand potential inventory and lets them adjust segment composition based on reporting data.
Note: Historic segment size reporting shows actual numbers, not estimates.
Qualification begins after a segment is saved in the Audience Manager interface. Our system uses two methods
that help ensure full segment coverage across a publishers entire user base:
Instant Segment Qualification: Qualifies users based on real-time data collection processes.
Processed Segments: Back-end processing of users not yet seen again who qualify based on new segment rules
criteria.
Performance Reporting
Audience Manager offers standard reporting interfaces for all data stored on user traits and segments, including
segment sizes, segment composition, targeting platform mappings (destinations), and custom reports.
This section contains the following information:
Overlap Analysis and Lookalike Modeling
Inventory and Audience Insight
Audience Overlap Against Sites and/or Domains
Ad Server Integration
Helping you take action on data is a core feature of the Audience Management platform. Our platform lets customers
manage a single digital data repository and then leverage that data across all their channels. This can include ad
servers, content optimization, creative optimization, video delivery, search, and so forth.
Audience Manager has developed a central interface for managing new targeting destinations that provides multiple
integration points (depending on the use case and technical implementation of the external system).
Destination Publishing
In Audience Manager, a destination is any third-party system (ad server, DSP, ad network, etc.) that you want to
share data with. Destination Builder helps you manage URL, cookie-based, or server-to-server destinations.
As a data management platform, it is important to standardize the data transfer mechanisms so they can be easily
configured and managed by our systems. Audience Manager allows publishers to easily set up new targeting partners
(destinations) in the interface.
Audience Manager DIL code includes an asynchronous iframe that can be configured to perform ID syncs with
third-party vendors, such as demand-side platforms and data providers. By default, no ID syncs are initiated from
the iframe. Your Audience Manager consultant can enable them on your request. The purpose of an ID sync is to
reconcile unique-visitor identifiers between Audience Manager and third-party vendors you might be working with.
This asynchronous iframe is called from the DIL code or AudienceManagement module in Adobe Analytics, which
typically loads at the bottom of the page after your site content is loaded. The asynchronous nature of the iframe
allows the rest of the page to load while ID syncs are being made. When enabled, most ID syncs are configured to
occur once per unique visitor per 14 days.
For each method, a publisher selects the appropriate data traits/segments to pass to each system. Publishers can
pass the same segment to multiple platforms/channels simultaneously.
Tag Management
Tag management is a key feature of the Audience Manager platform. Tag management consists of two core
components: JavaScript container code and a graphical user interface that helps you manage tags for deployment
and data collection on your website.
Enterprise-level tag management is integral to Audience Manager. Furthermore, Audience Manager is tag agnostic.
The system lets customers create, schedule, deploy, and manage their own tags. Additionally, the intuitive
management interface uses conditional logic that provides flexibility when managing tags across a complex site
Overview 18
environment. Adobe is committed to developing this platform and supporting our clients and partners. We are also
working to integrate our platform into the Adobe Marketing Cloud. See Tags for more information.
Data security is an important part of data management. Audience Management has controls and systems designed
to improve data security and prevent data leakage.
Data Security
Audience Manager takes data security and privacy very seriously. We work to keep our systems secure and protect
your valuable data.
Audience Manager security practices include external and internal audits, activity logging, training, and other
procedures designed to help protect our systems and your valuable data. We believe a secure product helps build
and maintain the trust customers place in us.
Data leakage/transparency Deep and actionable insight into on-site activities that constitute or contribute
to data leakage
Process/policy enhancements Clients, by working with industry best practices for privacy and data security
External Security Validation: Audience Manager tests security on an annual and quarterly basis.
Yearly: Once a year, Audience Manager undergoes a full penetration test conducted by an independent third-party
company. The test is designed to identify security vulnerabilities in the application. The tests include scanning for
cross-site scripting, SQL injections, form parameter manipulation, and other application-level vulnerabilities.
Quarterly: Once each quarter, internal teams check for security vulnerabilities. These tests include network scans
for open ports and service vulnerabilities.
Systems Security: To help keep data safe and private, Audience Manager:
Blocks requests from unauthorized IP addresses.
Protects data behind firewalls, VPNs, and with Virtual Private Cloud storage.
Tracks changes in the customer and control-information databases with trigger-based audit logging. These logs
track all changes at the database level, including the user ID and IP address from which changes are made.
Overview 19
Security Assets: Audience Manager has a dedicated network operations team that monitors firewalls and
intrusion-detection devices. Only key personnel have access to our security technology and data.
Security Training: Internally, our commitment to security extends to developers who work on our product. Adobe
provides formal training to developers on how to build secure applications and services.
Secure Access: Audience Manager requires strong passwords to log on to the system. See password requirements.
IP Addresses: Audience Manager does collect IP addresses. IP addresses are used in data-processing and
log-aggregation processes. They are also required for geographic/location look-ups and targeting. Additionally, all
IP addresses within retained log files are obfuscated within 90 days.
Data Partitioning
Processes that help protect data owned by individual clients.
Trait Data Partitioning: Your data (traits, IDs, etc.) is partitioned by client. This helps prevent accidental information
exposure between different clients. For example, trait data in cookies is partitioned by customer and stored in a
client-specific sub-domain. It cannot be read or used accidentally by another Audience Manager client. Furthermore,
trait data stored in the Profile Cache Servers (PCS) is also partitioned by customer. This prevents other clients from
accidentally using your data in an event call or other request.
Data Partitioning in Reports: Client IDs are part of the identifying key in all reporting tables and report queries
are filtered by ID. This helps prevent your data from appearing in the reports of another Audience Manager customer.
Both methods are designed with the security of our customer and partner data in mind while data is in flight between
their systems and our system.
SFTP: For the SFTP option, most customers choose to deliver files via the Secure FTP (SFTP) protocol, which uses
the Secure Shell (SSH) protocol. This method ensures that files are encrypted while in flight between the customer's
systems and Adobe's system. For each customer, we create a jailed drop-box location on our SFTP servers, which
is tied to a user account on that system. Only the customer's credentialed and privileged internal system users can
access this jailed drop-box location. This jail is never accessible to other customers.
Amazon Web Services S3 via HTTPS: For the S3 delivery option, we recommend that all customers configure
their S3 clients to use the HTTPS encryption method for file transfers (this is not the default, so it must be explicitly
configured). The HTTPS option is supported both by the s3cmd command line tool as well as the S3 libraries available
in every major programming language. With this HTTPS option enabled, customer's data is encrypted while in flight
to our systems. For each customer, we create a separate S3 bucket sub-directory that can be accessed only by that
customer's credentials and those of our internal system users.
To add PGP encryption to your data files, see File PGP Encryption for Inbound Data Types.
Overview 20
Data Privacy
Describes Audience Manager integration and compliance with generally accepted best practices related to consumer
privacy and opt-out procedures.
This section contains the following information:
Consumer Privacy Protection
Data Privacy
Collection of IP Addresses
Data Privacy
See the Adobe Privacy Center.
Collection of IP Addresses
Adobe has enabled processes and offers settings that allow customers to use Audience Manager in compliance
with applicable data privacy laws.
The IP address of a visitor to a customers website is transmitted to an Adobe Data Processing Center (DPC) where
the IP address may be stored. Depending on the network configuration for the visitor, the IP address does not
necessarily represent the IP address of the visitors computer. For example, the IP address could be the external
IP address of a Network Address Translation (NAT) firewall, HTTP proxy, or Internet gateway.
Replacement of Last Octet of the IP Address: Adobe has developed a new privacy by design setting that can
be enabled by Audience Manager Consulting. When this setting is enabled, the last octet (the last portion) of the IP
address is immediately hidden when the IP address is collected by Adobe. This anonymization is performed prior
to any processing of the IP address, including before an optional geo-lookup of the IP address.
For example:
123.45.67.89
is changed to
123.45.67.0
When this feature is enabled, the IP address is made sufficiently anonymous so it is no longer identifiable as personal
information. As a result, Adobe Audience Manager can be used in compliance with data privacy laws in countries
that do not permit the collection of personal information. Obtaining city-level information will likely be significantly
Overview 21
impacted by the obfuscation of the IP address. Obtaining region- and country-level information should only be slightly
impacted.
Note: Contact your Audience Manager Consulting representative to enable the IP obfuscation feature.
GeoSegmentation: If customers enable the replacement of the last octet of the IP address, the remaining values
of the IP address can still be utilized for geo-segmentation and reporting in Audience Manager. If the last octet of
the IP address has not been obfuscated, the full IP address is used. Customers can use the GeoSegmentation
feature that allows the customer to map out visitor location by geographic area in either case, but with some slight
loss of precision when IP obfuscation is being used. GeoSegmentation data is granular only to the city level or zip
code level, and not to the individual level.
Features 22
Features
User interface (UI) controls and workflows that let you create and manage important aspects of your Audience
Manager account.
Addressable Audiences
Addressable Audiences is located in Manage Data > Destinations. Click on the name of a server-to-server
destination to view your addressable audience data. Note, this feature returns data for server-to-server destinations
only and access requires administrator permissions.
Features 24
Before purchasing third-party data for audience acquisition, customers can validate the overlap with other data
providers. This can help you make an informed decision prior to buying new data. The ID syncs for purchased
third-party data rely not only on the overlap of your data but also on third-party providers footprints with all other
Audience Manager customers. Your Adobe consultant can help you identify additional relevant data sources to
optimize prospecting campaigns.
There are gaps when trying to connect Safari or mobile app users where there are no third-party cookies present.
That makes it difficult to sync users with some partners because only those Adobe IDs for synced third-party cookies
are provided in the media delivery logs.
Date ranges contain data for the selected time interval or older. And, the data ages out of each report interval as
time passes. For example, let's assume you see 2 visitors after choosing the Last 30 Days option. In the reports,
these visitors:
Will be included in the results returned by the longer time intervals (60-days, 90-days, and Lifetime).
Will not be included in the shorter intervals that precede the Last 30 Day option (Current, 7-days, and 14-days).
And, on day 31, these visitors only show up in the 60-day, 90-day, and Lifetime results. They have aged out of the
30-day interval. Visitors do not age out of the Lifetime interval.
Contents:
Customer-Level Metrics
Segment-Level Match Metrics
Platform-Level Metrics
Avoid Customer and Segment Addressable Audience Comparisons
Customer-Level Metrics
These metrics return data for traits realized when visitors come to your site or when you send inbound data files to
Audience Manager. These metric provide a comprehensive view of audience size for your account.
Metric Description
Customer Addressable A count of overlap of devices that have realized either a rule-based trait or an
Audience onboarded trait during the look-back window and devices that we have an ID
sync with the chosen destination regardless of the time of syncs.
Customer Total Audience A count of devices that have realized either a rule-based trait on your properties
or an onboarded trait from your offline files during the look-back window.
Customer Match Rate Customer Addressable Audience Customer Total Audience expressed as a
%.
Note: The way the look-back window is applied at the segment level is different from that at the customer
level. Visitors can come to the site and realize a trait 10 days ago, and they could qualify for a segment since
then and dropped out of the segment 2 days ago. When the 7-day look-back is applied, these visitors will be
counted at the segment level but not at the customer level.
Metric Description
Segment Addressable The number of users who have belonged to the segment during the report
Audience look-back period and have an active ID sync on your site.
Tip: When used with the 1-day look-back period, this metric can help you
understand the current state of your segments. This is because the
Segment Addressable Audience metric represents the users who stayed
in a segment throughout the previous day. Combine this with the fact that
Audience Manager refreshes Addressable Audiences daily, combining
this metric and lookback period provides the most up-to-date snapshot of
your segments.
Features 27
Metric Description
Total Segment Population A count of all the devices that were a member of your segment during the report
look-back period.
Segment Match Rate Segment Addressable Audience Total Segment Population expressed as a
%.
Platform-Level Metrics
This metric return data on activities collected across all Audience Manager customers. They can provide a broader
view of the customer's audience compared with the aggregated Audience Manager customers.
Metric Description
Audience Manager's A count of all devices that have interacted with all Audience Manager customers
Addressable Audience at the platform-level during the report look-back period and that could be matched
with your chosen destination.
The size of the total addressable audience that Audience Manager can reach.
How big the Audience Manager profile pool is for a targeting platform and the
size of their audiences.
Customer Addressable Audiences is based on trait realizations for your own, first-party data. This metric provides
a broad, comprehensive view of your integration with a data partner.
Segment Addressable Audiences is based on segment qualifications for your own first-party data and third-party
data. This metric provides a granular, more accurate view of your addressable audiences in a targeting platform.
Cause Description
Safari Traffic Safari blocks third-party cookies. This prevents Audience Manager from synchronizing
with the destination.
Features 28
Cause Description
Tracked Media Due to ad server best practices, ID syncs are not made within ad tags. Customers who
Impressions do a large amount of offsite advertising will not synchronize users to third-party
integrations in those environments. Also, a large amount of collected media impression
data could reduce addressable audience numbers.
Administration
The options under the Administration menu let you create Audience Manager users and assign them to groups.
You can also view limits (traits, segments, destinations, and AlgoModel).
Enterprise customers using Audience Manager need one data management platform for all of their data, but must
be able to control the visibility of the different data elements to specific business units. You can accomplish this
using group permissions, also referred to as Role-Based Access Control (RBAC).
Audience Manager uses groups to assign permissions. Permissions are not assigned at the user level. Group
permissions are tied to objects (traits, segments, etc.) and to actions you can perform on those objects (edit, view,
etc.).
Create Users
Create users in Audience Manager and specify user details, login status, and assign users to groups.
Email Address: Specify the user's email address. Audience Manager does not send regular notification to users.
Audience Manager administrators have access to users' email addresses and can manually email users as
needed. For example, if a user forgets his or her password, the email address specified in this field is used to
send a temporary password and instructions to reset the password.
Is Admin: Specify if this user is an Audience Manager administrator. Admin users can manage users (create,
edit, etc.) and groups (create, assign permissions, etc.). Non-admin users can control only their own user profiles,
including editing their email addresses and resetting their own passwords. For more information, see Edit Your
Account Settings.
4. Under Login, select the desired status:
Active: Active users can access Audience Manager and have the permissions granted by group membership.
Deactivated: Deactivated users cannot access Audience Manager and do not have any permissions. If you
deactivate users, their user information remains in Audience Manager and you can simple reactivate them, if
necessary. If you remove users, you must re-create them if they need to use Audience Manager again in the
future.
5. Under Assigned Groups, from the drop-down list, select the desired groups to which you want to assign this
user.
For more information about groups and permissions, see Create a Group.
6. Click Save.
Create a Group
A group is a collection of users that share access rights to destination, segment, and trait objects. You can limit
groups to single objects only or give them broad access to combinations of different objects.
To create a group:
4. In Group Members, click a user from Add Users options to add them to the group.
5. In Group Permissions, select a trait, segment, or destination from Add Object.
This opens a permissions window for your selected object.
6. Select the check box for the permissions you want group members to have.
7. (Optional) Assign Wild Card Permissions to the group.
8. Click Save Group.
1.
In the Audience Manager header, click .
2. Click Account Settings, then click Edit to display the My Account page.
3. In the Email Address field, specify your new email address, if necessary.
Features 30
Audience Manager does not send regular notification to users. Audience Manager administrators have access
to users' email addresses and can manually email users as needed. For example, if a user forgets his or her
password, the email address specified in this field is used to send a temporary password and instructions to reset
the password.
4. To reset your password, specify your current password, specify the new password, then confirm the new password.
See also, Password Requirements, Locked Accounts, and Forgotten Passwords.
5. Click Save.
Usage Limits
Audience Manager sets a maximum limit on the number of traits, segments, destinations, and algorithmic models
that you can create for an account. Limits apply to these items whether created in the user interface or
programmatically through API methods. Usage limits help protect Audience Manager from automated processes
that may attempt to compromise our APIs or user interface.
Contents:
Item Limits
Monitor Usage
Increase Item Limits
Item Limits
The tables list the current limits by item type. You cannot create new traits, segments, destinations, or Algorithmic
Models if you reach a specific limit for one of these items. If do reach a limit, you must delete an older item before
you can create a new one.
Trait Limits
Algorithmic 50
Onboarded 100,000
Features 31
Segment Limits
Destination Limits
Cookie 1,000
URL 1,000
S2S 100
Total Algorithmic 20
Models
Folder Limits
Monitor Usage
You can see usage and limits for your account by going to Administration > Limits. Access requires administrator
permissions.
Features 32
Algorithmic Models
Build and manage the traits or segments used in algorithmic modeling, also referred to as look-alike modeling. Model
features are located in Manage Data > Models.
Advantages
The major benefits of using Audience Manager modeling include:
Features 33
Data accuracy: The algorithm runs regularly, which helps keep results current and relevant.
Automation: You don't have to manage a large set of static rules. The algorithm will find audiences for you.
Save time and reduce effort: With our modeling process you don't have to guess at what traits/segments may
work or spend time resources on campaigns to discover new audiences. The model can do this for you.
Reliability: Modeling works with server-side discovery and qualification processes that evaluate your own data
and selected third-party data that you have access to. This means you don't have to see the visitors on your site
to qualify them for a trait.
Workflow
You manage models in Manage Data > Models. At a high level, the workflow process involves the following:
Select the baseline data you want the algorithm to evaluate. This includes a trait or segment, time range, and data
sources (your own data and third-party data you already have access to through Audience Manager).
Save your model. Once saved, algorithmic evaluation process runs automatically. Note, however, it can take up
to 7 days for this process to complete. Audience Manager sends you an email when the algorithm has finished
and results are available for trait creation.
Build algorithmic traits in Trait Builder.
Combine traits into segments in Segment Builder.
Create and send segment data to a destination.
Understanding TraitWeight
TraitWeight is a proprietary algorithm designed to discover new traits automatically. It compares trait data from your
current traits and segments against all other first and third-party data that you have access to through Audience
Manager. Refer to this section for a description of the TraitWeight algorithmic discovery process.
Features 34
To build a baseline, TraitWeight measures all the traits associated with an audience for a 30, 60, or 90-day interval.
Next, it ranks traits according to their frequency. The frequency count measures commonality. Traits that appear
often are said to exhibit high commonality, an important characteristic used to set a weighted score when combined
with traits discovered in your selected data sources.
After it builds a baseline for comparison, the algorithm looks for identical traits in your selected data sources. In this
step, TraitWeight performs a frequency count of all discovered traits and compares them to the baseline. However,
unlike the baseline, uncommon traits are ranked higher than those that appear more often. Rare traits are said to
exhibit a high degree of specificity. TraitWeight assesses combinations of common baseline traits and uncommon
(highly specific) data source traits as more influential or desirable than traits common to both data sets. In fact, our
model recognizes these large, common traits and does not assign excess priority to data sets with high correlations.
Rare traits get higher priority because they are more likely to represent new, unique users than traits with high
commonality across the board.
In this step, TraitWeight ranks newly discovered traits in order of influence or desirability. The weight scale is a
percentage that runs from 0% to 100%. Traits ranked closer to 100% means they're more like the audience in your
baseline population. Also, heavily weighted traits are valuable because they represent new, unique users who may
behave similarly to your established, baseline audience. Remember, TraitWeight considers traits with high commonality
in the baseline and high specificity in the compared data sources to be more valuable than traits common in each
data set.
Audience Manager displays your weighted model results in Trait Builder. When you want to build an algorithmic
trait, Trait Builder lets you create traits based on the weighted score generated by the algorithm during a data run.
You can use these results to build accurate traits, or compromise accuracy for reach to help expand audience size.
Periodically, TraitWeight re-evaluates the importance of a trait based on the size and change in the population of
that trait. This happens as the number of users qualified for that trait increases or decreases over time. This behavior
is most clearly seen in traits that become very large. For example, suppose the algorithm uses trait A for modeling.
As the population of trait A increases, TraitWeight re-evaluates the importance of that trait and may assign a lower
score or ignore it. In this case, trait A is too common or large to say anything significant about its population. After
TraitWeight reduces the value of Trait A (or ignores it in the model), the population of the algorithmic trait decreases.
The list of influential traits reflects the evolution of the baseline population. Use the list of the influential traits to
understand why these changes are occurring.
Create or Clone a
For new or cloned algorithmic models, the creation process runs once per day at:
Model
5 PM EST (November - March)
6 PM EDT (March - November)
Models built or cloned after the creation deadline are processed the following day.
Update a Model
Under ideal conditions, existing models rerun at 8-day intervals from the creation day. For
example, if you create a model (by the deadline) on Monday, it updates the following Tuesday.
After the update on Tuesday, the model will update the following Wednesday, and so on. Note,
the model update process requires a tremendous amount of computational power. As a result,
sometimes it may take longer than 8-days to update a model.
Create a Trait
The trait creation process runs 4 times each week, on Monday, Wednesday,
Thursday and Saturday. Generally, new algorithmic traits appear in the UI
within 48 hours.
Update a Trait
Existing traits are updated at 8 day intervals and follow the schedule for
model updates.
Section Description
Basic Information Includes basic information about the model such as its name and when it last ran.
Model Reach and Shows accuracy and reach data for the last model run.
Accuracy
Model Processing Displays the processing date and time for the last 10 runs and whether data was generated
History on those runs.
Lists the top 50 influential traits that are best represented in the model's baseline
population.
Ranks each trait in order of its Relative Weight rank. The Relative Weight sorts newly
discovered traits in order of influence or desirability. The weight scale is a percentage
that runs from 0% to 100%. Traits ranked closer to 100% means they're more like the
audience in your baseline population. See Understanding TraitWeight.
Shows the 30-Day uniques and the total trait population for each trait.
Traits Using Model Shows a list of the algorithmic traits based on the selected model. Click a trait name or
trait ID for more information on the trait. Select Create New Trait with Model to go to
the algorithmic trait creation process.
The section label changes based on the name of your model. For example, say you
create a model and name it Model A. When you load the summary page, the name of
this section gets changed to Traits Using Model A.
Model Builder
How to create an algorithmic model with Model Builder.
Build a Model
Describes the required and optional steps that let you create an algorithmic model in Model Builder.
Model Builder Section
Model Builder consists of the Basic Information and Configuration sections. To create a model, complete the
required fields in these two sections. Save your model to start the algorithm. Audience Manager sends you an
automated notification after the first data run completes. After you receive the email, you can go to Trait Builder and
create algorithmic traits.
Note:
The modeling process runs only once if you create a model and do not build any traits with it.
Build models from data sources that contain a meaningful amount of information. Models with insufficient
data will run, but they will not return results.
Do not create models with other algorithmic traits or segments.
Features 37
The automated email notification is sent one time only (after the first data run).
Build a Model
To build a model, go to the Models section and click Add New and follow the steps below:
In Model Builder, the Basic Information settings let you create new or edit existing models. To create a new model,
provide a name and move on to the Configuration settings. The description field is optional.
Field Description
Name Give your model a short, logical name that describes its function or purpose. Avoid
abbreviations, special characters, and accent marks.
Description A field for additional descriptive information about the model.
Status Activates or deactivates the model (active by default).
Configuration
In Model Builder, the Configuration section lets you add traits or segments to the model. In this section, select a
baseline trait or segment, a look-back period, and data from your first and third-party data sources.
Prerequisites: Complete the required fields in the Basic Information section first.
Field Description
Select Look Back Period Sets a time range for the model. Based on your selection, the algorithm
includes and evaluates data from the previous 30, 60, or 90 days.
Features 38
Field Description
Select Algorithm At this time, Model Builder works with our proprietary Trait Weight algorithm
only. Audience Manager may add other algorithmic functions in subsequent
releases.
Select Available Data Lets you select the first and third-party data sources you want to use in the
model.
Audience Lab
Create mutually exclusive test segments in Segment Test Groups to compare and measure effectiveness of different
destinations. You can set aside a control group and divide your segment into percentages of a whole, in order to
test efficacy.
Audience Lab uses Profile Link to power cross-device testing. This helps ensure a user qualifies for the same test
segment and receives the same treatment across devices. The test segments in test groups will inherit the Profile
Merge Rule the base segment has assigned to it.
The Audience Lab default view displays a card for each of the test groups. Click a card to access the Test Group
view. This view includes the following information:
You are able to create up to 10 test groups, each one with up to 15 test segments.
Features 39
Status
The status of a test group can be draft, pending, active, paused or completed. More information on each of them in
the table below:
Features 40
Status Description
A draft test group is not yet active and can still be edited. It does not yet send
Draft
data to the mapped destinations.
Pending A pending test group is not yet active but cannot be edited anymore. It will
become active at the start date you selected in the Create Test Groups wizard.
Active An active test group means that data is currently being sent to destinations.
Press Pause Test in the Test Group card to suspend sending data to
destinations.
Paused A paused test group does not currently send data to destinations. Press Make
Active in the Test Group card to resume sending traits.
A completed test group has reached the end date you selected in the Create
Completed
Test Groups wizard and has stopped sending reporting data.
Actions
Actions Description
Edit Available only for draft test groups. Allows you to resume the Create New
Test Group wizard.
Pause Available for active test groups. Allows you to pause sending the test segments
to destinations.
Make Active Available for paused test groups. Allows you to resume sending the test
segments to destinations.
View Available for completed test groups. Allows you to view the reporting information
the test has generated.
Duplicate Allows you to create a new test group with the same configuration as the one
you are duplicating.
Delete Allows you to delete a test group. The test segments will be unmapped from
the destinations, the baseline segment and conversion traits associated to the
test group are fully editable. An alert will prompt you to download the CSV file
when you delete a test group to save the reporting if you wish.
You need to have at least one conversion trait set up. You can set up conversion traits in the Trait Builder, by
selecting conversion as the Event Type.
For companies using Role-Based Access Control: Assign the Audience Labwildcard permission to User Groups
to provide access. This permission allows the user to create and view the results of a test. A user will only be able
to use segments from a data source they have "read" and "map to destination" privileges for. The user will only
be able to use conversion traits from a data source they have the "read" permission for. A user will only be able
to see destinations they have access to as well. So, before adding the Audience Lab wildcard permission to a
group, make sure the group has:
access to read relevant conversion traits;
access to read and map relevant segments for tests;
access to relevant destinations.
1. Select Create New Test Group in the Audience Lab dashboard to start the wizard.
2. Basic Info & Choose Segment
Fill in a Test Group Name and a Description.
Choose the Base Segment either by navigating in the file browser or by typing in the search bar, confirm by
pressing Choose Segment.
You can save the test group as a draft and resume working on it later.
An alert will show up in case the base segment you selected is already used in other test groups. Using the
base segment twice may distort the conversion results for both tests.
Note: Profile Merge Rules with an authenticated profile are only supported in Real-time destinations. If a
test segment with a profile merge rule of that configuration is sent to a file-based server-to-server destination,
the audiences might not populate.
Note:
You can save the test groups at any point in the creation process and return to the wizard at a later time.
The test group status will be Draft and the test group will not send any data to destinations until you
finalize the segment test group.
For draft tests, you can go back and edit the test groups by clicking Edit in the test group card in the main
Audience Lab view.
3. For completed test segments, an alert will prompt you to download the CSV file to save the reporting if you wish.
The Test Segments are populated randomly with users from the baseline segment you used for the test group. The
overview shows the percentages of users you allotted to each test segment.
The Conversion Traits drive the reporting for the test groups. To designate a trait as a conversion, when creating
or editing traits in the Trait Builder, select Conversion as Event Type.
The Destinations card is collapsible. Press the arrows to open or close individual destinations and obtain the
following information for test segments, grouped by the destinations these are mapped to:
the number of devices from the base segment's total population allocated to each destination.
mapping key;
mapping value;
URL & secure URL for URL destinations.
Note: Remember that you can't edit test groups after you finalize them, you can only pause, delete or duplicate
them.
Features 44
Audience Lab returns detailed reporting information for the test segments you created and allows you to save the
reporting data as CSV files. You can select between Aggregate Reporting and Trend Reporting.
Aggregate Reporting returns the absolute numbers for your test segments. Trend Reporting returns a graph of
the trend over a specific period. Four tabs enable you to customize the reports:
Parameter Description
Population Conversion Rate Returns the percentage of devices belonging to a particular test segment, which
have converted.
Returns the number of devices that have exhibited the conversion trait(s)
Converters
selected in the test groups.
Total Conversions Returns the number of conversions generated by the test segments.
Features 45
Parameter Description
Test Segment Populations Returns the number of devices belonging to the test segments. Toggle between
Total Population or Real-time Population. The difference is explained in the
Reporting FAQ
.
You can select a specific conversion trait for which to generate the report or you can select all traits combined. You
can define a date range for which the information should be returned and export the report as a CSV file.
Note:
Reporting for a test group will populate the day after its start date.
A conversion is only counted for a device after the start date of a test and after the device has been added
to a test segment. If a conversion happens for that device before it is assigned a test group, the conversion
will not be counted.
A returned Trend Reporting chart could look like the one below. Select Normalized in the check box if you want
to ignore the absolute numbers and simply focus on the test segments trends.
Features 46
You can use several different types and sources of models in Audience Manager. Audience Lab offers an easy
way to compare your customers' conversion rates, across your active models.
In this use case, you are comparing different models. You can either use models created via an in-house data
warehouse and import them in Audience Manager as Onboarded Traits or you can use the Algorithmic Models
feature in Audience Manager.
1. Create two models, either in the Model Builder, or via an outside platform.
2. Create algorithmic traits from the algorithmic model or import your own models as onboarded traits.
3. Create mutually exclusive segments so users in both models don't overlap:
Create a Model 1 Segment and a Model 2 Segment.
Have the segment rule for Model 1 Segment be model 1 trait AND NOT model 2 trait, and vice-versa for Model
2 Segment.
Features 47
4. Create two segment test groups in Audience Lab, one with Model 1 Segment as the baseline, the other with
Model 2 Segment as the baseline.
Keep the variables the same for both test groups: same destinations, creative, conversion traits.
Make sure the test segments have similar numbers of users (e.g. 1.6 million and 1.8 million is alright, 1.6
million and 16 million is not).
Reserve a control segment in each test segment test group. This way, you can set aside a small part of each
segment and not target them explicitly in the test.
Use Audience Lab to measure the number of conversions a creative is driving across different destinations. This
use case also allows you to measure the conversions of the creative against naturally occurring conversions.
1. Create a Segment Test Group, selecting the segment you want to test the creative against as the baseline
segment.
2. Split the baseline segment into test segments and control segments.
3. Map the test segments to the different destinations you wish to test.
4. The control segment can be withheld and not mapped to any destination. The control segment should not be
targeted by the test creative to set a results baseline for naturally occurring conversions.
5. Specify a start date and an end date for the test.
6. Set up the segment and the creative in the destinations.
7. The Audience Lab reporting view will show the number of conversions the creative is driving across the destinations.
8. Because you created a control segment, you can also evaluate how the creative did against naturally occurring
conversions. You are testing the question: "Did this creative generate a higher conversion rate than normal
practices?"
Audience Marketplace
Audience Marketplace lets data providers and buyers execute data deals in a self-service manner with minimum
effort. It does this by providing specialized features that vary depending on your role as a data buyer or data seller.
In fact, you can even be a buyer and a seller at the same time. And, if this couldnt get any better, Audience
Marketplace takes care of contracts, billing, and payments between data providers and sellers.
Talk to your Audience Manager sales specialist to get started. They can activate Audience Marketplace for you.
Note: User roles control what you can and cannot do in Audience Marketplace.
Administrators can create data feeds, manage subscribers, and subscribe to data feeds.
Users can search and view feeds only.
Features 48
My Shared Data is an Audience Marketplace feature for data providers (sellers). As a provider, it lets you bundle
traits into data feeds and sell them for a flat fee or CPM rate to buyers from within Audience Manager. When activated,
buyers can subscribe to a feed with a few mouse clicks. Furthermore, simple reporting tools track revenue and
manage subscribers. Finally, with Audience Marketplace, Adobe takes care of invoice, billing, and fee payments for
you. These features let you concentrate on building the effective and profitable data feeds that buyers want.
Features include:
Search: A search fields helps you find data feeds by name or text descriptions.
Name: The name of your data feed. You can hide this from buyers with a private, unbranded data feed.
Description: Tell buyers about the contents of your data feed.
Traits: The number of traits in each data feed. You can hide this from buyers with a private data feed.
Last 30 Day Uniques: The number of unique users seen in the last 30 days. You can hide this from buyers with
a private data feed.
Last Month's Total Fees: The amount subscribed data buyers owe you. The reporting period ends on the 10th
of each month. Overdue accounts get flagged with the triangle/exclamation mark icon. You can deactivate a
subscriber's data feed if they misuse your data or if their account is overdue.
Status: Shows if a feed is active, inactive, private, or public.
Subscribers: Shows how many buyers are using a data feed. Click the number in this column to see a buyer's
company name, subscriptions, billing, and subscription status.
Requests: The number of access requests for a data feed.
Features 49
A data feed requires a name, description, data source, and a plan type. Feeds are disabled until you save and
activate the feed. Set up public or private data feeds in Audience Marketplace > My Shared Data. Available to
data sellers only.
You must have administrator rights to create a public or private data feed.
Note:
Saved and activated data feeds cannot be deleted.
Buyers see active feeds only.
Plan types are essential components in an Audience Marketplace data feed. As a data provider, they let you create
multiple use cases and price options for your feeds. Furthermore, it can be a good strategy to create a few plans
Features 50
for each data feed. This gives buyers different options to choose from when they're looking for data to model or send
to a destination.
Create a data feed to select Plan Types.
A Segments and Overlap use case creates a plan that lets buyers compare trait data in atrait-to-trait overlap report.
Furthermore, buyers can add your data to segments and make comparisons with thesegment-to-trait and
segment-to-segment reports.
Each Data Feed must include at least 1 Segments and Overlap use case. Buyers cannot subscribe to other plans
in a Data Feed if the feed does not contain a Segments and Overlap use case, either by itself or in combination with
another use case.
A Modeling use case creates a plan that lets buyers compare your traits to theirs with algorithmic modeling. Buyers
look at the model results to find new audiences in your data that share similar conversion attributes to their own.
Price this use case as follows:
Unit of Measure: Flat fee
Price: Discounted or market rate price
Activation
An Activation use case lets buyers send data to adestination. With this use case, buyers cannot compare data with
an overlap report or in an algorithmic model. Price this use case as follows:
Unit of Measure: CPM
Features 51
Option Description
Billing Cycle Monthly in Arrears is the only option. The billing cycle
ends on the 10th day of each month.
Plan Notes
In the Additional Notes field, take some time to describe each data plan in a feed. A good, brief description helps
buyers understand the content or purpose of each plan in a data feed. Buyers can read data feed and plan descriptions
as they search for or evaluate new data sources.
As an Audience Marketplace Data Provider, you can revoke buyer access to a subscribed Data Feed. You may
want to remove a buyer from a feed for reasons such as late payment / non-payment of fees or if they use trait data
improperly.
To revoke a subscriber:
Note: Data feeds with overdue accounts are flagged with a triangle/exclamation mark icon.
2. In the Subscribers column, click the blue number that counts subscribers for that feed.
This opens the subscription details page.
3. Move the Subscription slider to Off.
Features 52
Revoking access to a Data Feed sends a notification email to all administrator users in the Data Buyer's account.
The email includes an attachment that lists revoked traits. This list helps subscribers find and remove deactivated
traits from their segments and models.
After you remove access to a data feed, subscribers are responsible for fees for previous or current month, depending
on when you deactivated the feed.
In Audience Marketplace, discounts let you reduce the published price of a data feed for individual subscribers.
You can offer discounts to subscribers who have submitted a subscription request or to subscribers who have
requested details about a data feed. Discounts apply to CPM and flat rate feeds. Discounts can be helpful when you
want to provide subscription incentives for new customers or to reward customer loyalty.
Generate an Audience Marketplace billing report to view data feed usage for the previous month for each of your
subscribers. You can create a report for the previous month at any time. However, the report is more accurate when
you generate it on or after the 10th day of the current month.
Plan Use Cases Use cases let sellers control how buyers use data. Options include:
Segments and overlap
Modeling
Activation
Discounted Price The subscription fee for a discounted data feed. See Discounts for Data Providers .
Billing Period In the report, this is the last day of the previous month.
Subscription Start Date The date a buyer started their data feed subscription.
Subscription End Date The date a buyer ended their data feed subscription.
Features 55
The Marketplace is an Audience Marketplace feature for data buyers that lists data feeds you can subscribe to. It
lists flat rate, CPM, or private data feeds. These feeds are provided by third-party vendors that use Audience Manager
to sell data. In the Marketplace, reporting tools let you track feed usage and the overlap between your traits and
those in a subscribed data feed. Finally, with Audience Marketplace, Adobe takes care of invoices and fee payments
(though you do have to self-report usage when subscribed to a CPM feed). These features let you find effective data
sources without wasting time looking for a data provider.
Features 56
The Marketplace list contains information that you can sort and search to find the data feed that's right for you.
Items in the Marketplace buyer's list include:
The Marketplace is where data buyers go to research and subscribe to public and private data feeds. Follow these
steps to subscribe to a public data feed.
To subscribe to a public data feed:
1. Go to Audience Marketplace > Marketplace. Use the search feature or browse through the list to find a data
feed.
Features 57
2. Click the name of the data feed you want to use. This opens the plan details page for the selected feed.
Features 58
Next Steps
Verify the subscription by checking your Traits folder. See Storage for Subscribed Data Feeds.
Review the billing and payment documentation. See the related links below.
Buyers subscribe to private data feeds and plans in Audience Marketplace > Marketplace.
Tip: Sometimes data providers may offer a discount on a private data feed. You might want to ask about a
possible discount when submitting your subscription request.
Features 61
Data buyers unsubscribe from data feeds and plans in Audience Marketplace > Marketplace.
To unsubscribe from a data feed:
Audience Marketplace data buyers agree to report all ad impressions served using traits contained in the data feed
th
priced on a cost per thousand ad impressions (CPM) basis. CPM usage is due on the 5 day of each calendar
month and includes data for previous month. Flat fee subscribers do not need to report usage.
To report CPM usage:
When entering ad impression totals in the Usage column (CPM plans only), please enter the total number of ad
impressions allocated for the Feed in units of one. Do not enter the total number of ad impressions allocated for the
Feed in units of a thousand (000). For example, if 1,234,567 ad impressions are allocated to this Feed then enter
1,234,567. Do not enter 1,234.6.
The totals required in the Usage column are advertising impressions delivered using Traits from the noted Feed as
a targeting criteria. Traits used to optimize your web or app content (Content Optimization) using tools such as
Adobe Target do not contribute to the Usage totals for CPM Plans. Data providers are typically compensated for
Content Optimization using flat fee plans.
See Billing and Impression Allocation for CPM Data Feeds for more information.
When you click the name of a data plan in the Marketplace, Audience Manager provides information that can help
you make informed choices about subscribing to a data feed.
Features 62
Refer to the following table for details about different elements of the plan details page.
Data feed name. For example, as shown above, the name of this feed is "Cross Pixel
- Demographics."
The name of the data provider.
Feed ID
Description
Number of traits in the feed.
Features 63
Plan Information Buttons Click Explore All Traits to see details about all the traits in the selected data feed.
Click Request Details to ask the data provider questions about the selected data
feed or to request a discount.This feature sends your comments and questions directly
to the data provider.
Data Feed Report Metrics The Venn diagram (and related metrics) shows you trait overlap data for the last
30-days.
Plan Action Buttons Click Cancel to leave the page without making changes.
Click Review & Subscribe to subscribe to a data feed. See also Subscribe to a Public
Data Feed and Subscribe to a Private Data Feed.
As an Audience Marketplace data buyer, you can purchase data for overlap, modeling, and activation use cases.
Each use case is designed for a specific purpose and limits what you can do with the data.These use case descriptions
can help you make the right decision about which type of data plan to buy.
This use case lets you compare your traits with provider traits in atrait-to-trait overlap report. Also, you can create
or add provider traits to a segment and make additional comparisons with the segment-to-trait andsegment-to-segment
reports. Overlap comparisons can help you:
Extend audience reach: Low overlap suggests your traits contain users you have not seen before. You may want
these traits to try and reach new users.
Enhance existing audiences: High overlap suggests your traits are similar to those owned by the data provider.
You may want these traits to help make targeted, incremental improvements to an already developed audience.
Algorithmic Models
This use case lets you evaluate supplier traits against your traits with algorithmic modeling. For example, our
algorithmic modeling system uses one of your traits as a basis for comparison against a supplier trait. When the
model runs, it can show if audiences in supplier traits share similar conversion attributes to your traits.
Activation
This use case lets you send data to a destination. In Audience Manager, a destination is any third-party system
(ad server, DSP, DMP, exchange, etc.) that you want to share data with. However, with an Activation use case,
you cannot run overlap reports or test the data in an algorithmic model.
Features 64
In Audience Marketplace, Data Providers can revoke access to your subscribed data feeds. Don't be alarmed if
this happens to you. We've got you covered. Review this section for processes and procedures related to data feed
deactivations.
Contents:
Tip: Contact your Data Provider directly if you believe a data feed was deactivated by mistake. Your Adobe
consultant can help you with contact information or additional support.
Deactivation Email
When a Data Provider deactivates one of your data feeds, Audience Manager sends an email to the users in your
company who have Administrator permissions. Sometimes email filters classify this message as spam. As a result,
you may miss this important notification. To help you identify the deactivation message, this email contains the
following elements:
From: The deactivation email comes from [email protected]. Pro-tip: Don't reply to this email.
Subject line: Subscription to name of data feed here is Cancelled.
Attachments:The email includes an attachment titled, "list-of-affected-entities-by-feed-revocation.csv."
That's a convoluted way of saying the attachment lists all the traits included in the cancelled feed. As a Data Buyer,
you should review this attachment. It will help you find and remove deactivated traits from your segments and
algorithmic models.
Field Description
Field Description
Algo Model ID The ID of the algorithmic model that contain deactivated traits.
Algo Model Name The names of algorithmic models that contain deactivated traits.
Bulk removal with the REST APIs or the Bulk Management Tools.
Manually search for affected segments and remove deactivated traits using Segment Builder. See Remove Traits
from a Segment.
Note: Removing traits from active algorithmic models or destinations affects scale and targeting accuracy.
Try to replace revoked traits with new, active traits if possible.
Unsubscribe from the deactivated data feed after you remove all the revoked traits from your account. If this is a
temporary deactivation, you can re-subscribe after the Data Provider finishes making their required changes and
reactivates the feed. As with most things, good communication with your partners (the Data Provider and Adobe)
can help you work through this process.
In Audience Marketplace you must manually submit impression amounts each month. Also, if you build segments
from data feed traits, impressions must be allocated proportionally according to the qualification rules you apply to
those traits in Segment Builder.
Contents:
Billing Summary
Assign Impressions Based on Trait Qualification Rules or Type
Billing Examples
Billing Summary
th
For a CPM data feed, you must submit impression amounts by the 5 day of each calendar month. To do this
properly, you must:
Compile all advertising impressions delivered for each feed in the previous calendar month.
Report CPM usage in Audience Marketplace > Payables. See How to Report CPM Usage for instructions.
Features 66
After you report CPM number for the previous calendar month, Adobe will do the following:
Create an invoice and bill you based on the CPM rate for each subscribed data feed.
Pay data providers (sellers) fees owed based on your reported CPM use.
Important: As a buyer, all reported impression totals must be true and accurate. If you fail to report impression
th
totals by the 5 day of each month, you must include totals for the unreported month in the following month.
AND Apply 100% of the delivered impression totals to all the provider feeds in a rules-based
segment that uses a Boolean AND condition.
OR Apply 75% of the delivered impression totals to all of the providers feeds in a rules-based
segment that uses a Boolean OR condition.
Note: Audience Marketplace reports impressions at the Data Feed level, not the
trait level. Segments built from traits with a Boolean OR from multiple traits from
different feeds, allocate 75% of impressions to each feed in the segment, not each
Trait. See the billing examples below.
NOT Apply 100% of the delivered impression totals to all the provider feeds in a rules-based
segment that uses a Boolean NOT condition.
Algorithmic segments Apply 100% of the delivered impression totals to all the provider feeds in an algorithmic
segment.
Billing Examples
These example can help you understand how to allocate impressions when you create segments from traits in a
data feed. For simplicity, each example assumes 100 impressions for a one month billing period.
This segment contains 2 traits from separate data providers. Because segment qualification is based on an AND
condition, visitors have to realize the traits from both feeds to qualify for the segment.
Features 67
With an AND condition, you must assign 100% of the impressions received during the month to both data providers.
In the Audience MarketplacePayables section, you credit each provider with 100 impressions.
This example applies to segments that use Boolean NOT operators or for segments that contain algorithmic traits.
This segment contains 2 traits from separate data providers. Because segment qualification is based on an OR
condition, visitors have to realize either Trait 1 or Trait 2 to qualify for the segment.
We cannot tell which trait is responsible for an impression because qualification is based on an OR condition. As a
result, in the Audience MarketplacePayables section you credit each provider with 75% of the total impressions.
Features 68
In this example, we have a single segment that contains 2 traits from separate data providers. Segment qualification
in this case is based on an implied Boolean OR condition. The OR is not set explicitly by a menu option selection
when you create the segment. Because segment qualification is an implied OR condition, visitors have to realize
either Trait 1 or Trait 2 to qualify for the segment.
The bill result in this case is identical to example 2 above. We cannot tell which trait is responsible for an impression
because qualification is based on an implied OR condition. As a result, in the Audience MarketplacePayables
section you credit each provider with 75% of the total impressions.
A flat fee data feed bills you a fixed amount each month, regardless of when the subscription starts or how many
impressions you use. Fees are not prorated for partial month usage or intervals. As with CPM billing, Adobe will
generate an invoice and bill you at the monthly, flat fee rate for your subscribed data feeds.
Features 69
For example, let's say you decided to turn on certain traits in a feed in the middle of the month. You will still be billed
at the full, monthly rate regardless of when you started the subscription or activated specific traits.
In Audience Marketplace, providers can offer buyers a discount on the published price of a CPM or flat rate data
feed. However, discount amounts aren't visible to buyers in the Marketplace feed list. But, you can also ask for a
discount when you subscribe to a private data feed or when requesting more information about a particular feed.
Request a Discount
Current Subscribers If you're already subscribed to a private data feed and want to request a discount:
New Private Data Feed Ask for a discount in your subscription request. See Subscribe to a Private Data
Subscribers Feed.
Potential Subscribers A potential subscriber is a data buyer who has requested access to a private data
feed, received seller approval, but has not subscribed to the feed. To request a
discount as a potential subscriber:
In the example, the buyer gets a 10% discount on the Segments and Overlap plan in the Software Audience Feed.
Features 70
The data (traits) for your Data Feeds appears in their own trait storage folders. Go to Manage Data > Traits and
expand the 3rd-Party Data folder to view and work with the traits in your subscribed feeds. Look for the sub-folder
named after your Data Provider. Those contain folders named after the individual Data Feed and list traits provided
by the feed.
Features 71
Clicking the name of a private data feed from My Shared Data takes you to a page that contains several tabs. Click
a tab to manage your private data feed requests.
The following table defines the role or functions provided by each action tab.
Tab Description
Current Subscribers Lists approved buyers who have subscribed to a private data feed.
Potential Subscribers Lists approved buyers who have not subscribed to a private data feed.
An approval lets buyers view a data feed as if it were public. This gives them a chance
to review and evaluate your feeds before subscribing. You can also offer discounts
on data feeds to buyers listed as potential subscribers. Once the buyer subscribes,
their profile moves to Current Subscribers.
Access Requests Lists new subscription requests for a private data feed. Click this tab to review,
approve, or reject buyer requests.
Approved buyers move to Potential Subscribers.
Rejected buyers move to Denied Access.
Details Requests Lists approved buyers who have not yet subscribed to a data feed and have requested
more information about your feeds.
An approval lets buyers view a data feed as if it were public. This gives them a chance
to review and evaluate your feeds before subscribing. You can also offer discounts
on data feeds to buyers requesting access. Responding to a details request removes
the buyer profile from this tab. If they haven't subscribed, the buyer profile is still in
Potential Subscribers.
Features 73
Tab Description
Denied Access Lists rejected subscription requests for a private data feed.
To re-approve denied buyers, change the Rejection Status to Allow. This moves
the buyer to Potential Subscribers.
Next Steps
The following documentation can help you get started with private data feeds.
Create a Public or Private Data Feed
Review, Approve, or Reject Private Feed Requests
Private Data Feeds for Buyers
The table describes how these different feed types show or hide data.
Features 74
Public The provider's name, trait, and unique data appears in the list.
Private Without Branding The provider's name is set to "Private Seller," and you cannot see trait counts, unique
data, and trait overlap data.
Private With Branding The provider's name appears in the list but you cannot see trait counts, unique data,
and trait overlap data.
Next Steps
Basic information about Customer Data Feed (CDF) files and instructions on how to get started. Start here if you're
interested in receiving CDF files or just want more information.
Contents:
Attention: You should not use CDF files as a proxy to monitor page traffic, reconcile report discrepancies,
or for billing, etc.
Getting Started
There is no self-service process to start CDF file delivery. Contact your Audience Manager consultant or Customer
Care to get started. During implementation, your Audience Manager representative will:
Next Steps
The following documentation and the Customer Data Feed FAQ can help you become more familiar with this service.
Definitions
A CDF file includes some or all of the fields defined below. For information about internal file organization, see
Customer Data Feed File Structure.
Event Time Timestamp The time a CDF file was processed by the Data Collection Servers (DCS). The
timestamp uses the yyyy-mm-dd hh:mm:ss format and is set in the UTC time zone.
The time of the page event or the event call itself, although it may be close to
those times.
Related to the DCS hour in the file name. See also, Customer Data Feed File
Name Times and File Content Times are Different.
Device String This is the Unique User ID (UUID), which is a 38-digit device ID for your site visitor.
See also, Index of IDs in Audience Manager.
Realized Traits Numeric An array of trait IDs that contains all the traits a visitor realized (qualified for) in the
Array event call.
Realized Numeric An array of segment IDs that contains all the segments a visitor realized (qualified for)
Segments Array in the event call.
Request String A string that captures all the parameters (variables, IDs, key-value pairs, etc.) passed
Parameters in on the event call.
Shortened example:
d_rtbd:json,c_contextData.a.CarrierName:mobile,c_contextData.a.adid:92D56353-49C5-431E-B474-FC528D585810,c_contextData.a,RunMode:Application,c_contextData.a.DaysSinceLastUpgrade:61,d_cid_ic:xid%01EACB6E40-AC65-4012-9FE9-ABD59965E9C4%011,c_contextData.a.PrevSessionLength:583
Referer Data String The unencoded URL of the referring page (if any).
Type
IP Data Type String The IP address for the visitor captured in the event call.
Features 76
MCDevice String The Marketing Cloud ID (MID) assigned to the site visitor. See also, Cookies and the
Marketing Cloud ID Service.
All Segments Numeric An array of segment IDs that contains previously realized segments and new segments
Array the visitor is qualified for.
All Traits Numeric An array of trait IDs that contains previously realized traits and new traits the visitor
Array is qualified for.
Field Separators These non-printing characters define the elements and structure of your CDF file:
and Delimiters
Ctrl + a (ASCII 001 or ^A) separates data in individual fields with a non-printing space indicator.
Ctrl + b (ASCII 002 or ^B) separates data an array and request parameters.
Ctrl + c (ASCII 003 or ^C) defines key-value pairs.
Field Sequence Data in your CDF file appears in the order shown below.
1. Event Time
2. Device
3. Container ID
4. Realized Traits
5. Realized Segments
6. Request Parameters
7. Referer
8. IP Address
Features 77
9. Marketing Cloud Device ID (or MID). See also, Cookies and the Marketing Cloud ID Service
10. All Segments
11. All Traits
Identifying Arrays
Arrays in a CDF file start and end with the Ctrl + a field separator. This makes the first element in an array appear
like a standalone data field. For example, the realized traits array starts with ^A1234. The array delimiter and ID
^B5678 follows this entry. As a result, you might be tempted to think that the first element in the realized traits array
is ID 5678 (because it starts with ^B). This is not the case, which is why you need to be familiar with the sequence
and structure of a data file. Even though the first element in the realized trait array (or any of the other arrays in a
CDF file) starts with ^A, the order of appearance or position in the file defines the start of an array. And, the first
element in an array is always separated from the preceding entry by ^A.
In your S3 storage bucket, files are sorted in ascending order by Partner ID (PID), day, and hour.
s3://aam-cdf/ This is the default, root storage bucket for your CDF file on an Amazon S3 server.
your S3 bucket name The name of the read-only, S3 bucket that holds your CDF files.
hour=hh A time value expressed in 24-hour notation and set in the UTC time zone. See
also, Customer Data Feed File Name Times and File Content Times are Different.
Files Object
Field Description
Files Starts the array that contains metadata about your CDF files.
Field Description
FileName The file name. See Customer Data Feed File Naming Conventions.
Totals Object
Field Description
Totals Starts the object that contains aggregated data about all your CDF files.
Day The day for which the data is available. Uses yyyy-mm-dd format.
Hour The hour for which data is available. Uses 24-hour format set in UTC time zone.
TotalByteSize Total size of all your CDF files for that date in bytes.
Customer Data Feed File Name Times and File Content Times are Different
Your Customer Data Feed (CDF) file contains timestamps in the file name and file contents. These timestamps
record different event processes for the same CDF file. It is not uncommon to see different timestamps in the name
and contents of the same file. Understanding each timestamp can help you avoid common mistakes when working
with this data or trying to sort it by time.
Timestamp Description
Location
File Name The timestamp in your CDF file name marks the time when Audience Manager started preparing
your file for delivery. This timestamp is set in the UTC time zone. It uses the hour= parameter,
with time formatted as a 2-digit hour in 24-hour notation. This time can be different than the event
time recorded in the file contents.
When working with CDF files, sometimes you'll notice that your S3 bucket is empty for a particular
hour. An empty bucket means can mean either of the following:
Important: Do not use the file name timestamp to group events by time. If you need to
group by time, use the EventTime timestamp in the file contents.
File Contents The timestamp in your CDF file contents marks the time the Data Collection Servers started
processing the file. This timestamp is set in the UTC time zone. It uses the EventTime field, with
time formatted as yyyy-mm-dd hh:mm:ss. This time is close to the actual time of the event on
the page, but it can be different than the hour indicator in the file name.
Tip: Unlike the hour= timestamp in the file name, you can use EventTime to group data
by time.
Data Export Controls prevent you from sending data to destinations when this action violates data privacy or data
use agreements.
Contents:
Overview
Controls and labels defined
Classify data and match controls to block delivery
Workflow
Overview
Data Export Controls let you classify data sources and destinations. The classifications you apply determine when
data can or cannot be exported to a destination. This feature consists of:
Features 82
Data Export Controls : When set on a data source, these controls restrict how that data source and its traits can
be used.
Data Export Labels : When set on a destination, these labels identify how the destination uses data.
Based on the classifications applied to a data source and destination, the export controls stop you from:
Adding traits to a segment when that segment is blocked by an export control/export label combination.
Sending any data to a destination if that destination is blocked by an export control/export label combination.
Data Export Controls are available automatically. However, you need administrator permissions to add export controls
to a data source. Adding export labels to a destination requires administrator permissions or sufficient privileges to
create or edit a destination.
Data Export Controls for a data Data Export Labels for a Description
source destination
Cannot be tied to personally Contains personally identifiable When selected, you cannot:
identifiable information (PII) information (PII) Add traits to segments mapped to
destinations that use PII.
Map segments to destinations that
use PII.
Cannot be used for on site ad Used for on site ad targeting When selected, you cannot:
targeting Add traits to segments mapped to
destinations that customize ad
delivery based on a visitor's
web-browsing history.
Map segments to destinations that
customize ad delivery based on a
visitor's web-browsing history.
Cannot be used for off site ad Used for off site ad targeting These restrictions are used generally
targeting with When selected, you cannot:
Add traits to segments mapped to
destinations that re-target users on
other sites.
Map segments to destinations that
re-target users on other sites.
Features 83
Data Export Controls for a data Data Export Labels for a Description
source destination
Cannot be used for on site Used for on site personalization When selected, you cannot:
personalization Add traits to segments mapped to
destinations that customize content
based on user interests or
web-browsing history.
Map segments to destinations that
customize content based on user
interests or web-browsing history.
Additionally, at least one export label must match an export control before data delivery restrictions take effect. For
example, say you add the PII export control to a data source. Next, you add the on-site targeting label to a destination.
In this case, export controls will not limit data delivery because the settings do not match. However, if you add the
PII export label to the destination, the export controls will work.
The following illustration maps the relationship between the data export controls and the data export labels.
Workflow
To get started, review the data source and destination documentation. These articles provide instructions about how
to add export controls and labels to your data sources and destinations.
Features 84
Data Sources
View a list of your currently configured data sources, add new data sources, and edit existing sources.
You can also manage data sources using API methods. For more information, see Data Source API Methods.
Tip: See Data Source Settings and Menu Options for descriptions of these different controls.
Cookie
Device Advertising ID
Cross-device (Required to create a Profile Merge Rule). Note, for some customers, this selection exposes
the ID Definition options.
Person
Household
Features 85
1. Select a Data Source Setting check box to apply an option to your data source.
2. Click Save.
Note: You cannot delete an Active Audience or Data Source Synced Trait.
ID Type Cookie: The cookie ID that identifies a device. You would select this when your data source
is a web browser or when working with anonymous data or data that cannot be associated
with a single person.
Device Advertising ID: The mobile device identifier. Select this when your data source is
a mobile device or Internet enabled device.
Cross Device: A customer-provided, authenticated ID. Select this option when you want
to create:
A cross-device data source and build a Profile Merge Rule.
Features 86
A data source that uses links provided by the Adobe Marketing Cloud Device Co-op or
another, third-party device graph that is integrated with Audience Manager.
ID Definition The ID Definition options define the relationship a data source has to an Audience Manager
user ID (UUID) and associated devices linked by the Adobe Marketing Cloud Device Co-op
or another, third-party device graph that is integrated with Audience Manager. Options include:
Person: The ID used to define a single person. This ID can be mapped to multiple Audience
Manager IDs.
Household: The ID used to define a group of people. This ID can be mapped to multiple
Audience Manager IDs.
Important: Export restrictions will not work unless you set a matching export label on a destination.
Options include:
No Restriction
Cannot be tied to personally identifiable information
Cannot be used for on-site ad targeting
Cannot be used for off-site ad targeting
Cannot be used for on-site personalization
Select the Inbound check box when your data source is designed to receive inbound data. Selecting the Inbound
check box exposes 2 additional groups of controls described below.
File Format Select Enable file error sampling when you need to troubleshoot problems with
Troubleshooting inbound file processing. This feature generates an error sample report that shows you
file format and syntax errors.
See Onboarding Status Report: About for information about error reporting and error
sampling.
Share Enabled Your data source can be shared with other partners.
Use as an Authenticated Your cross-device data source contains and Authenticated ID. An Authenticated ID is
Profile collected and synced to an Audience Manager ID during an authentication event (e.g,
a user logs in on-site, in-app, etc.). The Authenticated ID can be used to on-board
data from other sources which store this ID. It can also be used to link multiple device
IDs in Profile Link.
This option exposes a text field which lets you rename the data source with an alias.
If you use an alias, this new name overrides the data source name and appears in
the Authenticated Profile Options when you create a Profile Merge rule.
Use as a Device Graph Creates a data source as a device graph which you can provide to other Audience
Manager customers. Before you select this option, tell with your Audience Manager
consultant which customers this Data Source should be shared with. Your consultant
will have to provision those companies through our internal processes.
This option exposes a text field which lets you rename the data source with an alias.
If you use an alias, this new name overrides the data source name and appears in
the Device Options when you create a Profile Merge rule.
Share associated visitor Your cross-device data source contains IDs from a device graph. A device graph is a
or device IDs with collection of IDs which map to one or more Audience Manager IDs to a cluster. This
specific Audience cluster typically represents a person or larger, household group. Available only to
Manager Customers accounts listed as a "Data Provider."
Share associated visitor Your data source contains visitor or device IDs that can be shared across other
or device IDs across the Marketing Cloud solutions.
Audience Manager
Platform
Unique Trait Integration You want to enforce that two traits from the same data source don't have the same
Codes integration code.
Features 88
Unique Segment You want to enforce that two segments from the same data source don't have the
Integration Codes same integration code.
Declared IDs
How declared IDs work, set up procedures, code examples, and variables.
Declared ID Targeting
Exchange and synchronize user IDs with Audience Manager from devices or browsers that do not use or accept
persistent storage mechanisms, such as third-party cookies.
This section contains the following information:
Purpose of Declared ID Targeting
Opt-out Calls
Declared ID Opt-Out Examples
Process Description
Event Call
To work, you need DIL and the Marketing Cloud ID service code on the page. DIL gets
declared IDs from the setVisitorID function provided by the Marketing Cloud ID
service and passes that on to Audience Manager.
Match ID
Audience Manager attempts to match the client and visitor ID with a corresponding ID
in our system. If a matching ID does not exist, Audience Manager creates a new ID and
associates it with the client and visitor ID.
Note: The most recent mapping is used if your ID maps to more than one
Audience Manager ID.
Return ID
Audience Manager writes its synchronized ID to a first-party cookie (or other addressable
storage space) in the client domain or application.
To get started, you need to configure the Marketing Cloud ID service and DIL across the pages on your site that
you want to use for data collection. See dil.create and Declared ID Variables.
Features 89
Opt-out Calls
The declared ID process honors site visitor preferences to opt-out of Audience Manager targeting by your website.
When Audience Manager receives an opt-out request, the DCS returns an empty JSON object instead of the Audience
Manager user ID.
Audience Manager can pass in a declared ID opt-out alongside an Audience Manager UUID in the URL.
The declared ID opt-out is stored in the Profile Cache Server (PCS) on a per-partner basis. There is no platform-level
opt-out using declared IDs. Additionally, Audience Manager opts the user out from that particular region on the edge
(the opt-out does not cross DCS regions).
For a description and syntax, see URL Variables and Syntax for Declared IDs.
These methods still work but are considered deprecated. This information is provided for legacy purposes and
reference. Legacy opt-outs include:
d_uuid only:
http://domain/demoptout.jpg?d_uuid=AAM ID
A partner level opt-out gets stored for the latest mapping of this dpid + dpuuid pair to an AAM UUID. If there is
no previously existing mapping, Audience Manager checks whether the request contains an AAM UUID in the
cookie, and if it does, uses that for storing the opt-out. Otherwise, Audience Manager generates a new AAM UUID
and stores the opt-out under it.
d_dpuuid + d_dpid and explicit d_uuid:
d_uuid always takes precedence. If the dpid + dpuuid combination maps to another AAM UUID, the opt-out is
stored under the AAM UUID passed in the request (d_uuid).
Variable Description
d_cid = data provider ID %01 Contains a data provider ID and an associated unique user ID in a single
user ID key-value pair. d_cid replaces d_dpid and d_dpuuid, which are considered
deprecated, but still supported. See CID Replaces DPID and DPUUID.
d_cid_ic = integration code Contains an integration code and an associated unique user ID in a single
%01 user ID key-value pair. d_cid_ic replaces d_dpid and d_dpuuid, which are deprecated,
but still supported. See CID Replaces DPID and DPUUID.
Declared ID Variables
Describes the configuration variables used to pass declared IDs through DIL to Audience Manager.
Features 91
In the namespace key-value pair, MCORG is your Marketing Cloud Organization ID. If you don't have this ID, you can
find it in the Administration section of the Marketing Cloud dashboard. You need administrator permissions to view
this dashboard. See Administration: Core Services.
Deprecated Functions
With the latest versions of DIL (6.2+), you don't need to use these key-value pairs to pass in declared IDs. That's
because DIL now relies on the visitorService function shown in the code sample above. This function gets
declared IDs from the Visitor ID Service. However, we're referencing these variables here for historical and legacy
purposes. See the code below for an example of how to configure DIL.create to get a declared ID from the Visitor
ID Service.
The following table describes the legacy variables used by the declaredId object:
dpuuid String
The data provider's unique ID for the user.
Audience Manager compares and matches the combined dpid and dpuuid to a corresponding user ID in our system.
If an ID does not exist, Audience Manager creates a new user ID and synchronizes it to the dpid/dpuuid combination.
Once Audience Manager matches or creates a user ID (the uuid) it returns that ID in the JSON response to the
cookie in the client's domain (first-party cookie) or other local storage.
Call this function when you're using DIL v6.1 or earlier. However, this function has been deprecated in favor of the
new version that gets delcared IDs from the Visitor ID Service.
DIL.create({
partner : "partner name",
declaredId : {
dpuuid : <dpuuid>,
dpid : <dpid>
}
});
Note: Note, you need to programmatically develop the code that supplies the ID values for the d_dpuuid and
d_dpid keys.
Note: If you make an API call with a different declaredID combination, the new combination will be used for
that call only. Further regular event calls will use the original DIL.createdeclaredID combination.
DIL.getDil('partner name').api.signals({...}).declaredId({
dpuuid : <dpuuid>
dpid : <dpid>
}).submit();
Request/Response Examples
The request sends a data provider and user ID to Audience Manager:
http://my_domain.net/event?d_rtbd=json&d_cb=myCallback&key=val&d_dpuuid=1234&d_dpid=5678
The response returns the Audience Manager ID (e.g., uuid) which is written to a first-party cookie in the page domain.
myCallback({
...
"uuid":"abc123"
})
Derived Signals
A derived signal qualifies site visitors for additional traits based on a trait they've already seen. In other words,
additional trait qualification can be derived from a currently exhibited trait even if a user has never seen the new trait
before.
Purpose of Derived Signals
In Audience Manager, you can create a relationship between signals (or trait rules) passed in during an event call
to other, specified signals or traits. For example, assume an event call passes in a signal composed of the key-value
"product = new_car" (http://<domain alias>/event?product=new_car). Audience Manager would connect that
signal to any others created with the derived signals tool. Although the associated signals can be any key-values
you specify, they are most useful when linked to existing signals already set up as Trait Builder rules. For example,
in the illustration below, when a user action fires the signal "product = new car" that user can also qualify for traits
defined by the target key and value signals.
Create and manage derived signals in Manage Data > Derived Signals from the sidebar navigation.
Destinations
In Audience Manager, a destination is any third-party system (ad server, DSP, ad network, etc.) that you want to
share data with. Destination Builder is the tool you used to create and manage cookie, URL, or server-to-server
destinations.
Related Topics
See the following sections for more information about Destination Builder, how to create destinations, and related
reference.
Technical Considerations
Data delivery depends on how your data partner wants to, or can, receive destination information. Technical or
engineering constraints may prevent a destination from receiving data via URL, cookie, or server-to-server processes.
Work with your third-party partner to determine which method they can use.
Features 96
Business Considerations
Business decisions for selecting one delivery method over another depend on the technical capabilities of your
destination partner and what you want to do with qualified user information. For example, technical constraints can
limit your options if a destination cannot receive data by a particular delivery method. However, if there are no
technical issues, you can send information based on how you want to take action on that data. For example:
URLs and cookie-based destinations work almost synchronously with user actions on a page.
Server-to-server methods are good for building deep audience segments over time.
Destination Builder
Destination Builder lets you create cookie-based or URL destinations. You cannot create server-to-server (S2S)
destinations with Destination Builder, but you can manage their segment mappings. Contact your consultant to set
up a S2S destination. Destination Builder is located in Manage Data > Destinations.
Basic Information Used to name the destination, describe it, and select destination type (URL or cookie), and
platform (all, Android, browser, or iOS).
Configuration
Includes controls for:
Passing in key-value data to URL destinations.You can send data as individual or serialized
key-value pairs. For details see, Destination Serialization and Standard and Serial Key-Value
Pairs.
Elements of a cookie destination such as cookie name, domain, size, expiration interval,
data format, etc.
Features 97
Segment Mappings
Lets you:
Search for, add, and manage segments associated with all destination types.
Set delivery priorities on individual segments (for cookie-based segments only).
Basic Information
This section contains fields and options that start the cookie destination creation process. To complete this section:
Configuration
This section contains fields and options that let you set up the cookie for your destination.
Note: Audience Manager encodes data written to the destination cookie. For example, spaces are encoded
as %20 and semicolons are encoded as %3B. To complete this section:
Single key: Lets you set the key in a key-value pair. You'll set the value after you select a segment in the
Segment Mappings section below.
Multi key: Lets you set the key and value for a key-value pair. You'll create the key-value pair after you select
a segment in the Segment Mappings section below.
See Standard and Serial Key-Value Pairs for more information about these data elements.
4. Click Save.
All other settings are optional. For more information about the Cookie Domain and Publish data to settings, see
Optional Settings for Cookie Destinations.
Segment Mappings
This section lets you search for and add segments to your destination. To complete this section:
To create a new URL destination, go to Manage Data > Destinations > Create New Destination and complete
the sections as described below.
Basic Information
This section contains fields and options that start the URL destination creation process. To complete this section:
Segment ID: Automatically adds and sends the segment ID to the destination.
Integration Code Value: Automatically adds and sends the segment integration code to the destination mapping.
The integration code is a unique identifier created and used by the customer. It is limited to 255 characters,
maximum.
7. Click Next to go to the Configuration settings or click Data Export Labels to apply export controls to the
destination.
Configuration
This section contains options that let you set a base URL and data delimiters passed in by the URL string. This
section is optional. To complete this section:
This lets you send segments to a destination sequentially rather than making separate calls for each segment.
Serialization helps make data transfers efficient. Selecting this check box exposes the URL and delimiter fields.
For more information, see Standard and Serial Key-Value Pairs.
3. If you select Serialize, then you must also configure the URL and delimiter fields described below.
Field Description
Base URL The base part of a standard HTTP URL that does not change. Also, you need to
place the %ALIAS% placeholder macro in the base URL.
Example: http://www.myCompany.com/?%alias%...
Features 100
Field Description
Secure URL The base part of a secure HTTPS URL that does not change. Also, you need to place
the %ALIAS% placeholder macro in the base URL.
Example: https://www.myCompany.com/?%alias%...
Delimiter The symbol that separates the segment variables in the URL string. This is usually
a comma or semi-colon. Get this information from your destination partner.
Segment Mappings
This section lets you search for and add segments to your destination. To complete this section:
To set cookie on all domains, leave this field blank. This is the default setting.
As an example, let's say we have a fictitious site called sports.com. Sports.com has domains for golf, baseball, and
football. To set a cookie in all the sports domains, you would type that in the Cookie Domain box as shown below:
This tells Audience Manager to set a cookie in any domain that contains the pattern something.sports.com.
Next, let's take a look at how this works with a set of web pages and several different domain settings. The table
below shows you if Audience Manager will set a cookie based on how the Cookie Domain option is configured.
Yes No Yes
sports.com
Yes No Yes
baseball.sports.com
No No Yes
sports.golf.com
Publish Data To
The Publish Data To settings return a cookie if the domain meets the criteria set by the options you select. Options
include:
All of our domains:(Default) Returns a cookie for any domain.
Only the selected domains: Returns a cookie only for the domains selected in the domains list.
All of our domains except the selected domains: Prevents selected domains from receiving a cookie. All other
domains can receive a cookie.
1. Go to Manage Data > Destinations and find the s2s destination you want to work with.
2. In the Action column, click the pencil icon to edit the destination.
3. In the Search and Add Segments box, start typing the name of a segment or click Browse All Segments
browse a list of available segments.
4. Click Add Selected Segments when you find the segment you want to use. Adding a segment opens the Edit
Mapping window.
5. In Edit Mapping:
Mappings: Set a value for the key-value pair used by this destination.
Features 102
Start Date and End Date: Choose a start and end date for the destination. If the end date is blank, the
destination never expires.
Note: To add an export label, you need administrator permissions or sufficient privileges to create or edit a
destination.
2. Select a Data Export Label. Leave the check boxes blank if you don't want to set any export restrictions. Export
labels include the following options:
Contains personally identifiable information
Used for on-site ad targeting
Used for off-site ad targeting
Used for on-site personalization
Important: Export restrictions will not work unless you set a matching export control on a data source.
3. Click Save.
Destination Serialization
A serialized destination combines multiple traits into a single string and sends that information to a destination.
Serialized data transmission helps improve efficiency because multiple traits fire sequentially, rather than in parallel.
This provides the destination server with enough time to receive, process, and return data before responding to
additional requests. See Standard and Serial Key-Value Pairs for more information.
Supported Destinations
In Audience Manager, you can serialize and send data to just about any destination you want to work with. However,
before using this feature, you will need to know the destination URL and where to place some required or optional
macros. Obtain the information about macro placement from your destination partner. See Destination Macros
Defined for more information.
Features 103
Standard key-value pairs: Formats destination data into separate key-value pairs. Each key is stated explicitly,
even when used again to define a different value.
Serialized key-value pairs: Condenses multiple values into a single key-value pair. In a serialized key-value pair,
a special indicator separates the values within the key-value set.
Both standard and serialized key-values can contain single or multiple values. The following table provides examples
of standard and serial key-value formats.
Serialized x = 1 ; 2 x = 1 ; 2 & y = 3 ; 4
Examples
With Destination Builder you can format key-value data in several different ways. Let's take a look at some examples
of each type.
Standard single key X = 1 & X = 2 A simple set of key-value pairs. The example
contains these elements:
Features 104
Key: X
Values: 1, 2
Separator: =
Key-value delimiter: &
Multiple key-value pairs X = 1 & X = 2 & Y = 3 & A set of multiple key-value pairs that pass in values
(non-serial) Y = 4 with separate key-value sets.The example contains
these elements:
Keys: X, Y
Values: 1, 2, 3, 4
Separator: =
Key-value delimiter: &
Serial single key X = 1 ; 2 ; 3 A key-value set that passes in multiple values with
a single key. Because this key has multiple values,
it is known as a serialized key-value pair. The
example contains these elements:
Key: X
Values: 1, 2, 3
Separator: =
Serial separator: semi-colon
Multiple key-value pairs X = 1 ; 2 & Y = 3 ; 4 A set of multiple key-value pairs that pass in
(serial) multiple values on separate keys. The example
contains these elements:
Keys: X, Y
Values: 1, 2, 3, 4
Separator: =
Delimiter: &
Serial separator: semi-colon
Note: Macros are optional unless indicated otherwise. Italics indicates a variable placeholder.
Features 105
Macro Explanation
%alias% Required.
Defines the location of the mapped segment value in a destination URL. Usually this
is the Segment ID, but could also be the integration code.
%did% Inserts the user's Audience Manager ID into the destination URL.
%dpid_data source id% The data source id corresponds to the identifier for a data source passed in to the
macro.
Let's look at how this works in a simple example. In this case, we have an Audience
Manager partner with the following IDs and conditions:
Data source ID: 1
An internal customer ID: CustomerABC
Declared ID: The partner wants to pass in these values as the declared ID
1:CustomerABC.
To do this with the %dpid_data source id%, the Audience Manager partner would
format the macro like this:
%dpid_1%
%http_proto% Detects the protocol used in the parent webpage and inserts it into the destination
URL. For example:
%region% Inserts the Data Collection Server (DCS) region into the destination URL. In order to
minimize latency, when the visitor makes an HTTP call to Audience Manager, they
are being redirected to the closest DCS datacenter. This is achieved through DNS,
which is able to detect the visitor's location and direct them to the appropriate
datacenter.
%rnd% Performs a cache busting function by inserting a random number into the destination
URL. This prevents browsers from serving cached content.
Features 106
Macro Explanation
%timestamp% Inserts a UNIX timestamp into the destination URL to prevent browsers from serving
cached content.
Cache busting prevents browsers from saving and reusing content. This technique uses code that inserts a random
number or time stamp into a URL string, which makes it look unique to the browser. As a result, each HTTP call is
counted as a separate request to the server. Forcing a new server call for each request helps maintain reporting
accuracy and reduce discrepancies. Audience Manager provides two macros for cache busting:
get_aamCookie Code
Code required by DART Enterprise (and other destination types) to capture the Audience Manager unique user ID
(UUID) value.
Define this function at the top of the page, ideally within the <head> code block.
<script type="text/javascript">
function get_aamCookie (c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
}
</script>
Features 107
Profile Link
Profile Link works with cross-device data sources to identify and collect traits for authenticated site visitors. It
includes the Profile Merge Rules feature. With Profile Merge Rules you get control over the data sets used for
segmentation and can target a person accurately across multiple devices.
Contents
Data collection and targeting with anonymous and authenticated profiles
Advantages
Getting started
Profile Link fundamentally changes how Audience Manager collects data and segments users for targeting. It lets
you work with 2 distinct types of profiles, a device profile and an authenticated profile.
Device profile
A device profile is tied to an ID for a given device such as a cookie ID or mobile device
ID. It includes:
Authenticated profile
The authenticated profile is tied to a user ID passed in when a person logs in to your
site. It includes
Rule-based traits collected across devices when a user is authenticated.
Onboarded traits in an offline file linked to the same user ID.
Features 108
These different profiles control the data you can use for segmentation. For example, with an authenticated profile,
you can build accurate segments based on data from multiple devices for a single person. This means you can
deliver a consistent brand experience to customers across multiple devices. Additionally, cross-device authentication
allows Audience Manager to map the different platforms a person uses for their online activities. This called the
Profile Merge Device Graph.
Advantages
With Profile Link you can:
Target users based on authenticated profiles, anonymous profiles, or combinations of both.
Target a specific customer across their devices.
Build a device graph based on deterministic data.
Fine tune the data in your segments based on different profiles.
Gain additional insight into your audience.
Getting started
See the following sections and the FAQ for more information about Profile Merge Rules.
Create a maximum of 3 rules from your cross-device data sources. See Create a Cross-Device Data Source.
Designate a default merge rule. Segment Builder automatically applies the default rule to any new segments you
create.
Apply Data Export Controls to a merge rule. Data Export Controls prevent you from sending data to destinations
when that would violate data privacy or use agreements.
Track the average number of devices for each user.
Work with basic controls to create, edit, and delete rules. Only administrators can manage rules, but other users
can view them and apply them to segments. See Profile Merge Rule Options Defined and General Use Cases for
Profile Merge Rules.
To create a cross-device data source, go to Manage Data > Data Sources > Add New and complete the steps for
each section described here. Administrator permissions are required to create or edit a cross-device data source.
Tip: See Data Source Settings and Menu Options for descriptions of these different controls.
Person: An ID that defines a single person. This ID can be mapped to multiple Audience Manager IDs.
Household: An ID that defines a group of people. This ID can be mapped to multiple Audience Manager IDs.
Use as Authenticated Profile: Selected by default, this setting lets you build a Profile Merge Rule with your own,
authenticated data.
Use as a Device Graph: This control is available only to accounts listed as a data provider. Selecting this check
box creates your data source as a device graph and lets you share it with other Audience Manager customers.
Work with your Audience Manager consultant to get set up as a data provider and to specify which customers this
Data Source should be shared with. Your consultant will provision your account and device graph sharing through
an internal provisioning processes.
The text fields associated with these settings let you rename the Data Source with an alias that appears in theProfile
Merge Rule options. For example, if you add an alias to Use as Authenticated Profile, that name appears in the
Authenticated Profile Options list. If you add an alias to Use as a Device Graph, that name appears in the Device
Options list.
To create a Profile Merge Rule, go to Manage Data > Profile Merge Rules > Add New Rule and complete the
steps for each section described here. You can create up to 3 merge rules after setting up a cross-device data
source. Administrator permissions are required to create, edit, or delete a rule. All users can view and use existing
Profile Merge Rules.
Prerequisites: A cross-device data source is required to build a Profile Merge Rule. See Create a Data Source.
Tip: See Profile Merge Rule Options Defined for descriptions of these different controls.
Basic Information
To complete the Basic Information section:
No Authenticated Profile
Current Authenticated Profile
Last Authenticated Profile
2. Select an Authenticated Profile Option (up to 3, maximum). These are the cross-device data sources you have
created previously.
3. Select a Device Option. Options include:
No Device Profile
Current Device Profile
Profile Link Device Graph
Device Co-op
4. Click Save.
Next Steps
Review and complete the procedures described in Configure Merge Rule Code.
Follow these instructions to set up the Visitor ID Service, DIL, and mobile SDK code to work with your merge rules.
Prerequisites: You must set up a cross-device data source and profile merge rulesbefore completing these
procedures.
Contents:
For Visitor ID Service Customers
Legacy DIL
Configure SDKs
code my_datasource_ic. To pass in a declared ID, you would add the integration code to the visitor ID function as
shown in the modified code sample below.
visitor.setCustomerIDs({ visitor.setCustomerIDs({
"userid":{ "my_datasource_ic":{
"id":"12345", "id":"12345",
"authState":Visitor.AuthState.AUTHENTICATED "authState":Visitor.AuthState.AUTHENTICATED
For more information, see and Customer IDs and Authentication States.
The latest versions of DIL now automatically pick up the declared ID from the visitorService function in DIL.create
(see Declared ID Variables). Check your DIL.create function to make sure this is set up properly as shown in the
code sample below.
var vDil = DIL.create({
partner:"parnter name",
visitorService:{
namespace:"INSERT-MCORG-ID-HERE"
}
});
In the namespace key-value pair, the MCORG variable is your Marketing Cloud Organization ID. If you don't have this
ID, you can find it in the Administration section of the Marketing Cloud dashboard.You need administrator permissions
to view this dashboard. See Administration: Core Services.
Configure SDKs
Legacy DIL
If you're not using Visitor ID Service yet, you really ought to. But, we understand that moving to new code requires
careful thought and testing. In these cases, check your DIL.create function to make sure this is set up properly as
shown in the code sample below.
DIL.create({
partner:"partner name",
declaredId:{
dpuuid:dpuuid,
dpid:dpid
}
});
For more information, see the legacy DIL section in Declared ID Variables.
Configure SDKs
Configure SDKs
Check the methods in your SDK code that let you pass declared IDs from Android and iOS mobile devices. The
variable names for the Android and iOS code libraries are the same:
dpid: The cross-device data source ID.
dpuuid: The declared ID (i.e., the user ID).
Features 113
Android setDpidAndDpuuid
Syntax:
Example:
AudienceManager.setDpidAndDpuuid("myDpid","myDpuuid");
iOS audienceSetDpid:dpuuid
Syntax:
+ (void) audienceSetDpid:(NSString *)dpid
dpuuid:(NSString *)dpuuid;
Example:
[ADBMobile audienceSetDpid:@"290"
dpuuid:@"99301393923940"];
See also, Audience Manager Methods for Android and Audience Manager Methods for iOS.
Authenticated Options
Authenticated Profile Options
Device Options
Authenticated Options
The Authenticated Options let you select un-authenticated and authenticated users and leverage their cross-device
profile for segmentation. These options help you identify and reach specific users on a shared device. For more
information on anonymous and authenticated users, see Visitor Authentication States in Audience Manager.
No Authenticated Profile Tells Audience Manager not to use data collected from authenticated users.
Current Authenticated Tells Audience Manager to read and write data to the authenticated profile if a visitor
Profile has logged in to your site.
Last Authenticated Tells Audience Manager to read data from the authenticated profile of the user who
Profile last logged in on the device.
Features 114
When selected, Audience Manager will not write new trait data to the authenticated
profile if the user is anonymous. Upon authentication, new trait data gets written to the
user's authenticated profile.
Device Options
The Device Options let you select the type of device profile used by a Profile Merge Rule. A device profile is
composed of traits collected by users as they anonymously browse the web. At a minimum, a profile merge rule
includes an authenticated option and a device option.
No Device Profile Tells Audience Manager not to use the traits contained in the anonymous profile for
segmentation.
Current Device Profile Tells Audience Manager to use the anonymous device profile for segmentation.
Profile Link Device Graph Tells Audience Manager to read the profiles from the last 3 devices the user has
authenticated from. This device graph is built on your own, first-party data in Audience
Manager. It is ideal for customers who have a high level of authentication across their
digital properties. The Profile Link device graph is updated in real time. This option is
available when you select Current Authenticated Profile or Last Authenticated
Profile. See also, Profile Link Device Graph Use Cases.
Co-op Device Graph Tells Audience Manager to merge device profiles using the links provide by the
Marketing Cloud Device Co-op.
The Device Co-op is a digital cooperative where participating customers share device
link information. The Device Co-op processes this data in a device graph. A device
graph links devices together form device clusters. These links are built from probabilistic
and deterministic data. The clusters represent a group of devices used by an unknown
person. The Device Co-op shares these clusters among its members, which helps
them deliver valuable and consistent cross-device experiences to their customers.
Third-Party Device Graph These options let you build merge rules based on device graph technology provided
Options (Person and by a third-party vendor. A third-party device graph provides:
Household)
Probabilistic and/or deterministic data.
Data at the person or household level.
To use these options, you must be a customer of a device graph provides who is
already integrated with Audience Manager. Contact your account manager for more
information or to get started.
See also External Device Graph Use Cases and Audience Manager and External
Device Graphs (PDF download).
Tip: For definitions and descriptions of these Merge Rule settings, see Profile Merge Rule Options Defined.
Contents:
Focus targeting
Features 116
Expand targeting
External Device Graph Options
Focus targeting
User authentication to a website should trigger a declared ID call to Audience Manager. After this event, Audience
Manager writes trait data to (and reads from) an authenticated profile. The authenticated profile lets Audience
Manager:
Write traits to the authenticated profile specific to a particular user.
Identify and differentiate between multiple device users for segmentation.
Reach authenticated users
The authenticated profile options create rules let you reach users who are logged on to a website or app. For example,
a financial services company would use this option to target authenticated users with credit card upgrade offers or
specialized service offers based on income or account activity. Another example would be an airline targeting
authenticated frequent fliers with deals based on accrued mileage.
To create a rule that reaches authenticated users, select Current Authenticated Profile + No Device Profile.
These options tell your rule to use an authenticated profile only. This rule will ignore data in the anonymous device
profile.
These options reach specific users when they're browsing but not logged on. You can do this with options that rely
on inferred user-level targeting. Inferred targeting helps you reach people who are not explicitly authenticated to
your site but may be browsing online. It works by reading (but not writing) data from the last authenticated profile.
And, to help keep the authenticated profile clean, Audience Manager writes new trait qualifications to the device
profile instead of the authenticated profile. For example, say you're a marketer that wants to test different offers with
existing customers who are not logged on to your site or app. As a marketer, you can test these ads with current,
un-authenticated customers to see which offers get the most response.
Expand targeting
Along with rules that help reach specific customers, marketers also need rules that increase the size of data sets
available for targeting. Profile Merge lets you do this with the device profile options. The device options expand the
data set eligible for segmentation because they draw on traits realized while a user was in an unauthenticated state
on the device. For example, this could be useful when you're trying to reach everyone in a household (household-level
targeting) or all the users who share a device. A use case for these options could include advertising a family vacation
offer. In this case, you'll want to reach everyone using a device or in a household.
To create a rule that expands the targeting data set, select Current Authenticated Profiles + Current Device
Profile.
an external device graph to use these options. Refer to the table below for general guidance on when to choose a
device graph option. For specific use cases, see Profile Link Device Graph Use Cases and External Device Graph
Use Cases.
Profile Link Profile Merge rules built with the Profile Link option are ideal for:
External Device Graph Profile Merge rules built with the Marketing Cloud Device Co-op or any external
Options device graph integrated with Audience Manager are ideal for:
Tip: The Device Co-op is your best option if you're a Marketing Cloud customer
with low authentication and no relationship with any device graph provider.
Recommendations
Retargeting Use Case and Profile Merge Rule Configuration
Personalization Use Case and Profile Merge Rule Configuration
Recommendations
Consider the Profile Link device graph for campaigns that:
Have a high-level of authentication across their digital properties. Use an external device graph option if you have
a small amount of authenticated users.
Require accurate targeting of known audiences. The Profile Link device graph is built using first-party, authenticated
data.
Target known audiences across their authenticated and unauthenticated states in real-time.
Features 118
Note: Trait information from either profile type can be used to create the segment.
Retargeting Example
Let's take a look at how this works with a sample credit card company. This example uses trait information collected
from anonymous activity seen across 3 device profiles only.
A user has 3 devices and has been the last person to authenticate on the credit card company
site/app on all 3 devices.
On the first device, a user in an unauthenticated state views an offer for a premium credit card.
On the second device, a user in an unauthenticated state views the premium credit card benefits
page.
On the third device, a user in an unauthenticated state views the premium credit card fees and
rates page.
Features 119
Merges the anonymous, unauthenticated activity collected from all 3 devices using the last
authenticated profile on the current device.
Evaluates the anonymous user for segment qualification based on:
A combination of anonymous activity across all 3 devices.
The last authenticated profile on the current device.
Sends the segment to any real-time destination for retargeting across all 3 devices.
To set up retargeting with Profile Link, your Authenticated Options and Device Options should look like the rule
configuration shown below. The Authenticated Profile options will be different from this example because these
settings use the names of your cross-device data sources.
Personalization Example
Let's take a look at how this works with a sample credit card company.
A user has 3 devices and has been the last person to authenticate on the credit card company
site/app on all 3 devices.
On the first device, a user in an unauthenticated state views an offer for a premium credit card.
On the second device, a user in an unauthenticated state views the premium credit card benefits
page.
On the third device, a user in an unauthenticated state views the premium credit card fees and
rates page.
On any of these devices, the customer authenticates (by signing in) to check their balance.
Merges the anonymous, unauthenticated activity collected from all 3 devices using the current
authenticated profile. The authenticated profile provides a common identifier across each device.
Evaluates the authenticated user for segment qualification based on:
A combination of anonymous activity across all 3 devices.
Their current authenticated profile.
Sends the segment to any real-time destination to create a personalized browsing experience
for the user while authenticated on their current device.
Note: This qualifies all 3 devices for the segment, regardless of authentication state. This
result may cause privacy concerns if these are shared devices.
To set up personalization with Profile Link, your Authenticated Options and Device Options should look like the
rule configuration shown below. The Authenticated Profile options will be different from this example because
these settings use the names of your cross-device data sources.
Features 121
For more information about how these device graph processes work, download our PDF, Audience Manager and
External Device Graphs.
Recommendations
Prospecting/Branding Use Case
Retargeting or Site Personalization Use Case
Profile Merge Rule Options for External Device Graph Use Cases
Recommendations
Consider the Marketing Cloud Device Co-op and third-party device graph options for campaigns that:
Have a low level of authentication across their digital properties. Use the Profile Link device graph option if you
have a large number of authenticated users.
Target large audiences. The Marketing Cloud Device Co-op and third-party device graphs contain authenticated
and un-authenticated data.
Segment authenticated and/or unauthenticated visitors at the individual and household level.
Features 122
You have defined an Audience Manager segment to qualify anonymous users after they have
seen 10 impressions.
Merges the anonymous, unauthenticated activity collected from the current device and the 3
devices linked by the external device graph (the ad impressions from each device).
Evaluates the unauthenticated user for segment qualification based on a combination of
anonymous activity across all 3 devices linked by the external device graph and the current
device.
Sends the segment to any real-time destination for use as a suppression segment on the current
device and all 3 devices linked by the external device graph.
Merges the anonymous, unauthenticated activity collected from the current devices and the 3
devices linked by the external device graph (the multiple page views from each device).
Evaluates the unauthenticated user for segment qualification based on a combination of
anonymous activity across all 3 devices linked by the external device graph and the current
device.
Sends the segment to any real-time destination to deliver a personalized on-site and/or off-site
experience across the current device and all 3 devices linked by the external device graph.
Profile Merge Rule Options for External Device Graph Use Cases
Your merge rule options for these use cases would look similar to the available options shown below. The
Authenticated Profile options are deactivated because these settings are only available when you select Current
Authenticated Profile or Last Authenticated Profile. Your Device Options will vary depending on the type of
device graph setting that you want to use or that is available to you.
Features 124
For more information about how these device graph processes work, download our PDF, Audience Manager and
External Device Graphs.
Metric Description
Authenticated Activity lets you compare data sources by activity, volume, and percent.
It can help you find a data source that has a lot of people and a high percentage of active
users. Or, you may find value in comparing data sources with high proportion of active
users compared to the total audience size. For example, sometimes a data source with
low total lifetime numbers and high activity are more valuable than those with high lifetime
results and low activity numbers.
Note: The Authenticated Activity metrics contain Profile Link data only. This
report does not include Device Graph data.
Average Devices per Shows the average number of devices that are used by visitors who have authenticated
Person to your site for the selected data source.
Total Devices Shows the total number of devices people have used to authenticate to your site for the
selected data source.
Total People Shows the total number of people who have been identified deterministically for the
selected data source.
Sample Reports
Standard Profile Link Report
A standard Profile Link report looks like the following example. Merge rules that use multiple data sources (up to
3, maximum) show graphs in separate tabs for each data source. This merge rule does not include Device Co-op
data.
A Profile Link report that includes device graph data from the Adobe Marketing Cloud Device Co-op or a third-party
device graph shows Profile Link and device graph data with side-by-side bar graphs. Placing these graphs adjacent
to each other lets you evaluate the benefits of using the Marketing Cloud Device Co-op compared to Profile Link
by itself. Merge rules that use multiple data sources (up to 3, maximum) show graphs in separate tabs for each data
source. As a reminder, the Authenticated Activity graph and metrics do not return data from the Adobe device
graph or other, third-party device graphs you may have access to in Audience Manager.
The device profile has been inactive for 120-days. A weekly data cleanup process removes inactive device profiles
from your segments.
The device no longer qualifies for a segment because updates or changes to the device profile disqualify it. This
happens when segment qualification criteria change, or you apply an AND NOT operator to a segment rule, or
specify recency and frequency conditions that use the less than/equal to settings.
Features 130
Unlike the previous case above, using the AND NOT operator or less than/equal to settings won't remove all of the
devices from a segment profile. However, you can unsegment device profiles if you create simple segment rules
and apply unsegment logic in the destination that receives your data. The following sections walks you through
different unsegmentation use cases.
2. Map the segments to the same destination. In this case, we're sending these to Media Optimizer.
3. Set AND NOT logic on the destination (Media Optimizer) rather than in Audience Manager.
Features 131
If you're not using Media Optimizer, apply AND NOT logic on whatever destination receives these segments.
1. Create a segment that contains a single trait and apply a > = (greater than/equal to) recency and frequency rule
to the trait.
Features 132
2. Map the segment to a destination. In this case, we're sending the segment to Media Optimizer.
3. Set NOT logic on the destination (Media Optimizer) rather than in Audience Manager. Use NOT logic to exclude
all devices that qualify for this segment from your campaign.
If you're not using Media Optimizer, apply NOT logic on whatever destination receives these segments.
Reports
Use the options under the Analytics menu to view the dashboard and various reports.
Individual sections describe available reports, their purposes, and typical uses. All reports are available from the
Analytics dashboard.
For information describing the time frames when Audience Manager receives information to populate reports, see
How Data Delivery and File Processing Times Affect Reports.
Pixel calls: To pass the required metadata parameters to Audience Manager see Capturing Campaign Click Data
via Pixel Calls and Capturing Campaign Impression Data via Pixel Calls.
Data files: If you want to use these reports to analyze your own data or data from a source that is not integrated
with Audience Manager, you need to create and upload data and metadata files for that data. For more information,
see Data Files for Audience Optimization Reports and Data and Metadata Files for Audience Optimization Reports.
RBAC groups must have some data sources set up in order to view the Audience Optimization reports. Your
Audience Manager consultant will set up these data sources for you. The more data sources in each RBAC user
group, the more data those group members will have access to. At a minimum, your consultant will set up at least
one of these data sources:
Users that belong to more than one RBAC user group can switch between each group's view. The displayed data
will update to respect the selected group. If your company does not use RBAC, all users will have admin privileges
and access to all the data sources (conversion groups).
Conversion Groups
In the Audience Optimization reports, Conversion Groups are synonymous with data sources that contain at
least one conversion trait. Data sources which do not contain at least one conversion trait do not appear in the
Audience Optimization reports.You can view the conversion traits for conversion groups in the Reported Conversion
Traits report.
Available Reports
The available Audience Optimization reports include the following:
The Segment Performance report compares mapped and unmapped segments by impressions and conversion
rates. A mapped segment is a segment you create and send to a destination for targeting. An unmapped segment
Features 134
is a segment that you've created but have not sent to a destination for targeting. Comparing these different segment
types within and between reports helps you optimize existing campaigns and find overlooked segments that you
may want to send to a destination for targeting.
Contents:
The labels in the example and the following table can help you understand segment performance and how to respond
to these results.
You may want to avoid targeting these segments. Segments in this section make great
candidates for comparison with those in the unmapped segment results. Some of your
unmapped segments may perform better than the segments you're already targeting.
Segments in this section aren't performing well. You may want to shift budget away from
these segments and into segments in the top left quadrant of the report. This will help reduce
the impressions and may help improve conversion rates for segments in this bottom right
section. Also, compare these mapped segments to your unmapped segments. Some of your
unmapped segments may perform better than the segments you're already targeting.
Have conversions greater than the average of all your mapped segments.
Be in the top 100 unmapped segments by conversion rate.
To read this report, it helps divide the results into 4 sections with imaginary lines (in red) and categories shown in
the sample report below.
Features 137
In this report, you just want to focus on those unmapped segments in the top left section.These unmapped segments
exhibit high conversion rates for a low level of impressions when compared to segments in the other three sections.
Note: 7-day and 30-day look-back periods are only available for Sunday Date Through dates.
These reports return data on impressions, click-through rates, and conversions for broad range of advertising
dimensions. Compare trends and volume for your selected metrics to get a better picture of how your campaign
performs over time.
Features 138
Note: 7-day and 30-day look-back periods are only available for Sunday Date Through dates.
Tip: For information about mapped and unmapped segments, see the Segment Performance Report
documentation.
Features 140
The Optimal Frequency report helps you discover the optimal balance between the number of served impressions
and conversions. It allows you to adjust the number of impressions you would want to display before starting to see
diminishing returns.
Conversion volume typically decreases with higher impression frequency buckets. Fewer users see the higher
number of impressions. This means those higher frequency buckets have fewer conversions. However, the overall
conversion % increases with each impression frequency bucket. More conversions are generated with each bucket,
so the sum of conversions (the numerator) approaches the total number of possible conversions (the denominator)
and therefore the % increases. As shown in the sample report, the intersection of the 2 line plots provides a guide
to the "optimal" impression frequency, i.e. the optimal number of impressions that need to be served, before the
customer starts to see diminishing returns.
Sample Report
Features 141
The Unique User Reach report returns data in a bubble chart. Each bubble is sized in direct proportion to the number
of unique users for your selected dimension. A larger bubble indicates greater reach than a smaller bubble. The
Unique User Reach report helps you find the advertiser, brand, campaign, creative, placement, or site that provides
the broadest reach against your targeted users.
Note: 7-day and 30-day look-back periods are only available for Sunday Date Through dates.
Features 142
Sample Report
Your Unique User Reach report could look similar to the one below. In your report, click on a bubble to view the
underlying data.
The Conversion Traits report shows you all the traits labeled as conversion traits for a conversion group at a certain
date. Conversion traits for conversion groups can change from reporting run to reporting run. The report displays
conversion traits by conversion group for the selected reporting date.
Features 143
Sample Report
Your Reported Conversion Traits report could look similar to the one below:
The Cross Channel Conversion option in the Audience Optimization reports allows you to attribute offline
conversions to served online impressions or clicks.
The Cross Channel Conversion reports combine results from the DoubleClick Campaign Manager (DCM) platform
with Audience Manager conversion traits. This lets you link offline conversions to online impressions or clicks. You
can use the Cross Channel Conversion for the Segment Performance and Optimal Frequency reports.
To view the Cross Channel Conversion reports, select the AAM+DCM item in the Platform drop-down list.
The following table lists important considerations when setting up Cross Channel Conversion
Consideration Description
Minimum number of At least one conversion trait must be assigned to a data source
conversion traits in order for the Cross Channel Conversion reports to run. See
Basic Information for Traits for more information on traits.
Maximum number of The reports pull in a maximum of 50 conversion traits from the
conversion traits user. If you reach the maximum, the reports use the first 50
conversion traits based on trait ID, in ascending order.
Features 144
Consideration Description
Last-touch methodology The creative that the user has seen last before converting is the
one awarded the conversion.
Data recency The reports are always calculated for data available the previous
day.
Custom Reports
Used for data sets that are too large to display in the browser or unavailable in the current reporting suite.
Your Partner Solutions manager runs a custom report and uploads data to Audience Manager. When a report is
ready, you'll receive an automated email notification and see a link to the report under the Custom Reports section
under the Analytics dashboard. Click the link to download the report.
General Reports
A General report returns performance data on traits, segments, and destinations.
Audience Manager uses Role Based Access Control (RBAC) to extend user-group permissions to the General
reports. Users can see only those traits and segments in reporting that they have permissions to view. RBAC
functionality lets you control what reporting data internal teams are able to view. For example, an agency that
manages different advertiser accounts can configure user-group permissions so that a team that manages Advertiser
A's account cannot see Advertiser B's reporting data.
The following illustration provides a high-level overview of key elements in the General report.
Features 145
Report Type: Select the desired report type (Trait, Segment, or Destination).
For Dates Through: Specify the date range for the report.
2. Search for a trait, segment, or destination by name or ID.
3. From the folder list, drag and drop the traits, segments, or destinations you want to report to the Selections panel
on the right side.
4. Generate the report to display in an exportable table.
Features 146
These numbers do not include visitor IDs with excessive traffic. Traffic from bots is filtered prior to reaching our
backend system. Also, some bot traffic is discarded during a weekly cleanup job run in the backend.
If you onboard data via inbound processing keyed off the Audience Manager UUID, and these IDs include users
that are no longer active in our system, these inactive Audience Manager UUIDs never reach the User Profile Store
and are not reported.
Total Trait Realizations are calculated for Rule-based Traits only.
This procedure describes how to run a General report and set time and other performance options.
3. (Conditional) Click the date box to display a calendar, then select the ending date for your report if you want to
specify a date other than today.
4. Search for a trait, segment, or destination by name or ID.
5. From the folder list, drag and drop the traits, segments, or destinations you want to report to the Selections panel
on the right side.
6. Click Run Report.
Results display in an exportable table. Click the column headers to sort the results in ascending or descending
order.
7. Select the desired option button at the top of the report to filter data by performance (Unique Trait Realizations,
Total Trait Realizations, or Total Trait Population) or by time (1, 7, 14, 30, 60, 90-day range or lifetime).
Note: Total Trait Realizations are calculated for Rule-based Traits only.
8. (Optional) Click Export to CSV. This exports the Unique Trait Realizations, Total Trait Realizations, and Total
Trait Population for all day ranges.
The Delivery and Performance report lets you evaluate how segments perform on different advertiser sites. As an
optimization tool, this report helps you:
Identify high-performance segments for re-use in other campaigns or on other sites.
Find and remove segments from underperforming sites.
Visually analyze segment impression size and click-through rates.
Note: 1-day views are updated daily. 7-day and 30-day look-back periods are updated weekly.
Select an individual point to view data details in a pop up window. Also, you can click and drag the cursor over a
group of points to return data about those data elements only. These actions automatically update the report results.
Delivery and Performance Data Pop Fields Defined
Describes the metrics displayed in the popup window when you click an individual data point.
The popup for the Delivery and Performance Report report contains the following metrics:
Metric Description
Metric Description
The Adobe Media Optimizer (AMO) Search Delivery and Performance Report lets a customer see how segments
are responding to AMO search campaigns.
This report helps you do the following:
Identify top-performing segments and keywords that are resonating with those segments. With that knowledge, a
Google RLSA campaign can be launched targeting that segment to hit more users in that audience.
Drive creative development by seeing which themes are resonating with each audience.
Analyze average conversion value per user to identify high value segments.
These reports provide three different views that are filterable by network and account:
The reports have the list of AMO tracked conversions that can be used in each report to see segment performance
based on that metric.
Metric Description
Click Reach Number of unique users for whom a click was recorded in that segment.
Conversion Value The aggregate value of AMO-tracked conversion recorded for that segment.
Conversion Reach Number of unique users for whom a conversion was recorded in that segment.
Average Conversion Per Unique The average conversion value per unique user in that segment.
This value shows all users who did not register a conversion.
Why don't the numbers match up between Adobe Audience Manager and Adobe Media Optimizer?
Each system uses a different attribution mechanism. AMO allows for multi-event attribution. AAM applies the
conversion to the last click.
AAM reporting operates in UTC. The AMO reporting time zone is configurable per client.
AAM shows data for the users it has seen. There could be users targeted in an AMO campaign that do not qualify
for an AAM segment. Those users won't be reported in the AAM reports.
Currently the AAM reports report only on AMO-tracked conversion events.
AAM reporting aggregates the AMO metrics across all of the segments the user has qualified for. Taking the simple
example of one campaign and a user who has generated one AMO conversion who is qualified for five segments
in AAM. The AMO report shows one conversion, but the AAM report would attribute that one conversion to all the
user's segments. So in the AAM report, if you sum the conversion count across this user's segmentation, the
aggregate number would be five conversions (one per each of five segments). The purpose of this logic is to show
the value of each segment that user qualifies for.
Returns data on the number of unique users shared among all your first and third-party traits.
Overview
The Trait-to-Trait Overlap report returns data on the % of unique users shared between all your own traits and
your third-party traits. As an optimization tool, this report helps you:
Create segments with high or low overlap, depending on your needs. Traits with high overlap give you a targeted
audience, but fewer unique visitors. Traits with low overlap can be useful to reach a larger, unique visitor set.
Validate third-party trait data: Strong overlap between similar first and third-party traits suggests that the trait from
your data partner is accurate and trustworthy. Conversely, low overlap can indicate that a third-party trait may not
actually contain the same information as your own, similar first-party trait.
Find unexpected overlap between traits and use that information to build innovative segments.
Sample Report
The following illustration provides a high-level overview of elements in the Trait-to-Trait Overlap report.
Note: The Trait-to-Trait Overlap report returns an empty field when it compares the same trait to itself.
Features 150
Select an individual point to view data details in a pop up window. Your click actions automatically update data
displayed in the report.
Trait-to-Trait Overlap Data Pop Fields Defined
Describes the metrics displayed in the popup window when you click an individual data point.
The popup for the Trait-to-Trait Overlap report contains the following metrics:
Metric Description
Data Provider Type Defines the type of provider a trait belongs to. Can be either:
First-party (your own trait).
Third-party (from an outside data partner/vendor).
Metric Description
Overlap Uniques The number of unique visitors shared between the compared traits.
Returns data on the number of unique users shared between a particular trait and an entire segment.
Overview
As an optimization tool, the Segment to Trait Overlap reports helps you build highly focused segments or expand
segment reach. For example, you can create focused segments and traits with high overlap to reach a particular
audience. However, a lot of overlap may mean fewer unique users (less reach). Running this report to help expand
reach by removing traits with a lot of segment overlap and replacing them with traits that have less overlap.
Sample Report
The following illustration provides a high-level overview of the Segment-to-Trait Overlap report.
Select an individual point to view data details in a pop up window. Your click actions automatically update data
displayed in the report.
Comparing Segments to Traits
Describes how you can compare segments and traits to derive meaningful information from the results.
Comparing Trait and Segment Uniques: An Example
At first glance, it may seem illogical to compare segments to traits and attempt to draw conclusions from the results.
After all, segments and traits are different, so how can data derived from disparate items have meaning? However,
in this case, we're not comparing traits and segments, but the number of unique visitors shared between them. The
shared unique visitor count provides the common value that makes a segment to trait comparison possible.
The following diagram illustrates the relationship between a trait and the segment it belongs to. In this case, we have
a trait with 10 visitors and a segment with 1,000 visitors. They share 3 unique visitors in common.
Features 152
The unique visitor count is the common, constant value shared between these different classes of objects. As a
result, you can determine the unique visitor relationship between them as follows:
The trait shares 30% of its unique visitors with the segment (3/10 = 0.30).
The segment shares 0.3% of its unique visitors with the trait (3/1,000 = 0.003)
Looking at the overlap between traits and segments can help you estimate the total available visitor pool (forecasting)
or find inefficient segments with too much overlap.
Forecasting
To determine the available visitor pool, sum the difference between the trait total
(less overlap) and the segment total (less overlap).
Describes how the trait and segment unique overlap % sliders work.
The Segment-to-Trait overlap report lets you use two sliders to filter data by the overlap % by trait or segment.
Filter Trait Uniques %: Filters data by the % of unique visitors shared between the trait and the segment.
Filter Segment Uniques Overlap %: Filters data by the % of unique visitors share between the segment and the
trait.
Example
The following diagram illustrates the difference between the trait uniques % and the segment uniques %. In this
case, the trait and segment share 3 unique visitors. As proportions:
Features 153
The trait shares 30% of its unique visitors with the segment (3/10 = 0.30).
The segment shares 0.3% of its unique visitors with the trait (3/1,000 = 0.003)
Describes the metrics displayed in the popup window when you click an individual data point.
The popup for the Segment-to-Trait Overlap report contains the following metrics:
Metric Description
Data Provider Type Defines the type of provider a trait belongs to. Can be either:
First-party (your own trait).
Third-party (from an outside data partner/vendor).
Trait Uniques Overlap % % of unique visitors a trait shares with the segment.
Overlap Uniques Number of unique visitors shared between the segment and the trait.
Returns data on how many unique users are shared between your segments.
Overview
Identify segments with high or low overlap, depending on your needs. Traits with high overlap give you a targeted
audience, but fewer unique visitors. Traits with low overlap can be useful to reach a larger, unique visitor set.
Find unexpected overlap and use that information to build new, high-performance segments.
Sample Report
The following illustration provides a high-level overview of the Segment-to-Segment Overlap report.
Note: The Segment-to-Segment Overlap report returns an empty field when it compares the same segment
to itself.
Select an individual point to view data details in a pop up window. Your click actions automatically update data
displayed in the report.
Segment-to-Segment Overlap Data Pop Fields Defined
The popup for the Segment-to-Segment Overlap report contains the following metrics:
Metric Description
Segment ID1 Unique numeric ID for the segment that appears in the report results. Appears
as the row ID for the segment.
Segment ID2 Unique numeric ID for the segment you select when running the report. Appears
as the column ID for the segment.
Segment Name1 Name of the segment that appears in the report results row.
Segment Name2 Name of the segment you select when running the report. Appears in the report
results column.
Overlap Uniques The number of unique visitors shared between compared segments.
This report returns a frequency count of all the unused information collected on your inventory and sent to Audience
Manager.
Unused Signals Report
Features 155
A signal is information from your website passed in to Audience Management in the form of key-value pairs (e.g.,
color=blue, price>100, gender=female, etc.). Unused signals consist of data that you collect but have not been
mapped to a trait. The Unused Signals report shows data in a table by date, key, value, and frequency count.
Review this report to help identify orphaned signals that can be mapped to new or existing traits.
Note: Specify a key or value name in the search fields to limit results to specific records.
Use Cases
Examples Description
Create New Traits Review the report to see what new values get passed in on a particular key. You
may want to create new key-value pairs based on these new values.
Note: Check the report bi-weekly for values that change frequently (e.g.,
shows, campaigns, celebrities, etc.).
Find Unmapped Values Review the report for the number 1. The number 1 in an Unused Signals report
represents a null value. This is not necessarily bad. It simply means that a
particular key does not have an associated value mapping. When you see a lot
of 1 values for an important variable, check with your site team to make sure all
your pages are tagged correctly.
Best Practices
Note: When searching for unused values in the report, please consider the following particularity. There is a
difference in expression between the two examples below:
Considering the two different expressions above, let's say you search in the Unused Signals Report for the values
that get passed on key a with any value different than 23, you'll only obtain results in the first case because values
for key were not sent AT ALL. In the second case, values different than 23 were sent so key a is not unused.
Contact your Partner Solutions representative if you need to bulk create a lot of traits based on data obtained from
the Unused Signals report.
This report returns a list of traits with a standard deviation greater than 1.7 in either direction over the past 30 days,
and has a unique user base greater than 10,000 users. This report lets you evaluate how the number of impressions
from unique users in a trait fluctuate over time.
Standard deviation measures the amount of variation or dispersion from the mean (or average/expected value). A
low standard deviation indicates that the data points tend to be very close to the mean. A high standard deviation
indicates that the data points are spread out over a large range of values.
From the Date list, select one or more dates for your report. A color-coded bar chart displays at the bottom of the
list that provides a visual representative of the range of standard deviation for all traits across all selected dates.
The black vertical line indicates the mean.
The middle column contains a list of traits, identified by Trait ID and Trait Name. Click any trait to access a pop-up
dialog box that lets you select from the following options:
Keep Only: Removes all other traits from the report and displays data for this trait only.
Exclude: Removes this trait from the report and displays data for all other traits. You can exclude multiple traits.
View Data: Lets you display data for that row. You can also download all rows as a text file.
The Standard Deviation column displays color-coded bar charts that display the standard deviation for each trait.
Red bars indicate traits with a negative standard deviation (data points tend to be below the mean). Green bars
Features 157
indicate traits with a positive standard deviation (data points tend to be above the mean). Mouse over any bar to
display a pop-up dialog box with more information and options to keep or exclude that trait and view more information.
Icons display at the bottom of the report that let you export data in various formats, revert any changes you might
have made to the report (such as excluding traits), enable or disable automatic updates, and refresh the report's
data. See Report Icons and Tools Explained.
Put data in Delivery Performance report log files into tables that contain IDs only. Put non-ID metadata in separate
lookup tables to help reduce file size and processing times.
Log File Metadata Increases File Size and Processing Time
A typical log file used by the Delivery Performance report usually contains thousands of rows and dozens of
columns. It consists of numeric IDs and human-readable information such as names for creatives, advertisers,
insertion orders, etc. This non-ID information is referred to as metadata (i.e., information about other information)
and gets written in each row of the log file. However, the Delivery Performance report mainly works with the IDs
in the log file. The metadata is useful, but repetitious. It increases file size and data ingestion times.
Reduce File Size and Shorten Processing Time With Index Tables
To help improve performance, your main data file should contain IDs only. Put metadata in a separate lookup (or
index) table and link those records to the main file with a key variable common to both.
Let's say you have a data file that looks similar to the one below.
Here's the same log file with the metadata removed. The file is smaller and easier to process when it consists of
IDs only.
1 111 456 27
2 111 456 27
3 111 456 27
4 222 789 14
5 222 789 14
The lookup file below holds the metadata and can be linked back to the main file with the Ad ID. Note the size as
well. Instead of repeating each advertiser several times, you only need one reference for each.
Features 158
If your ad serving system has an API, you might not need to send metadata in a lookup file. We may be able to get
that information through the API. When this is the case, your log files should contain IDs only. We'll work with you
to determine if metadata can be obtained through an API.
Use the various report sliders to show only the data that falls above, below, or within your specified range.
Set a Lower/Upper Range for Report Results With the Data Sliders
The report sliders let you set limits on the data returned by an interactive report. Move the left slider to exclude data
below a specific value. Move the right slider to exclude data above a specific value. The report updates and returns
data that falls within the desired range. Use the sliders to:
Reduce the overall amount of data returned by the reports.
Focus on traits or segments that fall within a particular size range.
Describes the segment size and creation time requirements required by the Overlap report update process.
Contain a minimum of 70,000 total real-time users during the last 14 days.
Have been created prior to 12 AM Thursday UTC (2 full days before the weekly overlap report update process
begins).
Segment Size Too Let's say you create a segment before 12 AM Thursday UTC, but it contains less than
Small 70,000 total real-time users. This segment won't appear in an overlap report until it meets
the user threshold requirements. Note, also, the segment must meet the required user
count on, or prior to, the Thursday cutoff period. If it does not meet the weekly deadline,
the segment will appear in the overlap reports for the week after the upcoming Sunday
data run.
Features 159
Segment Created Too Let's say you create a segment on Friday and it contains more than 70,000 total real-time
Late users. This segment won't appear in the overlap reports for the next week because it was
created less than 2 days prior to the report update period. However, the segment will
appear in an overlap report after the next weekly update.
Most of the interactive reports display results using shapes of different sizes and colors. This display format is
designed to help you make sense of the data visually, without having to wade through rows and columns of numbers.
Report Legend
The following table defines the shapes, sizes, and colors used in the dynamic reports.
Size Size increases or decreases in direct proportion to reach (the number or % of clicks
or unique users in a trait or segment).
Describes how to search and use the various icon-tools used in the dynamic reports.
Data Icons and Tools
The following icons-tools are available at the bottom of each dynamic report window. The following illustration
provides more information about these tools.
Export Data
Features 160
This tools lets you export data from the report in 4 different formats.
Image As an image (.png) file. Useful when you want to download and share report
data in its original, graphical format.
Revert Changes
Select this tool to undo any interactive click changes you may have performed on the report.
Automatic Updates
The Delivery-Performance and Trait-to-Trait Overlap reports are dynamic reports that respond and change based
on user click actions. For example, say you want to select several advertisers in the Overlap report. When enabled,
automatic updates will start to return data as soon as you select a checkbox. This dynamic behavior can interrupt
your workflow because you have to wait until the report finishes processing before selecting another advertiser. Use
this tool to turn that feature off (and on again) as required.
Refresh Data
Click the refresh icon to run a report or reload your data set. When automatic updates are off, click refresh to run or
update the report.
Search
Search is represented by a generic magnifying glass icon (not shown). The search field is hidden until you click on
the selection labels on the left side of the screen. The table below describes the location of the search tool for each
report.
You can request a .csv file for an Overlap Report when that report reaches its 1-million record limit. A report may
have reached this limit when you see an "Unexpected error has occurred" message. Contact Customer Care to
request a compressed .csv file, which you can import and work with in your own database system. Files are available
for segment-to-segment, segment-to-trait, and trait-to-trait overlap reports.
Contents:
Metadata Description
Element
File Extension Overlap report files are gzip compressed and have a .gz file extension. You must add the .csv
extension to the file after decompression.
Date Range The date range for a report is a 5-digit ID that includes:
Multiple Files We increment the last digit in the file name if a report contains multiple files.
S2S_overlap_12345_2017_01_14_70000.gz
S2S_overlap_12345_2017_01_14_70001.gz
S2S_overlap_12345_2017_01_14_70002.gz
File Contents
In the file, string data is enclosed in double quotes. See the mock data below. This has been truncated for brevity
and to fit the screen.
//File header
"segment_id1","segment_name1","segment_id2","segment_name3,"range_id",...
//File body
"123456","segmentA","654321","segmentB","30","yyyy-mm-dd","98765",...
Label Description
Label Description
segment_name1 The name of the segment you're comparing to the baseline segments.
segment_id2 The ID of your baseline segment. The baseline segment is the segment you
want to compare with other segments.
segment_name2 The name of the baseline segment you're comparing to other segments.
rangeid You can get reports for 7- and 30-day look-back intervals. The rangeid
corresponds to the time intervals shown below.
7: 7-days
30: 30-days
segment_uniques1 The number of unique users in the segment you're comparing to the baseline
segment.
overlap_uniques A total count of the overlap of unique users between the baseline segment and
the other segments selected for comparison.
Overlap_perc The % overlap of unique users between the baseline segment and the other
segments selected for comparison.
Label Description
1st Party
3rd Party
Label Description
rangeid You can get reports for 7- and 30-day look-back intervals. The rangeid
corresponds to the time intervals shown below.
7: 7-days
30: 30-days
trait_uniques The number of unique users in a trait. In the UI report, this number appears in
the pop up window when you hover over a trait in the heatmap results.
overlap_uniques The number of unique users shared between the selected segments and traits.
In the UI report, this number appears in the pop up window when you hover over
a trait in the heatmap results.
trait_uniques_overlap_perc % of unique users that overlap between the trait and segment. In the UI report,
this number appears in the pop up window when you hover over a trait in the
heatmap results.
segment_uniques_overlap_perc % of uniques users that overlap between the segment and trait. In the UI report,
this number appears in the pop up window when you hover over a trait in the
heatmap results.
Label Description
overlap_trait_name The name of the trait you're comparing to the baseline trait.
base_trait_id The ID of your baseline trait. The baseline trait is the trait you want to
compare with other traits.
base_trait_name The name of the baseline trait you're comparing to other traits.
1st Party
3rd Party
Features 164
Label Description
rangeid You can get reports for 7- and 30-day look-back intervals. The rangeid
corresponds to the time intervals shown below.
7: 7-days
30: 30-days
overlap_trait_uniques The number of unique users shared between the selected traits. In the UI
report, this number appears in the pop up window when you hover over
a trait in the heatmap results.
base_trait_uniques The number of unique users in a base trait. In the UI report, this number
appears in the pop up window when you hover over a trait in the heatmap
results.
overlap_uniques The number of unique users shared between the selected traits. In the UI
report, this number appears in the pop up window when you hover over
a trait in the heatmap results.
overlap_trait_uniques_overlap_perc % of unique users that overlap between the selected traits. In the UI report,
this number appears in the pop up window when you hover over a trait in
the heatmap results.
base_trait_uniques_overlap_perc % of uniques users that overlap between the selected traits. In the UI
report, this number appears in the pop up window when you hover over
a trait in the heatmap results.
Report Technology
Describes the underlying software that powers the interactive reports and the data update schedule.
Interactive Reports Use Tableau Technology
Audience Manager uses Tableau software to display data in the interactive reports. With Tableau, the Delivery and
Overlap reports use visual cues and symbols that help you:
Find high and low performance traits.
Spot traits and segments with low and high unique visitor overlap.
Use overlap data to build targeted segments.
Expand reach by identifying related traits with low overlap.
Report data is updated weekly each Sunday. The update processes data from Saturday (the day before) back to
the previous Sunday.
Feature Description
Error Reporting Error reporting shows you the success and failure rates for the number of records processed in
an inbound data source. It returns data in an interactive, stacked bar graph and as summary
metrics in tables below the graph.
Error reporting is automatic. It runs continuously for all of your inbound data sources. It returns
data based on range of preset time intervals or a customized time interval that you set with a
calendar widget.
Error Sampling Error sampling parses the contents of your data files and returns the 10 most common errors
for each error type. The errors in your inbound data files prevent individual records from being
processed. Use this report as a troubleshooting tool to help reduce the number of file errors and
improve processing rates.
You must activate error sampling manually. It runs for 14-days from the day of activation and
then turns itself off. You can turn error sampling back on after the 14-day interval expires. You
activate error sampling when you create an inbound data source or by checking the Error
Sampling check box from the Data Source Settings section of an existing inbound data source.
Error sampling is a computationally demanding process. As a result, it only returns first 10 errors
for each error category. It is not designed to return every error contained in an inbound data
source. These errors are a representative sample of a potentially larger group of similar errors.
Review your entire file for the types of errors this report flags, reformat the file, and send it in
again.
See Inbound Data File Contents: Syntax, Invalid Characters, Variables, and Examples for more
information about how to properly format an data file for an inbound data source.
Features 166
This default view shows you a frequency count of the total records in your report and includes a breakdown of the
errors by error type.
Features 167
Click Totals & Percentages to see what % of your files were processed successfully.
Note: The report does not highlight record errors with this current release. To find and fix file errors, you
should review the results and compare those to the specifications in the Inbound Data File Contents
documentation.
Features 168
Related Content
A Sample Error Report returns the number records in a data source were processed successfully and how many
failed. Follow these steps to generate a Sample Error Report.
1. Go to Analytics > Onboarding Status Report. Search for a data source or choose one from the list.
2. Select a date range. Options include:
A set of fixed report intervals.
Calendar widgets that let you create a custom date range.
3. Click OK.
A reference guide for the labels and terms used in this report.
Term Definition
Data Sync File Name Lists files that Audience Manager received and processed from you selected inbound data
source.
File processing will fail if the file name is formatted improperly. File name requirements vary
depending on how you send this data to Audience Manager. Delivery methods include
Amazon S3 and FTP. For instructions on how to name your files, see:
Amazon S3 Name and File Size Requirements for Inbound Data Files
FTP Name and File Size Requirements for Inbound Data Files
Features 169
Term Definition
Format Errors Lists the number of records that failed processing because they did not match the syntax
or formatting requirements. See Inbound Data File Contents: Syntax, Invalid Characters,
Variables, and Examples for information on how to format your data.
Invalid AAM ID Lists the number of improperly formatted Audience Manager user IDs (UUID). Usually, this
indicates the IDs:
Did not match the expected 38-digit format.
Contain alphabetical characters. IDs should be numbers only.
No Matching AAM ID These are onboarded IDs Audience Manager cannot match to an existing ID. Onboarded
IDs can have this status when Audience Manager has not yet performed an ID sync or it
still can't match the ID even after a synch.
No Trait Realized Lists traits that Audience Manager cannot match to an onboarded trait. This could be the
result of:
Improperly formatted traits in your inbound data file. For on how to format your data file,
see Inbound Data File Contents: Syntax, Invalid Characters, Variables, and Examples.
Traits that have not yet been defined in Audience Manager.
Percent Success The percentage of records in your file that were stored successfully. Percent success =
records processed / number of records in a file.
Records Received The total number of records received. In most cases, this number should match the total
number of records (lines) in your inbound data file.
Stored Records Number of records stored successfully. Because of file format errors, some of the records
received may not be stored by Audience Manager. The number of stored records can be
less than the number of records received.
Total Realized Traits The number of traits for all users across all inbound files that get stored in the Audience
Manager platform.
Total Unused Total number of unused signals received in the report. This total is based on the total number
Signals of successfully stored records.
2. In the Search for a Destination box, start typing and select the desired destination.
3. In the Select a Date Range box, specify the start and end dates for your report, then click Apply Date Filter.
Features 171
Line Description
Data Sync File Name
List of all outbound files that Adobe generated for this destination that were processed
together.
Successful
Number of records that were successfully sent from Audience Manager to the
destination.
Failed
Number of records that could not be sent to the destination.
Records Received
Total number of records Adobe generated in the files and attempted to send to the
destination. In most cases, this should be the total number of successful files and
failed files.
Trend Reports
A Trend report returns trend data on traits and segments.
Audience Manager uses Role Based Access Control (RBAC) to extend user-group permissions to the Trend reports.
Users can see only those traits and segments in reporting that they have permissions to view. RBAC functionality
lets you control what reporting data internal teams are able to view. For example, an agency that manages different
advertiser accounts can configure user-group permissions so that a team that manages Advertiser A's account
cannot see Advertiser B's reporting data.
Date Range: Specify the date range for the report (start date and end date).
Display Interval: Specify the display interval (1, 7, 14, 30, 60, and 90-day intervals).
2. Search for a trait or segment by name or ID.
Features 173
3. From the folder list, drag and drop the traits or segments you want to report to the Selections panel on the right
side.
4. Generate the report to display in data in graphical format or export the report to CSV format.
Or
Click Export to CSV to export the trait or segment data and all folders in CSV format for further analysis and
sharing. This exports the Unique Trait Realizations, Total Trait Realizations, and Total Trait Population for all
day ranges.
Note: Total Trait Realizations are calculated for Rule-based Traits only.
8. (Optional) Mouse over individual traits or segments to display the number of visits and the date for each data
point.
You can click the column headers in the table to sort the results in ascending or descending order.
For Trended Trait reports, zeroes indicate that Audience Manager did not collect data for that day. Blank entries
indicate that the trait didn't exist. The following example shows examples of both types of entries:
Features 174
The overlap reports count users as unique when they qualify for a trait:
During the selected time interval for the report.
That has a time-to-live value longer than the selected time interval for the report.
If they're seen as active in our system (i.e, qualified for any other trait, had an ID sync, etc.) within the past 60 days.
General Report: Unique User Count
The General report counts site visitors as unique if they qualified for the trait during the selected time period.
Reports Dashboard
Use the Dashboard to view information about your partners' unique visitor counts broken down by trait types and
segments for a specified time frame.
Audience Manager uses Role Based Access Control (RBAC) to extend user-group permissions to the Dashboard.
Users can see only information on the dashboard that they have permissions to view. RBAC functionality lets you
control what reporting data internal teams are able to view. For example, an agency that manages different advertiser
accounts can configure user-group permissions so that a team that manages Advertiser A's account cannot see
Advertiser B's reporting data.
This dashboard can be used to troubleshoot data-delivery issues. For example, if you notice a dip or spike in total
unique users with the breakdown of type of unique user (rule-based vs. onboarded), you have a better starting point
to track down a potential data-delivery problem. If you notice a dip in total unique users and in onboarded unique
users, you can go to the Onboarding Status report to see if there was an issue with an inbound file.
Depending on the period selected, the delta change in the Largest Traits/Most Changed Traits and Largest
Segments/Most Changed Segments panels displays the change in unique visitors in the audience over the period
ending today vs. the prior period of the same length. For example, if you select 7 Days, the delta compares the
unique visitors over the prior seven days ending today against the unique visitors for the seven days ending
seven days ago.
Note: You can investigate a delta change that seems out of the ordinary by running a Trend report. For
example, if you see an unusually large delta change during the last seven days, you could run a Trend
report for the last 14 days (2 x 7) to better understand the numbers.
Partner Uniques
Largest Traits/Most Changed Traits
Largest Segments/Most Changed Segments
Features 175
3. (Optional) Click Normalize above any graph to show all of the data on the same scale. You can also mouse over
any data point to see more information.
Partner Uniques
Permission Required to View: View All Traits.
This panel displays the number of unique visitors during the specified time frame. Individual, color-coded lines
represent the total number of unique visitors and the number of unique visitors captured using algorithmic, rule-based,
and onboarded traits.
Note: The total number of unique visitors represents visitors captured via rule-based or onboarded traits.
However, the total number of unique visitors does not equal the sum of unique visitors captured using the
rule-based and onboarded traits. The same unique user might be represented in either of these two trait types.
This panel displays the number of unique visitors captured by various traits.
Use the Show drop-down list to display information about different types of traits: All Traits, Algorithmic, Onboarded,
or Rule-Based.
Tab Description
Largest Traits Displays information about the number of unique visitors sorted by number (highest to
lowest) and also lists the delta change of unique visitors during the specified time frame.
Most Changed Traits Displays information about the number of unique visitors sorted by the delta change.
This panel displays the number of unique visitors captured by various segments in real-time.
Tab Description
Largest Segments Displays information about the number of unique visitors and the delta change of unique
visitors during the specified time frame.
Most Changed Displays information about the number of unique visitors sorted by the delta change.
Segments
Reports that use sampling exclude traits and segments when they do not meet the minimum unique visitor
requirements. These minimum requirements are as follows:
Error Rates
Errors can occur in reports that generate overlap data. An error is defined as the percentage of records that:
Should not have been included in a report but were added anyway.
Should have been included in a report but were left out.
It's important to note that our tests and models show that the error rate decreases in an inverse proportion to the
number of records in your data set. Data sets that have a lot of records generate fewer errors than sets with a small
number of records. Let's look at this assertion in a more quantitative manner. As shown in the following table, for a
set number of records, 95% of your report results will be below a specific error rate.
Segments
A segment (or an audience) is a set of users who share common attributes. In Audience Manager, you create
segments with server-side rules. These rules let you build audience groups based on site visitor attributes such as:
Behavior.
Demographics (age, gender, income, etc.).
Other characteristics you can define in the user interface.
Segment Composition
An Audience Manager segment is a server-side rule that consists of individual or groups of traits. Traits are composed
of data elements called key-value pairs. Along with rules you set at the segment level, these key-value pairs contain
the criteria that qualify visitors for trait and segment membership.
Unlike traditional pixels that fire in response to simple yes/no conditions, Segment Builder lets you create complex
segment requirements. Like traits, segments evaluate data using Boolean expressions (AND, OR, NOT), comparison
operators (greater than, less than, equal to, etc.), and recency/frequency criteria. These features help create focused
audience segments relevant to your business needs.
Benefits
Segments improve upon standard pixel-based audience creation/segmentation processes because they let you:
1. Basic Information: Shows required and optional details specified when the segment was created.
2. Segment Graph: Displays performance data graphically and for fixed 1, 7, 14, 30, 60, 90-day and segment
lifetime intervals. We explain segment population numbers in a separate document.
3. Segment Rules: Lists traits in the segment along with qualification rules.
4. Destination Mappings: Lists destination mappings for the segment.
5. Management Tools: Controls that let you create, edit, clone, and delete segments.
Manual method
As a data partner, you're probably used to getting audience metadata from your customers through manual processes.
This could include files attached to emails or from customers adding that data through a UI you've built and maintained
for this purpose. These process work, but they're often cumbersome, time consuming, and may require manual data
entry work. These methods are often used to help get an integration up and running quickly, but they do not provide
the best customer experience in the long run. As an alternative, you can use the Audience Manager API to get
segment metadata automatically.
Automated method
Audience Manager provides a set of REST APIs that let you retrieve segment metadata automatically. With the API,
you can create jobs that retrieve segment metadata at scheduled intervals or automatically, whenever you process
Audience Manager data and find a new segment ID. See the steps below for more information.
The Getting Started with REST APIs section contains information about general requirements, authentication,
available methods, etc. This is a good place to begin if you haven't worked with the Audience Manager API before.
You need a client ID and secret to make API calls. You can obtain a client ID and secret from your integration
specialist during the integration set up process.You can also send an email request to Audience Manager Customer
Care at [email protected].
After completing the previous steps, you can use a GET method to retrieve segment metadata. For a sample request
and response, see Return Destination Mappings. This call returns segment data formatted as key-value pairs in a
JSON object. Some of the important segment attributes returned in the response are listed in the following table.
Parameter Description
elementStatus The current status of the segment mapping. Returned status options include:
active
inactive
deleted
Segment Builder
Describes how to create segments with Segment Builder.
Create a Segment
Describes the required and optional steps that create a segment in Segment Builder.
Segment Builder Section
Segment Builder consists of 3 separate sections: Basic Information, Traits, and Destinations Mapping. To create a
segment, complete the required fields in the Basic Information and Traits sections. Destinations Mapping settings
are optional. See the instructions below for additional help.
Bring up the Advanced Search modal by clicking Browse All Traits. Search for traits by name, ID, description
or data source. Click on a folder while searching to limit results to that folder and its subfolders. You can also
filter traits by trait type.
Click and drag traits to create separate groups.
Hover between groups to set relationships with Boolean AND, OR, AND NOT values.
Hover over the clock icon to add recency and frequency rules to the trait.
View segment population data as you add or remove traits. Click Calculate Estimates to see (or refresh) the
estimated population numbers. Read more about segment population data in the Segment Builder.
Click Save when done.
Managing the traits in your segments is an important part of keeping segments viable. Follow these steps if you
need to remove traits from a segment.
To remove traits from a segment:
1. Go to Manage Data > Segments. Scroll through the list or use the search feature to find the segment you want
to work with.
2. Click the segment name to open the segment details screen.
3. Click Edit to open Segment Builder and then click Traits to open the traits panel.
4. Hover over the trait you want to delete and then click the X.
This action immediately removes the trait from your segment.
Features 182
In Segment Builder, the Basic Information settings let you create new, or edit existing traits. To create a new segment,
provide a name, a data source, and select a storage folder. All other fields are optional. Move on to the Traits section
when done.
Field Description
Name
Give the segment a short, logical name that describes its function or purpose.
Avoid abbreviations and special characters.
Description
A field for additional descriptive information about the segment.
Integration Code
A field for a user-defined ID or other company-specific information.
Data Source
Associates the segment with a specific data provider.
Status
Activates or deactivates the segment (active by default).
Folder Storage
Determines which storage folder the segment belongs to.
Features 183
In Segment Builder, the Traits section lets you manage traits in a segment, create trait groups, and set qualification
criteria. To add a trait to a segment, type the trait name in the search field and click Add Trait. Save the trait (if
finished) or move on to Destinations Mapping.
Prerequisites: Complete the required fields in the Basic Information section.
Field Description
Basic View
This section provides visual controls that let you:
Build new and manage existing segments.
Remove traits from a segment.
Add up to 50 (maximum) traits to a segment.
Drag and drop traits to create new groups.
View traits and trait groups in a segment.
Set qualification criteria with Boolean expressions, comparison operators,
and recency/frequency settings.
Code View
Opens a development environment that lets you create and manage traits,
groups, and qualification requirements with code instead of the visual interface.
The code view is useful if your segments:
Contain more than 50 traits in an individual segment.
Search
Helps you find traits to add to a segment.
In Segment Builder, the optional Destinations Mapping section lets you send segment data to a third-party cookie,
URL, or server-to-server destination. To add a destination, search (or browse) for a destination, provide destination
specific information, and click Add Destination.
Prerequisites: Complete the required fields in the Basic Information and Traits sections. Also, the destination must
already exist.
Destination Mappings Search Tools
The Destination Mappings panel contains search tools as described in the table below.
Features 184
Search by Destination Name Lets you search for a specific destination by name. To search, start
typing. The field will auto-complete based on your search terms. Click
Add Destination when done.
Browse All Destinations Browse a list of all destinations available to you. Select and add
destinations to your segment from the popup list.
In Segment Builder, the Add Destination pop appears after you select a destination. This window displays static
information about the destination and fields that vary depending on the destination type. Provide the required
information in the empty fields to set up a destination mapping.
Note: Publication dates are optional. When blank, the destination becomes active and never expires.
In the Destination Mapping fields, specify the key-value pairs used to send data to the destination. Enter the key in
the first field and the values in the second. Your cookie destination pop could look similar to this:
In the URL and Secure URL fields, specify the complete standard or secure address used to send data to the
destination.
Features 185
In the Destination Value field specify the value (part of a key-value pair) used to send data to the destination.
Features 186
Segment Builder lets you build trait rules for a segment using a code editor. Click the Segment Expressions (Code
View) tab in the Traits panel to access this feature.
Expression Builder Code Syntax
You can add trait rules to a segment with code instead of using drag and drop features. When coding, replace
italicized elements in the example with an actual expression or value. The base code uses following syntax:
FREQUENCY([<traitID1>T,<traitID2>T]<Recency Operator><Numeric Value>D)
<Frequency Operator><Numeric Value>
To build groups of segments, wrap the frequency function in parenthesis and set the relationship between each
expression with a Boolean operator (AND, OR, and NOT).
Parameters
[<traitID>T] An array of trait IDs followed by the letter T. Separate multiple traits
with a comma. For example, [123T, 456T].
<Recency Operator><Numeric Value>D (Optional) Sets recency rules on traits in the segment. The letter D
indicates recency in days.
Set recency and frequency intervals with a comparison operator and an integer. Segment Builder uses standard
expressions like < (less than), > (greater than), == (equal), etc. However, the types of allowed operators vary when
you set recency or frequency. The table below lists the allowed recency/frequency operators.
In Segment Builder, recency and frequency let you segment visitors based on actions that occur or repeat over a
set daily interval.
Contents:
Features 187
Recency: The number of days during which a user viewed or qualified for one (or more) traits.
Frequency: The rate at which a user viewed or qualified for one (or more) traits.
Recency and frequency settings help you segment visitors based on their real (or perceived) level of interest in a
site, section, or particular creative. For example, users who qualify for a segment with high recency/frequency
requirements may be more interested in a site or product than users who visit less often or less frequently.
Recency
Third-Party Traits You cannot set recency rules on individual third-party traits or trait groups that contain
third-party traits. Recency and frequency applies to your own traits only.
Frequency
Third-Party Traits You cannot set frequency rules on individual third-party traits or trait groups that contain
third-party traits. Recency and frequency applies to your own traits only.
Recency You can configure frequency requirements without configuring recency requirements. Just
Requirements set a frequency value and leave the recency field blank.
Profile Merge Rules See Trait Frequency, Device Graphs, and Profile Merge Rules.
The expression frequency([1000T]) <= 5 includes all users that have realized the trait with the ID "1000" fewer
than five times, including users who have not realized the trait.
When you need recency/frequency requirements to be less than a specific number of times or days, join that trait
to another with an AND operator. Using the example above, this expression becomes valid when joined with another
trait as shown here: frequency([1000T]) <= 5 AND isSiteVisitorTrait
For advertising frequency-capping use cases, you could create a segment rule similar to this: (frequency([1000T]
<= 2D) >= 5)?. This expression includes all users that have realized the trait with the ID "1000" in the last 2 days
more than five times. Set frequency capping by sending this segment to the ad server with a NOT set on the segment
in the ad server. This approach achieves greater performance in Audience Manager while still serving the same
purpose for frequency capping.
Describes the effects on segmented users, data, and destinations when you pause or delete an active segment
using Segment Builder.
Access to the Pause and Delete Controls
Hover over a segment name in the segments list to expose the pause and delete icons (in the Actions column).
These features affect segments as described below.
A deleted segment:
Stops segmenting new, qualified users.
Removes qualified users from segment membership .
Is removed from the segment list.
Cannot be undeleted.
Does not send data to associated destinations.
Does not return data in the available reports.
Note: You can also pause and delete segments using an API method. For more information, see REST APIs.
Metric Description
Total Trait Population The number of unique IDs that have the selected trait in their profile.
However, Audience Manager can immediately estimate the real-time and total population size of your segment.
These estimates are based on sampled historical data and return results at the 95% confidence interval.
In Segment Builder, a blue bar on the estimated population graphs indicates the possible upper and lower ranges
for segment size. Although past performance does not guarantee future results, the estimated data can help you
understand the potential size of a new or edited segment.
For estimated segment population data (real-time and total), Segment Builder does not update the graphs
automatically as you add or remove traits in a segment. Click Calculate Estimates to see (or refresh) the estimated
population numbers.
For actual (real) segment population data (real-time and total), Segment Builder updates the graphs automatically
when you load an existing segment. For new segments, or when you add new traits to an existing segment, actual
population data is not updated until 24-hours after the segment is created.
See the definitions below for more information about estimated and actual segment population data.
Metric Description
Estimated Real-Time The estimated number of deduplicated visitors seen in real-time for the specified time
Population (Potential) range and who were qualified for the segment at the moment they were seen by
Audience Manager.
In Segment Builder, the last 30-day populations for traits (Total Trait Populations),
can be different for traits and real-time segments.
For traits, the last 30-day metric counts the number of unique users who qualified for
that trait during the last 30-days.
For real-time segments, the last 30-day metric counts the number of users who have
qualified for a trait (in that segment) at some point in the past and have been seen
again by Audience Manager within the last 30-days. For example, say you have a
user who qualified for a trait 60-days ago and was seen again 10-days ago. In the
data, this user won't be added to the trait count because they first qualified for the
trait more than 30-days ago. However, they will be included in the last 30-day count
for the real-time segment results because they've qualified for the segment within that
time interval.
Features 192
Metric Description
Note: The Estimated Real-Time Population metric does not include devices
that have qualified for a segment based on connections provided by a Profile
Merge Rule that uses a device graph option.
Estimated Total The estimated number of deduplicated visitors who could be in your new or modified
Population (Potential) segment. As with almost any estimate, past performance does not guarantee future
results, but you can use the estimated total to:
See how many people a new or revised segment might reach as you build a segment.
Tune the segment depending on your goals. For example, large segments are useful
for brand-awareness campaigns and smaller segments are useful for focused targeting
or re-targeting campaigns.
Note: The Estimated Total Population metric does not include devices that
have qualified for a segment based on connections provided by a Profile Merge
Rule that uses a device graph option.
Segment Population Data for Merge Rules Without a Device Graph Option
The following table defines the actual real-time and total population metrics when your segments are used by a
Profile Merge Rule created without a device graph option. These are the device options settings No Device Options
and Current Device Proflie.
Metric Description
Real-Time Population The actual number of deduplicated visitors seen in real-time for the specified time
(Existing) range and who were qualified for the segment at the moment they were seen by
Audience Manager.
In Segment Builder, the last 30-day populations for traits (Total Trait Populations),
can be different for traits and real-time segments.
For traits, the last 30-day metric counts the number of deduplicated users who qualified
for that trait during the last 30-days.
For real-time segments, the last 30-day metric counts the number of users who have
qualified for a trait (in that segment) at some point in the past and have been seen
again by Audience Manager within the last 30-days. For example, say you have a
user who qualified for a trait 60-days ago and was seen again 10-days ago. In the
data, this user won't be added to the trait count because they first qualified for the
trait more than 30-days ago. However, they will be included in the last 30-day count
Features 193
Metric Description
for the real-time segment results because they've qualified for the segment within
that time interval.
Total Population The actual number of deduplicated visitors who were qualified for the segment as of
(Existing) yesterday.
Segment Population Data for Merge Rules With a Device Graph Option
The following table defines the actual real-time and total population metrics when your segments are used by a
Profile Merge Rule created with a device graph option. These are the device options settings for the Profile Link
Device Graph, the Adobe device graph, and other third-party device graph choices that are available to you.
Metric Description
Real-Time Population The actual number of devices seen in real-time with current profiles that, when merged
(Existing) with up to 3-other device profiles connected by the device graph, contains the traits to
qualify for the segment the moment it was seen by Audience Manager.
Total Population The total number of devices with profiles that, when merged with up to 3-other device
(Existing) profiles connected by the device graph, were all qualified for the segment.
Note: The Total Segment Population (Existing) will never decrease when a
Profile Merge rule uses a device graph option. This is because the capability to
un-segment a device is not currently supported for these types of Profile Merge
Rules. For more information, see Device Graphs and Profile Merge Rules.
Tags
Tag Insertion Manager (TIM) was used to create and manage data collection code. This feature is deprecated and
has been replaced by the Adobe Dynamic Tag Manager.
For more information, see Dynamic Tag Management.
Traits
Manage data collection and audience creation with rules-based, onboarded, algorithmic or folder traits.
1. See all your traits and related details in a table with columns you can sort.
2. Review and work with Active Audience Traits and Data Source Synced Traits.
Features 194
Data Source Synced Traits track all of the users associated with a data source. You can use a Data Source
Synched Trait like other traits when you build or edit segments. When you create a Data Source Synced Trait,
the trait name matches the name used by your data source. Edit the data source to change the trait name. These
traits cannot be deleted.
Tip: Data Source Synced Traits are useful for troubleshooting. Click a trait name to check the metrics on
the trait summary page. If your selected trait returns data, that indicates the ID synchronization process is set
up properly and pushing data to Audience Manager.
Folder Traits
A folder trait allows you to capture all the users and activities from its associated folder and any child folder.
Features 195
Folder traits let you automatically aggregate traits that reside within the same folder and all child folders into a
targetable segment.
Contents:
Folder traits qualify all the users in these folders in an automatically created Electronics Folder Trait (based on the
name of the parent folder). And, this process repeats itself as you move down the file structure. In this case, folder
traits capture all of the users in the Laptops and Brands folders in an automatically created Laptops Folder Trait.
Folder traits are selectable in segment expressions. Selecting a folder trait is equivalent to selecting all the traits
within that folder and its subfolders with an "OR" grouping.
Features 196
Trait A: 5
Trait B: 1
Trait C: 1
Item Description
Trait type Onboarded traits and algorithmic traits contribute at most 1 realization to a folder trait's
frequency.
Moving traits between Moving a trait from a folder to another will disqualify that trait from the first folder trait
folders and qualify it for the second folder trait. This means that if you delete or move a trait
from the folder, the users in the trait's population will be unsegmented from the
segments using the folder trait as a segment expression.
System variables Folder traits cannot be realized in event calls using the d_sid parameter.
Reporting Folder traits are autocalculated traits and do not appear in Overlap Reports.
A folder trait is created automatically when you create a new folder in your taxonomy.
To create a folder trait
3. Click the + icon to create the folder. Note that you can create a maximum of 2.000 folders in your taxonomy. See
the usage limits documentation for more information.
4. Name the folder and click Save. For example, a folder named Electronics will have a folder trait named 'Electronics
Folder Trait'.
You can view and select the new folder trait in the traits dashboard.
5. The new folder trait is automatically assigned to the Audience Manager generated data source. Your users with
appropriate Role-Based Access Control (RBAC) permissions can change the data source in the edit folder trait
workflow. See Edit a Folder Trait.
1. In the Traits dashboard, hover over the Actions column for the folder trait you want to edit.
2. Click the pencil to edit the trait.
3. The Edit workflow allows you to change the data source for folder traits. Select your desired data source and
click Save. Data sources are sorted numerically, by DPID, in the drop-down box.
If your company uses Role-Based Access Rights (RBAC), you or your users need access permissions to traits
data sources.
Note: You cannot directly rename a folder trait. Rename its associated storage folder in order to change the
name of the folder trait.
Delete a folder trait by deleting the storage folder that the trait belongs to.
Features 199
Note: You cannot delete a folder trait, if it is used in a segment expression. Navigate to the trait view section
to see which segments use the folder trait. Then, click on the segment name to open the segment summary
view, which allows you to remove traits from segment expressions.
Unique Trait Realizations: A count of unique users that added this trait to their profile over the given time range.
Total Trait Population: The number of unique users that have this trait in their profile.
Trait Expression: Shows the various rules for the trait. For rule-based traits, clicking "Edit" lets you manage the
various rules that the trait consists of.
Segments with this Trait: Shows you what segments the trait belongs to.
Management Tools: Controls that let you create, edit, clone, and delete traits.
Trait Builder
Describes how to create rules-based, onboarded and algorithmic traits with Trait Builder.
Features 200
Trait Builder is a feature that improves upon traditional pixel-based data collection and audience creation/segmentation
processes. It works by processing page data with server-side rules you create in the user interface.
Compared to pixels, which fire in response to simple "yes" or "true" conditions, Trait Builder lets you:
Collect all page data so you can use it later to build relevant, useful traits.
Build traits based on key-value pairs passed in during data collection.
Evaluate complex data conditions with server-side rules that work with Boolean expressions and comparison
operators.
Reduce or eliminate the need to maintain data collection pixels on your inventory.
Monitor performance with Audience Manager reports.
Contains information about set up steps, features, or tools unique to each trait type.
Basic Information for Traits
In Trait Builder, the Basic Information settings let you create new, or edit existing traits. The Basic Information
settings are the same for rules-based, onboarded and algorithmic traits. To create a new trait, provide a name (avoid
special characters), a data source, and select a storage folder. Other Basic Information fields are optional.
Basic Information Fields Defined
This helps reduce processing errors when you set up an inbound data file transfer.
Description A few words to help describe the trait's purpose or function. Optional.
Event Type Assigns the trait to a type or category, usually according to function (e.g. conversion, site
visitor, partner, page view, etc.). Optional.
Data Source Associates the trait with a specific data provider. Required.
Integration Code A field for an ID, SKU, or other value used by your internal business processes. Optional.
Stored In Determines which storage folder the trait belongs to. Required.
Features 201
Describes set up steps and features specific to the rules-based and onboarded trait creation process.
Managing Trait Rules
In Trait Builder, the Expression Builder lets you create and test rules that establish audience qualification requirements.
Rules consist of key-value pairs such as "color == blue" or "price > 100". Comparison operators establish the
relationship between keys and values. Boolean expressions determine the relationship between rule groups.
Main Signal Rules Features Described
1. The Expression Builder or Code View tabs provide an overview of the rules in your trait. The Expression
Builder tab lets you create rules with fields and drop-down menus. The Code View lets you create rules by
manually writing those expressions as code. The illustration above shows a simple trait composed of a signal
that evaluates data for a qualifying condition where a product key equals a specific value, in this case color ==
"blue".
2. The fields and controls in this section let you create signals from key-value pairs and set the relationship between
them with a comparison operator. A key, operator, and value are required.
3. The test fields let you validate combinations of signal rules or the URLs that you want to use when sending data
to Audience Manager.
To create a rule
1. Expand the Trait Expression section and enter a key and value name.
This creates a signal.
Note: Include the c_ prefix (or any other naming convention) for key variable if your event calls send data
to Audience Manager using that syntax.
Note: The Boolean OR operator establishes the relationship between multiple signals within a group and
cannot be changed.
Example
In the example below, a user has created a new trait rule based on the product ID. To build this rule, the user provided
the key productkey linked with an equals operator (==) to the value 2093.
Clicking Add Rule saves and moves the trait into the Expression Builder workspace.
1. Move your cursor over the rule you want to move to highlight it.
2. Hover over the highlighted rule border.
This automatically separates the rule from its current group and moves it into a new group.
Note: Drag a rule back to its original group if you move it unintentionally.
3. Select a Boolean operator (AND, OR, AND NOT) from the dropdown menu to set the relationship between the
rule groups.
1. In the Traits dashboard, hover over the Actions column for the trait you want to edit.
This brings up the trait management icons.
2. Click the pencil to edit the trait.
1. In the Traits dashboard, hover over the Actions columns for the trait you want to edit and click the pencil icon.
This brings up the trait management icons.
2. Expand the Trait Expression section.
3. Hover over the rule you want to delete and click the X icon.
Clicking X deletes the rule immediately.
In Trait Builder, the Advanced Options lets you set a time-to-live (TTL) interval for a trait. TTL defines how many
days a qualified visitor remains in a trait (120 days is default). When set to 0, trait membership never expires.
To set the TTL for a trait
1. Expand the Advanced Options section and enter a number to set a TTL value for the trait.
2. Click Save.
Describes set up steps and features unique to the algorithmic trait creation process.
Features 204
Describes the required and optional steps that let you create an algorithmic trait.
To create an algorithmic trait, go to Traits and follow the steps below:
1. Click Create New Trait and select Algorithmic from the drop down menu.
2. In the Basic Information section
Name the trait.
Select a data source.
Choose a storage folder.
In Trait Builder, the Configuration section lets you associate an algorithmic model to a trait. To complete the algorithmic
trait creation process, select a model and choose a reach or accuracy goal.
Prerequisites:
Create an algorithmic model.
Wait for the notification email that lets you know the model data run has finished.
Complete the required fields in the Basic Information section.
Configuration Fields and Settings
Select Model for Algorithmic Trait Click the Update button to open the models window.
From the window, select the algorithmic model that you
want to use to create the trait.
Select Goal Accuracy Select this option to create a trait based on accuracy.
Accuracy is a scored value that indicates how close
potential users are to your baseline. The accuracy scale
ranges from 0 (least accurate) to 1 (most accurate).
Reach and Accuracy Data Columns Located on the right, this section displays up to 21 rows
of numeric data that displays the accuracy and reach
values for your model.
Reach and Accuracy Slider Located at the bottom of the graph, the slider lets you set
a numeric value for your reach or accuracy goals. You
can set the slider and then choose the reach or accuracy
goal button to create a trait.
Trait Storage
Trait storage folders store and help you organize traits.
Features 205
In Trait Builder, trait storage folders are directories that hold and organize traits into logical groups that you create.
Access the storage folders from the Traits dashboard or when creating a new trait. Remember, you cannot create
a new trait without assigning it to a storage folder.
This procedure describes how to create a storage folder for your traits.
You can create a new storage folder in the Basic Information section when setting up a new trait. Also, folders can
be created in Trait Storage section of the main Traits list dashboard.
It's important to understand the relationship between accuracy and reach when working with algorithmic traits.
Accuracy is represented by a scored value that reflects how similar users are to your baseline. The accuracy scale
ranges from 0 (least accurate) to 1 (most accurate). Reach is simply a value that represents the number of unique
users you would like to include in a trait. Reach and accuracy are inversely related. Accurate traits reach fewer users
and traits with greater reach are less accurate. The following image illustrates this concept.
Your business goals should help you make the right decisions about accuracy and reach when working with algorithmic
traits. If accuracy is your goal, note that a trait's population can increase or decrease across model runs. Population
changes are the results of the algorithm making decisions during each evaluation period. Sometimes, the algorithm
finds more qualified users during a processing cycle and, during others, it may find fewer. Results are determined
by the baseline data used to create the model and new visitors and trait qualifications that have come since the
previous model run. By contrast, when working with reach, the user population count remains constant. For example,
if you want to reach 10,000 users, the algorithm will make sure it always hits that number for each model run.
The focus on accuracy or reach depends on what you want to achieve with a particular segment. The following table
may help you evaluate accuracy vs reach when creating a trait.
Features 207
Accuracy Users similar to baseline customers in your model. Useful for targeted campaigns
when you want to reach a specific audience.
Reach A specific number of users for each data run. Useful for brand campaigns when
you're interested in reaching an audience of a specific size.
Comparison operators (or relational operators) are used to compare, test, or evaluate the relationship between
different values. In Trait Builder, when building signal rules, comparison operators let you test the relationship
between different key-value pairs. For example, you could create a signal rule to define an audience for expensive
camera shoppers. In this case, you could create a camera/price key-value pair and qualify a user if they've looked
for a camera with a price equal to or greater than a set amount.
Comparison operators are useful when you need to evaluate and create traits based on multiple values. Looking at
prices on goods and services can illustrate this condition. For example, your business may want to identify visitors
based on the prices of the products they view. However, it can be administratively inefficient to define individual
segments based on specific values. Comparison operators help overcome this hurdle by establishing segmentation
triggers based on price thresholds or ranges.
Comparison Operators
Operator Definition
== Equal to
!= Not equal to
Named Operators
This article provides general overview about classifying traits with a common taxonomy.
The Audience Manager Taxonomy
The Audience Manager taxonomy is an optional feature that classifies traits using uniform, logical, and commonly
understood naming conventions. It operates at the platform level to help ensure naming consistency throughout the
Audience Manager ecosystem. Ultimately, the common taxonomy is designed to bring our product into greater
alignment with industry standards regarding consumer privacy and opt-out processes.
Enabling our customers to build custom segments and data models is core to the Audience Manager model and to
your ability to capture value from our platform. What is also required, however, is a robust and scalable means to
communicate information about segments to your customers and partners. Furthermore, this communication requires
that segment information is shared in an easy-to-understand and universally understood language while protecting
your proprietary trait and segment names. The Audience Manager common taxonomy provides this language and
capability.
The common taxonomy is based on the classifications created by the Interactive Advertising Bureau (IAB). Refer
to the IAB's website for more information about quality assurance guidelines for networks and exchanges.
Taxonomic Organization
The Audience Manager taxonomy organizes data into nested categories called tiers. Each category can contain up
to 3 separate tiers for data classification. At the highest level, a Tier 1 category groups data into its most general
form (e.g., geography). Subsequent tiers provide greater specificity to the higher level, general category (e.g.,
geography --> United States --> New York). However, not every category has 3 tiers, some use just 2.
You assign taxonomic classifications when creating or editing traits in the Add New Trait Wizard (located in Manage
Data > Traits). Refer to the documentation on creating traits for more information.
If you decide to classify traits according to our common taxonomy, it's important to remember:
Classification is optional.
Traits are not assigned to a taxonomic category by default (i.e., traits are not classified as "unknown" or
"uncategorized" etc.).
Traits can belong to one taxonomic category only (multiple and cross-category classifications are not allowed).
Features 209
Trait Builder evaluates expressions according to the order-of-operations listed below, from high to low precedence.
Trait elements defined by high-precedence operators are evaluated first, before other precedence operators. This
section ranks each operator according to precedence, from high to low.
Comparison operators < > <= >= Less than, greater than, less than/equal to, greater than/equal to are
evaluated next.
Equality operators == != Equal to, not equal to are evaluated after the previous operators.
Boolean OR OR
This article describes the naming conventions used by the key variable in a key-value pair
Naming Requirements for Keys
In Expression Builder, the name of a key variable in a key-value pair can consist of any number of digits followed
by 1 (or more) letters, a dash, an underscore, and additional digits.
Valid key names: price123, 123price, price-123, c_price123.
Invalid key names: 123, price!123.
Prefixing Key Variables with c_
The c_ prefix is always required if the parameters that send in data on an event call URL use that syntax.
TTL defines how long a site visitor remains in a segment after the last trait qualification event. TTL is set on traits
and not on segments. Visitors fall out of a segment if they do not see a qualifying trait before the end of the TTL
interval. The default TTL for new traits is 120-days. When set to 0-days, the trait never expires. Set the TTL value
when you create or edit a trait in the Advanced Options section of the trait creation interface.
A user falls out of a segment if they do not see any of its traits within the TTL interval. For example, if you have a
1-trait segment with a 30-day TTL, the user will drop out of that segment if they do not see the trait again within the
30 days.
Features 210
The TTL resets, and the user remains in a segment, if they see that segments trait within the TTL period. Also,
because most segments contain multiple traits with their own TTL periods, a user can remain in a segment (and
reset the TTL interval) as long as they keep seeing any traits associated with a segment. For example, say you have
Segment 1 composed of Trait A (30-day TTL) and Trait B (15-day TTL). Assuming the user sees each trait only
once, the illustration below outlines the TTL renewal process and total in-segment duration.
Remember, the TTL set on your Audience Manager pixel operates independently from the TTL set on other pixels
used by third parties (DSPs, ad networks, etc.).
This article describes the prefixes you must attach to key variables when creating trait rules.
Purpose of Key Variable Prefixes
When you create Trait Builder rules, it is important to preface the key variable with a recommended prefix. These
prefixes identify the type of data passed in and help avoid namespace conflicts within Audience Manager. Generally,
you can give a variable any name, but data for a rule will not process if the key variable name does not match the
variable name in an event call.
The following table defines the common prefixes used by Trait Builder.
c_
As customer specific. This is key data sent in from your own properties.
Features 211
d_
At the Audience Manager level. This data is uniform across the Audience Manager
ecosystem. See Supported Variables for a more complete list.
h_
That contains HTTP header information. Includes header parameters such as referer,
IP, accept-language, etc.
p_
Our Data Collection Servers allow passing of private parameters. Basically, any
parameter that starts with p_ will be used for trait evaluation, but it will not be logged
downstream, nor stored.
Example: given /event?p_age=23 and a trait like YoungPeople = p_age < 25, the trait
will be realized, but the p_age=23 key-value pair will be dropped after the request and
will not be logged.
Describes the common platform-level key-value pairs you can use to target users with geographic variables across
all properties in your Audience Manager account.
This topic contains the following sections:
Purpose of Platform-level Variables
Adding Values to Platform Level Keys
User Defined Platform-Level Keys
Platform Level Keys Defined by IP Address
For example:
Trait: d_area_code=801
Trait Name: Utah
d_city
Cities and towns. Download the City List.
For example:
Trait: d_city=bonn
Trait Name: Bonn
d_country
Values correspond to ISO country codes. For a searchable list of codes, see the ISO Online
Browsing Platform.
Targeting for the United Kingdom is the only special case that does not obey ISO 3166.
You should use "UK" instead of "GB" for targeting in the United Kingdom.
To target the Netherlands Antilles, the code "AN" has been deprecated since 2010. The
area has been dissolved into five separate territorial units. The implication is that for targeting
in the Netherlands Antilles, you should not use "AN," but a combination of the country codes
for "CW," "SX," and "BQ."
For example:
Trait: d_country=CZ
Trait Name: Czech Republic
Trait: d_country=UK
Trait Name: United Kingdom
Trait: d_country=CW OR d_country=SX OR d_country=BQ
Trait Name: Netherlands Antilles
d_dma_code
Metropolitan area DMA codes. Download the DMA region list (.csv format).
For example:
Trait: d_dma_code=807
Trait Name: San Francisco
d_lat
Latitude (e.g. d_lat=40.75). Download the latitudes list.
d_long
Longitude (e.g. d_long=73.98). Download the longitudes list.
d_postal_code
ZIP codes (exclude the extended +4 code). Download the postal codes list.
Features 213
Trait: d_postal_code=84004
Trait Name: Alpine
d_state
2-character abbreviation for a US state. Download the states codes list.
For example:
Trait: d_state=NY
Trait Name: New York
d_region
Regional alphanumeric IDs. Download the region list.
d_isp
ISP/organization. Download the ISP List.
The list of all location-based signals comprises all the signals above, in the following order:
d_country,d_city,d_region,d_state,d_dma_code,d_postal_code,d_area_code,d_lat,d_long
Describes the common platform-level key-value pairs you can use to target users with device-related variables
across all properties in your Audience Manager account.
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko)
Version/5.1 Mobile/9A334 Safari/7534.48.3
Note: Even if one or more signals cannot be retrieved from the user agent header, the other signals will still
be passed to the Data Collection Servers.
Examples you can refer to for creating expressions in the Expression Builder code editor.
Boolean Expressions
AND Example
The rule establishes trait qualification requirements using Boolean AND operators.
(c_make==A) AND (c_model==B) AND Look for a specific make and model.
(c_search==1)
Find the product from a search results page (search =
"1" or "true).
OR Example
This rule establishes trait qualification requirements using Boolean OR and AND operators.
(a== 1 OR b==1) AND (c== new) Meet the conditions set by variables a or b and c.
(price>== 1.00 OR price<== 100.00) Meet any price condition between 1.00 and 100.00.
Features 215
You can create your own trait rules with the Trait Builder code editor. Find the code editor in Traits > Add New >
Rule-based > Trait Expression and switch to Code View. Audience Manager supports all the available regular
expression constructs referenced in the Java Regular Expression Class Pattern. You can validate any of the regular
expressions directly in the Expression Builder.
See also, Java Regular Expression Class Patterns.
Use the Visitor Profile Viewer to display the current state of a user profile for the current browser, including its traits
and segments. For each trait, you can view its SID, name, details about how visitor traits were realized (first- or
third-party), the realization date, and the frequency of realizations. For each segment, you can view its SID, name,
and the segment membership date. You can also view the visitor profile for another Audience Manager profile ID
(UUID). The Visitor Profile Viewer is helpful for troubleshooting purposes.
Note:
Access requires Administrator permissions.
There is a 24-hour delay before information about realized segments and onboarded traits appears in the
user interface.
Traits that are not part of a segment will not appear in theVisitor Profile Viewer.
Here at Audience Manager, we're engineers, developers, and code ninjas just like you. And, like you, we want to
work with reliable, accurate API documentation. As a result, we're re-writing our API content in Swagger and moving
it to a new location. These changes are designed to help improve your experience with the Audience Manager API
code.
Movin' On Up
The Adobe Audience Manager API Docs site is the new home for our revised API content. We'll try to re-write and
move a few sets of API methods with each release. This means you'll have to check in both the new location and
the REST API documentation to find all of the available methods. Eventually, all of the public APIs will be on the
Audience Manager API docs site. The following table lists the revised and migrated APIs.
Reporting Reporting
Segments Segments
Segment Test Groups
Segment Test Group Draft API
Traits Traits
API and SDK Code 217
Overview, getting started, and code methods available in the Audience Manager DIL code library.
Purpose of DIL
DIL is an API library.You can think it as a body of helper code for Adobe Audience Manager (AAM). It is not required
to use AAM, but the methods and functions DIL provides means you don't have to develop your own code to send
data to AAM. Also, DIL is different than the API provided by the Marketing Cloud ID service. That service is designed
to manage visitor identity across different Marketing Cloud solutions. By contrast, DIL is designed to:
Make event calls and send data to the Data Collection Server.
Send data to destinations.
Rather than work with DIL and set up AAM manually, we recommend that you use Adobe Dynamic Tag Manager
(DTM) instead. DTM is the recommended implementation tool because it simplifies code deployment, placement,
and version management.
Sample Call
DIL sends data to AAM in an event call. An event call is an XML HTTP request from your page. It uses a POST
method to send data in the body of the request.
URL DIL event calls use the following syntax: http://adobe.demdex.net/event?_ts = UNIX
UTC timestamp
Body As shown in sample below, DIL passes data as key-value pairs. Special prefix characters
identify the key-value pairs as Audience Manager or partner variables.
d_dst=1
d_jsonv=1
d_ld=_ts=1473693143821
d_mid=54192285857942994142875423154873503351
d_nsid=0
d_rtbd=json
See also:
Prefix Requirements for Key Variables
Supported Variables
API and SDK Code 218
Describes authentication requirements and the text formatting used in the class-level DIL documentation.
When working with the class-level DIL APIs:
Access requires a partner name and container namespace ID (NSID). Contact your Audience Manager account
manager to obtain this information.
Replace any sample italicized text in the API documentation with value, ID, or other variable as required by the
method you're working with.
DIL writes encoded data to a destination cookie. For example, spaces are encoded as %20 and semicolons as %3B.
DIL create
initConfig Elements
Important: The visitorService property is always required. Other properties listed here are optional, unless
indicated otherwise.
containerNSID Integer This property sets the container ID used by Audience Manager for
ID syncs. You would set containerNSID if you have DIL deployed
across multiple sites. Each of these sites will have their own container
ID and ID syncs. When you have only 1 site, the container ID is 0 by
default and you don't need to set this properly. Contact your consultant
to get a list of your sites and their container IDs.
For each site, set the same container IDs on containerNSID and
idSyncContainerID.
Both DIL and the ID service will try to send ID syncs to our data
collection iFrame. However, the iFrame ensures that DIL won't fire
an ID sync. This prevents duplication.
Only DIL sends data to a URL destination.
Note: If you use the Visitor ID Service, set customer IDs with
the setCustomerIDs method instead of DIL. See Customer IDs
and Authentication States.
delayAllUntilWindowLoad Boolean If true, defers all requests (IFRAME, event calls, ID sync, and
destinationing) from executing until the Page Load event fires. Default
is false.
disableDeclaredUUIDCookie Boolean False by default, which means Audience Management sets a cookie
in the partner's domain (sets a first party cookie).
disableDestinationPublishingIframe Boolean If true, will not attach the destination publishing IFRAME to the DOM
or fire destinations. Default is false.
disableIDSyncs Boolean Disables ID synchronization. You must disable ID syncs when using
DIL v6.2+ and the Visitor ID Service. The visitorService function
(see sample code below) takes care of this operation.
enableErrorReporting Boolean Set to true to enable error reporting for all DIL instances on the page.
Works with Boolean true only.
iframeAkamaiHTTPS Boolean Specifies if the destination publishing template should use Akamai
for HTTPS connections. Enabled on a per-partner basis.
mappings Object Associates the value from one key-value pair to another. See Map
Key Values to Other Keys. Released with v2.4.
removeFinishedScriptsAndCallbacks Boolean Removes scripts and callbacks. Default is False. Applies to the
current DIL instance only. Released with v3.3.
uuidCookie Object Sets a cookie with the unique user ID returned from Audience
Management. See uuidCookie Properties.
Sample Code
A successful response returns the DIL instance. An unsuccessful attempt returns an error object (not thrown) if your
code is configured improperly or whenever an error is encountered.
uuidCookie Properties
Defines the properties used by the uuidCookie variable. This variable is part of the DIL.create method.
uuidCookie has the following properties:
Name Description
Name Description
domain The domain the cookie is set in, e.g., 'adobe.com' ('.'+document.domain is
default).
visitorService Properties
Defines the properties used by the visitorService variable. This variable is part of the DIL.create method.
visitorService has the following properties:
namespace String Required. Represents The Marketing Cloud Org ID. This is needed for Marketing
Cloud Core Service functionality. Same parameter used to instantiate the Visitor
ID functionality.
Code Sample:
var vDil = DIL.create({
partner: 'demofirst',
visitorService: {
namespace: "INSERT-MCORG-ID-HERE"
}
});
getDil
Parameters
containerNSID Integer Defaults is 0. The NSID of the container you're searching for. Optional.
Response
A successful partner and container NSID match returns a partner-specific DIL instance. If there is no match, the API
returns (does not throw) an error with the message, "The DIL instance with partner <name> and containerNSID
<ID> was not found."
Sample Code
DIL.getDil('<partner>', <containerNSID>);
DIL.getDil('<partner>');
API and SDK Code 222
dexGetQSVars
Parameters
variableName String The name of the variable you want to get a value for.
containerNSID Integer The NSID of the container you're searching for. Defaults is 0.
Response
Sample Code
var value = DIL.dexGetQSVars('variableName','partnerName',containerNSID);
isAddedPostWindowLoad
Used to let DIL know that it is loaded after the window loads.
Function Signature: isAddedPostWindowLoad: function()
Sample Code
DIL.isAddedPostWindowLoad();
Describes authentication requirements and the text formatting used in the instance-level DIL documentation.
When working with the instance-level DIL APIs:
Access requires a partner name and container namespace ID (NSID). Contact your Audience Manager account
manager to obtain this information.
Replace any sample italicized text in the API documentation with value, ID, or other variable as required by the
method you're working with.
signals
Adds customer and platform-level mappings to the query string of a pending request.
Function Signature: signals: function ({key1:value1, key2:value2},prefix){}
Note:
You can chain other API calls to this method.
API and SDK Code 223
If the Adobe Marketing Cloud JavaScript library is on the page, submit() waits for the Cloud to set a cookie
before sending a request.
The following request keys are reserved and cannot be overwritten by this method:
sids
pdata
logdata
callback
postCallbackFn
useImageRequest
Parameters
obj Object An object representing the key-value pairs for platform-level mappings. Parameter
accepts strings and arrays as property values in the object.
prefix String Optional. The string value prefixed to each object key (replaces original key).
return DIL.api Returns the API object of the current DIL instance.
Response
Sample Code
var dataLib = DIL.create({
partner: 'partnerName'
containerNSID: containerNSID
});
// Method 1
var obj = { key1 : 1, key2 : 2 };
dataLib.api.signals(obj, 'c_').submit();
// Method 2
dataLib.api.signals({c_zdid: 54321}).submit();
// Method 3
// Will send 'c_key=a&c_key=2&c_key=3' to Audience Manager
var obj = { key : ['a', 'b', 'c'] };
dataLib.api.signals(obj, 'c_').submit();
traits
Parameters
API and SDK Code 224
Response
Sample Code
var partnerObject = DIL.create({
partner: 'partner name',
containerNSID: NSID
});
partnerObject.api.traits([123, 456, 789]);
logs
Response
Sample Code
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.logs({
file: 'dil.js',
message: 'This is the first request'
});
submit
Submits all pending data to Audience Manager for the DIL instance.
Function Signature: submit: function () {}
Note: You can chain other API calls to this method. Also, DIL writes encoded data to a destination cookie.
For example, spaces are encoded as %20 and semicolons as %3B.
Response
Sample Code
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123,456, 789]).logs({
file: 'dil.js',
message: 'This is the first request'
}).signals({
c_zdid: 1111
d_dma: 'default'
}).submit();
API and SDK Code 225
afterResult
Parameters
fn Function The function you want to execute after JSON is processed by the default callback
that handles destination publishing.
Response
Sample Code
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
dataLib.api.signals({
c_zdid: 54321
d_dma: 'default'
}).afterResult(function(json){
//Do something with the JSON data returned from the server.
}).submit();
clearData
Response
Sample Code
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
dataLib.api.traits([123,456, 789]).logs({
file: 'dil.js'
message: 'This is the first request'
}).signals({
c_zdid: 1111
d_dma: 'default'
});
customQueryParams
Adds custom query parameters that are not explicitly defined by the data collection server to a pending request.
Function Signature: customQueryParams: function (obj) {}
The following request keys are reserved and cannot be overwritten by this method:
sids
pdata
logdata
callback
postCallbackFn
useImageRequest
Response
Sample Code
var partnerObject = DIL.create({
partner: 'partner',
containerNSID: NSID
});
partnerObject.api.customQueryParams({
nid: 54231,
ntype: 'default'
});
getContainerNSID
Returns the value of the container NSID for the DIL instance. Useful for debugging and troubleshooting.
Function Signature: dil.api.getContainerNSID: function () {}
Sample Code
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
getEventLog
Returns chronologically sorted event log data as an array of strings. Useful for debugging and troubleshooting.
Function Signature: dil.api.getEventLog: function () {}
Sample Code
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
API and SDK Code 227
});
getPartner
Returns the partner name for a DIL instance. Useful for debugging and troubleshooting.
Function Signature: dil.api.getPartner: function () {}
Sample Code
var dataLib = DIL.create({
partner: 'partnerName'
containerNSID: containerNSID
});
getState
Returns the state of the current DIL instance. Useful for debugging and troubleshooting.
Function Signature: dil.api.getState: function () {}
Sample Code
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
logdata: true,
callback: true,
postCallbackFn: true,
useImageRequest: true,
},
firstRequestHasFired: false,
num_of_jsonp_responses: 0,
num_of_jsonp_errors: 0,
num_of_img_responses: 0,
num_of_img_errors: 0
},
destinationPublishingInfo: {
THROTTLE_START: 3000,
throttleTimerSet: false,
id: ''destination_publishing_iframe_' + partner + '_' + containerNSID,
url: (constants.isHTTPS ? 'https://' : 'http://fast.') + partner +
'.demdex.net/dest3.html?d_nsid='
+ containerNSID + '#' + encodeURIComponent(document.location.href),
iframe: null,
iframeHasLoaded: false,
sendingMessages: false,
messages: [],
messageSendingInterval: constants.POST_MESSAGE_ENABLED ? 15: 100,
//Recommend 100ms for IE 6 & 7, 15ms for other browsers
jsonProcessed: []
}
}
*/
idSync
Consists of two functions that let data partners exchange and synchronize user IDs among themselves and Audience
Manager.
Function Signature:
dil.Instance.api.idSync(initConfig)
Between different data partners and Audience Manager. For
example, partner x would use this to synchronize a user ID
with partner y and then send that to Audience Manager.
dil.Instance.api.aamIdSync(initConfig)
When you already know the user ID and want to send it to
Audience Manager.
idSync Elements
dpid String
Data provider ID assigned by Audience Manager.
dpuuid String
The data provider's unique ID for the user.
API and SDK Code 229
minutesToLive Number
(Optional) Sets the cookie expiration time. Must be an integer.
Default is 20160 minutes (14 days).
url String
Destination URL.
Macros
Response
Both functions return Successfully queued if successful. They return an error message string if not.
Sample Code
dilInstance.api.idSync(initConfig)
// Fires url with macros replaced
dilInstance.api.idSync({
dpid: '23', // must be a string
url: '//su.addthis.com/red/usync?pid=16&puid=%DID%&url=%HTTP_PROTO%%3A%2F%2Fdpm.demdex.net
%2Fibs%3Adpid%3D420%26dpuuid%3D%7B%7Buid%7D%7D',
minutesToLive: 20160 // optional, defaults to 20160 minutes (14 days)
});
dilInstance.api.aamIdSync(initConfig)
// Fires 'http:/https:' + '//dpm.demdex.net/ibs:dpid=<dpid>&dpuuid=<dpuuid>'
dilInstance.api.aamIdSync({
dpid: '23', // must be a string
dpuuid: '98765', // must be a string
minutesToLive: 20160 // optional, defaults to 20160 minutes (14 days)
});
result
This callback replaces the default callback that handles destination publishing.
Parameters
Response
Sample Code
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
secureDataCollection
secureDataCollection is a boolean parameter that controls how DIL makes calls to the Data Collection Servers
(DCS) and Akamai.
When secureDataCollection= true (default), DIL always makes secure, HTTPS calls.
When secureDataCollection= false, DIL makes either HTTP or HTTPS calls by following the security protocol
set by the page.
Important: Set secureDataCollection= false if you use visitorAPI.js and DIL on the same page. See the
code sample below.
useCORSOnly
useCORSOnly is a boolean true/false parameter that controls how the browser requests resources from other domains.
Overview
useCORSOnly is false by default. False means the browser can perform resource checks with CORS or JSONP.
However, DIL always tries to request resources with CORS first. It reverts to JSONP on older browsers that do not
support CORS. If you need to force the browser to use CORS only, such as with sites that have high-security
requirements, set useCORSOnly:true.
Code Sample
var dilInstance = DIL.create({
...
useCORSOnly: true
});
Important:
We recommend that you set useCORSOnly: true only when you're sure that your site visitors have browsers
that support this feature.
When useCORSOnly: true, DIL will not make ID calls from Internet Explorer version 9 or older.
useImageRequest
Response
Sample Code
var dataLib = DIL.create({
partner:'partnerName',
containerNSID: containerNSID
});
DIL Modules
Describes methods in the DIL.modules namespace. These modules let you programmatically collect data and work
with Audience Manager objects.
siteCatalyst.init
Works with DIL to send Analytics tag elements (variables, props, eVars, etc.) to Audience Manager. Returns data
in a comma separated list. Available in version 2.6.
Function Signature: DIL.modules.siteCatalyst.init(siteCatalystReportingSuite, dilInstance,
trackVars, options)
Note: You must place this code on the page before the s.t(); function.
Parameters
names String
An array of strings that contains un-enumerated
Analytics variables like pageName, channel, campaign,
product, etc.
iteratedNames Object
An array of objects that contains enumerated Analytics
variables like props and evars (e.g. prop1, prop2,
evar3, evar4).
maxIndex Integer
Indicates how many iterated names you want to return.
For example, to return two props or evars, set
maxIndex:2.
siteCatalystReportingSuite Object
An object that represents the Analytics object.
dilInstance Object
An object that represents DIL.
options Object
Additional options:
replaceContextDataPeriodsWith
API and SDK Code 232
Sample Code
This code creates a comma separated list of Analytics events (props, eVars, etc.) if values for them exist.
// Get the Site Catalyst object instance:
var s = s_gi(s_account);
maxIndex: 75
}, {
name: 'prop',
maxIndex: 75
}]
});
To track all the monitored Analytics data points without the additional function shown above, invoke
siteCatalyst.init by itself like this:
DIL.modules.siteCatalyst.init(s, scDil);
GA.submitUniversalAnalytics
The GA.submitUniversalAnalytics(); function sends data from Google's Universal Analytics to Audience Manager.
This DIL function is designed to work with analytics.js, which is the latest code library for Google Universal
Analytics.
Important:
Audience Manager does not have any insight into or control over the Google analytics.js code library.
You should verify that DIL data collection is still working if or when Google releases new versions of
analytics.js.
You cannot use GA.submitUniversalAnalytics(); if you're still working with Google's legacy analytics
tracking code (e.g., ga.js or dc.js). See GA.init instead.
Properties
Property Description
gaObject The global variable for your instance of Google Analytics. This is usually ga by default,
unless you've customized your Google Analytics code.
internalPropertyName (Optional) In the analytics.js library, the internal property is the minified variable 'b'.
This variable holds Google Analytics data.
This property is optional because you don't need to set it unless Google changes the
name of their internal variable. For example, if this minified variable changed to 'a',
you would call GA.submitUniversalAnalytics(); like this:
Example
Remember to define the Google Analytics ga object first, before calling DIL and GA.submitUniversalAnalytics();.
Your code could look similar to this:
//Instantiate DIL
var dilInstance = DIL.create({
API and SDK Code 234
partner:"adobe"
});
GA.init
The GA.init() function sends data from the legacy/deprecated version of Google Analytics to Audience Manager.
Important: GA.init() only works with Google's legacy analytics tracking code, ga.js or dc.js. You cannot
invoke this DIL function if you use analytics.js, which is the latest code library for Google Universal Analytics.
Audience Manager customers who use DIL and Universal Analytics should see GA.submitUniversalAnalytics.
Parameters
trackVars Object (Optional) An object that consists of the names property. This property is an array
of GA command names that you want to track.
_setCustomVar
_addItem
_addTrans
_setAccount
_trackSocial
// Tracking a Transaction
_gaq.push(['_addTrans',
'1234', // c_transOrderId
'Womens Apparel', // c_transAfflication
'28.28', // c_transTotal
'1.29', // c_tranTax
'15.00', // c_transShipping
API and SDK Code 235
// Tracking an item
_gaq.push(['_addItem',
'1234', // c_itemOrderId=1234
'DD44', // c_itemSku
'T-Shirt', // c_itemName
'Olive Medium', // c_itemCategory
'11.99', // c_itemPrice
'1' // c_itenQuantity
]);
Sample Code
// DIL JavaScript library needs to be loaded and executed here
var dilInstance = DIL.create({
partner : "adobe"
});
To track all the monitored GA metrics without the additional function shown above, invoke GA.init by itself like this:
DIL.modules.GA.init(_gaq, dilInstance).submit();
The URL event call to Audience Manager could look similar to this:
http://adobe.demdex.com/event?...c_accountId=UA-XXXXX-X&c_Section=Life%20%26%20Style
&c_itemOrderId=1234&c_itemSku=DD44&c_itemName=T-Shirt&c_itemCategory=Olive%20Medium&
c_itemPrice=11.99&c_itemQuantity=1
DIL Tools
Describes methods in the DIL.tools namespace. These utility functions help you perform specific tasks.
getSearchReferrer
In DIL, getSearchReferrer returns search results (names and key words) used to reach your site. You can pass
in specific search terms to this function or let it search the supported search engines (AOL, Ask, Bing, Google, and
Yahoo) against document.referrer by default.
API and SDK Code 236
getSearchReferrer accepts:
{string}: (Optional) A string containing the search URL (uses document.referrer if undefined).
{object}(Optional) An object containing the configuration for the hostPattern, queryParam, or queryPattern.
And returns:
{object}: An object that contains valid names and keywords.
Examples
decomposeURI
Disassembles a Uniform Resource Identifier (URI) into its constituent components: hash, host, href, pathname,
protocol, search, and uriParams.
Function signature: DIL.tools.decomposeURI
Function Parameters
decomposeURI accepts:
uri {string}: (Optional) A string containing the URI. Defaults to document.location.href if not specified.
And returns:
{object}: An object that contains valid names and keywords.
Sample Code
var uriData = DIL.tools.decomposeURI('http://www.adobe.com/?arg1=123&arg2=456#am');
{
hash : "#am",
API and SDK Code 237
host : "www.adobe.com",
hostname : "www.adobe.com",
href : "http://www.adobe.com/?arg1=123&arg2=456#am",
pathname : "",
protocol : "http:",
search : "?arg1=123&arg2=456",
uriParams : {
arg1 : "123",
arg2 : "456"
}
}
getMetaTags
Searches for specific content defined in the meta tags on a Web page and returns that data in an object.
Function signature: DIL.tools.getMetaTags(1 or more parameters)
Function Parameters
getMetaTags accepts one or more name parameters (string type) to search for. It returns an object composed of
key-value pairs.
Sample Code
var dataLib = DIL.create({
partner: 'partnerName',
containerNSID: containerNSID
});
dataLib.api.signals(DIL.tools.getMetaTags('application', 'keywords',
'description'), 'c_').submit();
Create an object variable that sends information about page elements to Audience Manager. This is useful for
general data collection or as an alternative to gathering data with Analytics variables.
Description
The following code demonstrates how to collect page data and send it to Audience Manager with DIL.These examples
use a variable to hold data elements in a flat list or an array. Remember, pass in variables as key-value pairs. Also,
note the c_ prefix before the key in the key-value pair. This required prefix identifies information as user-defined
data. In the first example, you need to manually append c_ to the key. In the second example, DIL does this for you
automatically.
Remember to keep the value properties the same when passing in data. For example, if you have two identical keys
with different values, the value of the last key-value pair takes precedence over the preceding value objects. For
example, passing in color:blue and color:red sets the returned value to red (overwrites blue).
This basic example sends color and price data to Audience Manager in the form of key-value pairs. Your code could
look similar to the following:
var sample_dil = DIL.create({partner:"partner name"});
sample_dil.api.signals({
c_color:"blue",
c_price:"900"
});
sample_dil.api.submit();
This advanced example demonstrates how to send data in an object to Audience Manager. When working with this
method, DIL lets you pass an object as a function parameter into the signals() method. DIL Your code could look
similar to the following:
var my_object = {
color : "blue",
price : "900"
};
In this case, the variable my_object uses an array to hold data. This example builds on the information passed in
by the recommended method above, but adds an additional layer to accommodate a product type and model. Your
code could look similar to the following:
var my_objects = [{
color : "blue",
price : "900"
}, {
type : "acura",
model : "tl"
}];
Note: This method works only when users move between pages with similar protocols (HTTP vs HTTPS).
For example, the browser retains a referring URL when you navigate from a secure site to another secure
site. Browsers do not retain the referring URL when you move between secure and unsecure sites. This
behavior is normal browser functionality and cannot be circumvented by DIL.
Code Sample
Send information about search engine type and keyword searches to Audience Manager.
Supported Search Engines
By default, DIL.getSearchReferrer recognizes searches from these search engines (including international
variations):
AOL
Ask
Bing
Google
Yahoo!
Description
The following code demonstrates how to get the search referrer for any of the supported search engines. In this
case, let's assume a user searched on the term "homes" from Google Canada (www.google.ca). This code will help
you capture those search terms and send them to Audience Manager.
Basic Code
Basic code for getting the search referrer (from google.com, for example) looks like this:
var search_referrer = DIL.tools.getSearchReferrer();
In this case, let's assume that a user searched for the term "homes" from Google Canada (www.google.ca). Note
how the code prefixes the required c_ parameter to search engine (c_se) and search term (c_st). c_ is a required
prefix that identifies these as customer-defined variables to Audience Manager.
var adobe_dil = DIL.create({partner:"partner name"});
var se = DIL.tools.getSearchReferrer();
In this case, let's assume that a user searched for the term "homes" from dogpile.com. Because Dogpile is not
supported by default, you can configure DIL to recognize this search engine and return the search terms to Audience
Manager. Your code could look similar to the following:
var adobe_dil = DIL.create({partner:"partner name"});
var search_referrer = DIL.tools.getSearchReferrer(document.referrer, {
hostPattern:/dogpile\./,
queryParam:"q"
});
In a key-value pair, the c_ prefix appended to the key identifies the signal as customer-defined data. Customer-defined
data is used for targeting on the specific site that passed in data on an event call. However, sometimes you want
this information available across all properties in your Audience Manager account. To do this, map the value in a
c_ key-value pair to a platform level key. A platform level key is prefixed with d_ and makes the signal available for
targeting across all properties in your account.
As an example, you collect ZIP code data from a particular site but want to target it to all your Audience Manager
properties. To make the ZIP code available at the platform level, you could map your customer-defined ZIP code
key (e.g. c_zip) to a platform defined key as shown below.
Code Sample
Flash DIL
Collect data sent from FLA files to Analytics and work with that information in Audience Manager.
API and SDK Code 241
Flash DIL is an ActionScript code library that lets you work with video playback data in Audience Manager. Flash
DIL works by capturing SWF content the Adobe AppMeasurement library passes in to Analytics. Flash DIL sends
that data to the separate DIL JavaScript data collection module, which passes that information to Audience Manager.
Analytics data (Props, eVars, events, etc.) captured from the FLA file is available in Audience Manager as traits or
unused signals.
The AllowScriptAccess in HTML code that loads a SWF file controls the ability to perform outbound URL access
from within the SWF file. When you configure a Flash DIL data integration, make sure the Flash AllowScriptAccess
parameter is set to always or sameDomain. Flash DIL data collection will not work if AllowScriptAccess is set to
never. See Control Access to Scripts or Host Web Page.
Try to place the JS DIL data collection module on the page so it loads before the FLA file. When the FLA file loads
first, before DIL data collection is ready, you can miss the initial data signals that Flash DIL sends to that module.
However, once instantiated, the DIL data collection module will capture all subsequent SWF file data passed in by
Flash DIL.
Flash DIL captures page view, link tracking, media tracking, and other media view events from the Adobe
AppMeasurement library.
Page View Events
Unless specified otherwise by s.trackVars, Flash DIL collects the following data from Adobe AppMeasurement:
pageName
channel
campaign
products
events
prop1 - prop75
eVar1 - eVar75
Link Tracking Events
Unless specified otherwise by s.linkTrackVars, Flash DIL collects the following data from Adobe AppMeasurement:
pe (Type of track link called)
pev1 (Link URL)
API and SDK Code 242
pev2(Link text)
Unless specified otherwise by s.Media.trackVars, Flash DIL collects all the data enumerated in the Page View
Events section.
The Flash DIL module turns Adobe AppMeasurement data into Audience Management traits and unused signals.
Analytics Props, eVars, and events work like traits in Audience Management. Traits are key-value pairs and are
used to build segments. For example, in an Analytics prop like prop35=foo, prop35 is the key (a constant) and foo
is the value (a variable).
To use the Analytics data passed by Flash DIL, you should create Audience Manager traits that have:
The same names as their Analytics equivalents.
A key value prefixed with c_.
Audience Manager accepts Analytics Props, eVars, and events even without a corresponding trait. In this case, the
data is unavailable for trait creation and appears in the Unused Signals report instead. To make the most of this
information, create Audience Manager traits that match the Analytics data passed in by the Flash DIL library.
Code for your Flash object to send Analytics data to Audience Management.
Note:
For each Flash object, the code supports one partner instance (d.partner) only.
API and SDK Code 243
var s:AppMeasurement = new AppMeasurement(); // Omit this line if it already exists in the code
var d:DIL = new DIL();
d.partner = "<partner>";// Partner name
d.containerNSID = <container NSID>; // Optional, defaults to 0
s.loadModule(d);
REST APIs
Review the Getting Started material before working with these API methods.
Things you must and should do when working with the Audience Manager APIs.
Requirements
Note the following when working with Audience Manager API code:
Request parameters: All request parameters are required unless specified otherwise.
JSON content type: Specify content-type: application/json and accept: application/json in your code.
Requests and responses: Send requests as a properly formatted JSON object. Audience Manager responds
with JSON formatted data. Server responses can contain requested data, a status code, or both.
Access: Your Audience Manager consultant will provide you with a client ID and key that lets you make API
requests.
Documentation and code samples: Text in italics represents a variable that you provide or pass in when making
or receiving API data. Replace italicised text with your own code, parameters, or other required information.
As an example or use case for this type of account, let's say you want to change a lot of segments at once with the
Bulk Management Tools. Well, to do this, your user account needs API access. Rather than add permissions to a
specific user, create a non-specific, API user account that has the appropriate credentials, key, and secret to make
API calls. This is also useful if you develop your own applications that use the Audience Manager APIs.
Work with your Audience Manager consultant to set up a generic, API-only user account.
OAuth Authentication
The Audience Manager REST API follows OAuth 2.0 standards for token authentication and renewal.
Contents:
Tip: Encrypt access and refresh tokens if you store them in a database.
Request API
Contact your Partner Solutions manager. They will provide you with an API client ID and
Access
secret. The ID and secret authenticate you to the API.
Note: If you'd like to receive a refresh token, specify that when you request API access.
The "expires_in" key represents the number of seconds until the access token expires.
As best practice, use short expiration times to limit exposure if the token is ever exposed.
Refresh Token
Refresh tokens renew API access after the original token expires. If requested, the response JSON in the password
workflow includes a refresh token. If you don't receive a refresh token, create a new one through the password
authentication process.
You can also use a refresh token to generate a new token before the existing access token expires.
If your access token has expired, you receive a 401 Status Code and the following header in the response:
The following table outlines the workflow for using a refresh token to create a new access token from a JSON client
in your browser.
Requirements for calling API methods after you receive an authentication token.
To make calls against the available API methods:
In the HTTP header, set Authorization: Bearer <token>.
Call the required API method.
Set the optional parameters available to methods that return all properties for an object.
You can use these optional parameters with API methods that return all properties for an object. Set these options
in the request string when passing that query in to the API.
Parameter Description
pageSize Sets the number of response results returned by the request (10 is default).
sortBy Sorts and returns results according to the specified JSON property.
search Returns results based on the specified string you want to use as a search parameter. For
example, let's say you want to find results for all models that have the word "Test" in any
of the value fields for that item. Your sample request could look like this:
GET https://api.demdex.com/v1/models/?search=Test.
folderId Returns all the IDs for traits inside the specified folder. Not available to all methods.
permissions
Returns a list of segments based on the specified permission. READ is default. Permissions
include:
READ: Return and view information about a segment.
WRITE: Use PUT to update a segment.
CREATE: Use POST to create a segment.
API and SDK Code 247
Parameter Description
DELETE: Delete a segment. Requires access to underlying traits, if any. For example,
you'll need rights to delete the traits that belong to a segment if you want to remove it.
Specify multiple permissions with separate key-value pairs. For example, to return a list
of segments with READ and WRITE permissions only, pass in "permissions":"READ",
"permissions":"WRITE".
includePermissions
(Boolean) Set to true to return your permissions for the segment. Default is false.
When page information is not specified, the request returns plain JSON results in an array. If page information is
specified, then the returned list is wrapped in a JSON object that contains information about the total result and
current page. Your sample request using page options could look similar to this:
GET https://api.demdex.com/v1/models/?page=1&pageSize=2&search=Test
API URLs
Request URLS
The following table lists the request URLs used to pass in API requests, by method.
Destinations https://api.demdex.com/v1/destinations/
Domains https://api.demdex.com/v1/partner-sites/
Schema https://api.demdex.com/v1/schemas/
Segments https://api.demdex.com/v1/segments/
Traits https://api.demdex.com/v1/traits/
Taxonomy https://api.demdex.com/v1/taxonomies/0/
API and SDK Code 248
Environments
The Audience Manager APIs provide access to different working environments. These environments help you test
code against separate databases without affecting live, production data. The following table lists the available API
environments and corresponding resource hostnames.
Environment Hostname
Production https://api.demdex.com/...
Beta https://api-beta.demdex.com/...
Note: The Audience Manager beta environment is a smaller-scale, standalone version of the production
environment. All the data that you want to test must be entered and collected in this environment.
Versions
New versions of these APIs are released on a regular schedule. A new release increments the API version number.
The version number is referenced in the request URL as v<version number> as shown in the following example:
https://<host>/v1/...
HTTP status codes and response text returned by the Audience Management REST API.
201 Created The resource was created. Returns for PUT and POST requests.
204 No Content The resource has been deleted.The response body will be blank.
400 Bad Request The server did not understand the request. Usually due to
malformed syntax. Check your request and try again.
404 Not Found The resource could not be found for the specified path.
409 Conflict The request could not be completed due to a conflict with the
state of the resource.
500 Server Error The server encountered an unexpected error that prevented it
from fulfilling the request.
Request
POST https://api.demdex.com/v1/models/
Sample Request
Sample Response
{
"algoModelId": 1394,
"pid": 1099,
"name": "New model",
"description": "Test Model",
"algoTypeId": 1,
"intervalSeconds": 86400,
"lookBackPeriod": 30,
"crUID": 3,
"upUID": 3,
"status": 1,
"processingStatus": 0,
"createTime": 1346092322000,
"algoModelVersion": 0,
"dataSources": [size(2)
3,
4
],
"sid": 8,
"latestRunTS": 10000,
"baselineTraitType": 3,
"updateTime": 1346092322000
}
Update a Model
A PUT method that lets you revise the model's name, description, and status.
Request
PUT https://api.demdex.com/v1/models/<model-id>/
Sample Request
All request values are required unless otherwise indicated. Model status settings include active and inactive only.
{
"name" : "New name",
"description" : "Revised description",
"status" : "active",
"algoTypeId":1,
"dataSources":[3,4},
"sid":8
"lookBackPeriod":90
}
Sample Response
{
"algoModelId": 1394,
API and SDK Code 250
"pid": 1,
"name": "New name",
"description": "Revised description",
"algoTypeId": 1,
"intervalSeconds": 86400,
"lookBackPeriod": 30,
"crUID": 3,
"upUID": 3,
"status": 1,
"processingStatus": 0,
"createTime": 1346092322000,
"algoModelVersion": 0,
"dataSources": [size(2)
3,
4
],
"sid": 8,
"latestRunTS": 10000,
"baselineTraitType": 3,
"updateTime": 1346092322000
}
Delete a Model
DELETE https://api.demdex.com/v1/models/<model-id>
Sample Response
Returns response code 204 No Content if successful. Returns 400 Bad Request if there are any active traits
created with this model and returns those trait IDs in an array. Remove traits from the model (or delete them) before
you delete a model.
Delete Models
POST https://api.demdex.com/v1/models/bulk-delete/
Sample Request
In the request body, pass in a JSON array that includes the model IDs you want to delete.
[
111,
222
]
Sample Response
A GET method that returns ID, name, and description for the available algorithms. Currently, TraitWeight (ID 1) is
the only available algorithm.
Request
GET https://api.demdex.com/v1/algorithms/
API and SDK Code 251
Sample Response
A successful response returns response code 200 OK and the list of algorithm IDs, name, and a brief description.
[
{
"algoTypeId": 1,
"name": "Trait Weight",
"description": "Trait Weight"
}
]
A GET method that returns algorithm details (ID, name, and description) based on the passed in algorithm ID.
Currently, TraitWeight (ID 1) is the only available algorithm.
Request
GET https://api.demdex.com/v1/algorithms/<algotype-id>/
Sample Response
A successful response returns response code 200 OK and the algorithm ID, name, and a brief description.
{
"algoTypeId": 1,
"name": "TF-IDF",
"description": "TF-IDF"
}
GET https://api.demdex.com/v1/models/
You can use these optional parameters with API methods that return all properties for an object. Set these options
in the request string when passing that query in to the API. See Optional Parameters.
Parameter Description
pageSize Sets the number of response results returned by the request (10 is default).
sortBy Sorts and returns results according to the specified JSON property.
search Returns results based on the specified string you want to use as a search parameter.
For example, let's say you want to find results for all models that have the word
"Test" in any of the value fields for that item. Your sample request could look like
this:
GET https://api.demdex.com/v1/models/?search=Test.
Sample Request
GET https://api.demdex.com/v1/models/?page=1&pageSize=2&search=Test
Sample Response
["total": 43,
"page": 1,
"pageSize": 2,
"list": [
{
"algoModelId":698,
"pid":1099,
"name":"Test model",
"description":"For testing",
"algoTypeId":1,
"intervalSeconds":604800,
"lookBackPeriod":30,
"crUID":833,
"upUID":833,
"status":"INACTIVE",
"lastRunStatus":null,
"createTime":1427474087000,
"algoModelVersion":0,
"sid":1784945,
"lastRunTimestamp":null,
"baselineTraitType":"SEGMENT",
"lastSuccessfulRunTimestamp":null,
"updateTime":1427474947000
},
{
"algoModelId":738,
"pid":1234,
"name":"Another Test Model",
"description":"For testing",
"algoTypeId":1,
"intervalSeconds":604800,
"lookBackPeriod":30,
"crUID":833,
"upUID":833,
"status":"ACTIVE",
"lastRunStatus":2,
"createTime":1422494342000,
"algoModelVersion":0,
"sid":916388,
"lastRunTimestamp":1431445691000,
"baselineTraitType":"SEGMENT",
"lastSuccessfulRunTimestamp":1431445691000,
"updateTime":1429133721000
}
]
A GET method that returns algorithmic model details based on the passed in model ID.
Request
GET https://api.demdex.com/v1/models/<model-id>
Sample Response
A successful request returns details for the model. An unsuccessful request throws an exception and related error
code.
{
"algoModelId": 16,
"pid": 1099,
API and SDK Code 253
"name": "newmodel78",
"description": "descriptions is in the name",
"algoTypeId": 1,
"intervalSeconds": 864000,
"lookBackPeriod": 30,
"crUID": 3,
"upUID": 3,
"status": 1,
"processingStatus": 0,
"createTime": 1344969143000,
"algoModelVersion": 0,
"dataSources": [
4
],
"sid": 8,
"latestRunTS": 10000,
"baselineTraitType": 3,
"updateTime": 1344969143000
}
GET https://api.demdex.com/v1/models/<model-id>/runs/latest/traits/
You can use these optional parameters with API methods that return all properties for an object. Set these options
in the request string when passing that query in to the API. See also Optional Parameters.
Parameter Description
pageSize Sets the number of response results returned by the request (10 is default).
sortBy Sorts and returns results according to the specified JSON property.
search Returns results based on the specified string you want to use as a search parameter.
For example, let's say you want to find results for all models that have the word
"Test" in any of the value fields for that item. Your sample request could look like
this:
GET https://api.demdex.com/v1/models/?search=Test.
folderId Returns all the IDs for traits inside the specified folder. Not available to all methods.
Sample Response
{
"total": 2,
"page": 0,
"pageSize": 10,
"list": [
{
API and SDK Code 254
"sid": 914,
"pid": 1,
"name": "sample rule",
"description": "hello world, i am your rule.. err",
"traitRuleVersion": 0,
"ttl": 0,
"crUID": 3,
"upUID": 3,
"createTime": 1346790825000,
"updateTime": 1346790825000,
"dataSourceId": 3,
"folderId": 10,
"traitType": "RULE_BASED_TRAIT",
"uniques7Day": 213930,
"uniques14Day": 415599,
"uniques30Day": 770717,
"uniques60Day": 9,
"count7Day": 657,
"count14Day": 626,
"count30Day": 5201,
"count60Day": 149,
"weight": 67,
"rank": 1
},
{
"sid": 9,
"pid": 1,
"name": "trait2",
"description": "new trait 2",
"comments": "",
"integrationCode": "",
"traitRule": "",
"traitRuleVersion": 0,
"ttl": 0,
"crUID": 3,
"upUID": 3,
"createTime": 1344277873000,
"updateTime": 1344277873000,
"type": 1,
"dataSourceId": 1,
"folderId": 10,
"traitType": 3,
"uniques7Day": 113632,
"uniques14Day": 210777,
"uniques30Day": 393718,
"uniques60Day": 77,
"count7Day": 85502,
"count14Day": 977684,
"count30Day": 3755,
"count60Day": 18517223,
"weight": 37,
"rank": 2
}
]
}
A GET method that returns accuracy and reach values for your algorithmic model.
Request
GET https://api.demdex.com/v1/models/<model-id>/runs/latest/stats/
Sample Response
[
{
API and SDK Code 255
"AccuracyValue": 0.12,
"ReachValue": 0
},
{
"AccuracyValue": 0.18,
"ReachValue": 0
},
{
"AccuracyValue": 0.19,
"ReachValue": 23232
},
{
"AccuracyValue": 0.28,
"ReachValue": 33432
}
]
A GET method that returns an array of UNIX time stamps (UTC) of successful data runs for your model.
Request
GET https://api.demdex.com/v1/models/<model-id>/processing-history/
Sample Response
[
102032939, 1223030409, 1346236373
]
A GET method that returns a list of versions ordered from oldest to newest.
Request
GET https://api.demdex.com/v1/dil/
Sample Response
A successful request returns response code ["4.0", "4.1"] as shown below.
["4.0", "4.1"]
A GET method that returns the JSON schema for the version. Supports using alias LATEST for version to get the
latest version of DIL.
Request
GET https://api.demdex.com/v1/dil/<version>
Sample Response
A successful request returns response code ["4.0", "4.1"] and data as shown below.
{
"type": "object",
"$schema": "http://json-schema.org/draft-03/schema",
"required": true,
API and SDK Code 256
"additionalProperties": false,
"properties": {
"core": {
"id": "core",
"required": true,
"type": "object",
"properties": {
"code": {
"type": "boolean",
"required": true,
"id": "code"
},
"instanceVariable": {
"type": "string",
"id": "instanceVariable",
"required": false
},
"create": {
"type": "object",
"id": "create",
"required": false,
"properties": {
"initConfig": {
"additionalProperties": false,
"type": "object",
"id": "initConfig",
"required": true,
"properties": {
"declaredId": {
"id": "declaredId",
"required": false,
"type": "object",
"additionalProperties": false,
"properties": {
"dpid": {
"id": "dpid",
"required": true,
"type": "string"
},
"dpuuid": {
"id": "dpuuid",
"required": true,
"type": "string"
}
}
},
"containerNSID": {
"type": "number",
"id": "containerNSID",
"required": false
},
"disableDestinationPublishingIframe": {
"type": "boolean",
"id": "disableDestinationPublishingIframe",
"required": false
},
"enableErrorReporting": {
"type": "boolean",
"id": "enableErrorReporting",
"required": false
},
"iframeAkamaiHTTPS": {
"type": "boolean",
"id": "iframeAkamaiHTTPS",
"required": false
},
"iframeAttachmentDelay": {
"type": "number",
"id": "iframeAttachmentDelay",
API and SDK Code 257
"required": false
},
"mappings": {
"type": "object",
"id": "mappings",
"required": false,
"additionalProperties": {
"type": "string"
}
},
"removeFinishedScriptsAndCallbacks": {
"type": "boolean",
"id": "removeFinishedScriptsAndCallbacks",
"required": false
},
"uuidCookie": {
"type": "object",
"id": "uuidCookie",
"additionalProperties": false,
"required": false,
"properties": {
"days": {
"type": "number",
"id": "days",
"required": false
},
"domain": {
"type": "string",
"id": "domain",
"required": false
},
"name": {
"type": "string",
"id": "name",
"required": true
},
"path": {
"type": "string",
"id": "path",
"required": false
},
"secure": {
"type": "boolean",
"id": "secure",
"required": false
}
}
},
"visitorService": {
"type": "object",
"id": "visitorService",
"required": false,
"properties": {
"namespace": {
"type": "string",
"id": "namespace",
"required": true
}
}
}
}
}
}
}
}
},
"options": {
"id": "options",
"type": "object",
API and SDK Code 258
"required": false,
"properties": {
"minify": {
"id": "minify",
"required": false,
"type": "boolean"
}
}
},
"include": {
"type": "object",
"id": "include",
"required": false,
"properties": {
"modules": {
"type": "object",
"id": "modules",
"required": false,
"additionalProperties": false,
"properties": {
"GoogleAnalytics": {
"type": "object",
"id": "GoogleAnalytics",
"required": false,
"properties": {
"code": {
"id": "code",
"type": "boolean",
"required": true
}
}
},
"Peer39": {
"type": "object",
"id": "Peer39",
"required": false,
"properties": {
"code": {
"id": "code",
"type": "boolean",
"required": true
}
}
},
"SiteCatalyst": {
"type": "object",
"id": "SiteCatalyst",
"required": false,
"additionalProperties": false,
"properties": {
"code": {
"type": "boolean",
"id": "code",
"required": true
},
"init": {
"type": "object",
"id": "init",
"required": false,
"additionalProperties": false,
"properties": {
"siteCatalystInstance": {
"type": "string",
"id": "siteCatalystInstance",
"required": true
},
"dilInstance": {
"type": "string",
"id": "dilInstance",
API and SDK Code 259
"required": true
},
"trackedVariables": {
"id": "trackedVariables",
"required": false,
"type": "object",
"properties": {
"iteratedNames": {
"type": "array",
"id": "iteratedNames",
"required": false,
"items": {
"type": "object",
"id": "0",
"required": true,
"properties": {
"maxIndex": {
"type": "number",
"id": "maxIndex",
"required": true
},
"name": {
"type": "string",
"id": "name",
"required": true
}
}
}
},
"names": {
"type": "array",
"additionalItems": false,
"id": "names",
"required": false,
"items": [
{
"type": "string",
"required": true
},
{
"type": "string",
"required": false
},
{
"type": "string",
"required": false
},
{
"type": "string",
"required": false
},
{
"type": "string",
"required": false
},
{
"type": "string",
"required": false
},
{
"type": "string",
"required": false
},
{
"type": "string",
"required": false
},
{
"type": "string",
API and SDK Code 260
"required": false
}
]
}
}
}
}
}
}
}
}
},
"tools": {
"type": "object",
"id": "tools",
"required": false,
"additionalProperties": false,
"properties": {
"getMetaTags": {
"type": "boolean",
"id": "getMetaTags",
"required": false
},
"getSearchReferrer": {
"type": "boolean",
"id": "getSearchReferrer",
"required": false
},
"decomposeURI": {
"type": "boolean",
"id": "decomposeURI",
"required": false
}
}
}
}
}
}
}
Generate DIL
A GET method that generates DIL based on passed in request body using the specified version of DIL. If the alias
LATEST is used for version in the URL, the latest version of DIL is generated.
Request
POST https://api.demdex.com/v1/dil/<version>/generate
Sample Request
{
core: {
code: true,
instanceVariable: 'dil_instance',
create: {
initConfig: {
declaredId: {
dpid: '159',
dpuuid: '456'
},
containerNSID: 81,
disableDestinationPublishingIframe: false,
enableErrorReporting: false,
iframeAkamaiHTTPS: false,
iframeAttachmentDelay: 575,
mappings: {
c_k1: 'd_k1',
API and SDK Code 261
c_k2: 'd_k2'
},
removeFinishedScriptsAndCallbacks: false,
uuidCookie: {
days: 12,
domain: 'adobe.com',
name: 'adobe_did',
path: '/',
secure: false
},
visitorService: {
namespace: 'demofirst'
}
}
}
},
options: {
minify: true
},
include: {
modules: {
GoogleAnalytics: {
code: true
},
Peer39: {
code: true
},
SiteCatalyst: {
code: true,
init: {
siteCatalystInstance: 'sc_instance',
dilInstance: 'dil_instance',
trackedVariables: {
iteratedNames: [{
name: 'prop',
maxIndex: 5
}, {
name: 'pev',
maxIndex: 3
}],
names: ['pageName', 'channel', 'campaign', 'products', 'events', 'spe',
'spev1', 'spev2', 'spev3']
}
}
}
},
tools: {
getMetaTags: true,
getSearchReferrer: true,
decomposeURI: true
}
}
}
Sample Response
A successful update returns response code 201 created along with the DIL JavaScript code.
Important: The data source API methods have been rewritten with Swagger and migrated. See:
POST https://api.demdex.com/v1/signals/derived/
The JSON request body contains a source key and source value. These parameters are used to associate the
source key-value pair with other traits that are associated (derived) from those values. For example, in this request
the key-value pair product SKU=1234 are also associated with a related target key-value pair. Note, source key
and value variables must be unique. All request values are required unless otherwise indicated.
{
"sourceKey": "product SKU",
"sourceValue": "1234",
"targetKey": "camera",
"targetValue": "brand x"
}
Sample Response
A successful update returns response code 201 Created and data as shown below. An unsuccessful attempt returns
response code 409 Conflict if the source/target mapping already exists.
{
"derivedSignalId": 2,
"targetKey": "camera",
"sourceKey": "product SKU",
"integrationCode": null,
"targetValue": "brand x",
"pid": 1099,
"updateTime": 1319752831000,
"version": 0,
"upUID": 507,
"crUID": 507,
"sourceValue": "1234",
"createTime": 1319752831000
}
A DELETE method that lets you remove a derived signal from your collection.
Request
DELETE https://api.demdex.com/v1/signals/derived/<derivedSignalId>
Sample Response
GET https://api.demdex.com/v1/signals/derived/<derivedSignalId>
Sample Response
A successful request returns response code 200 OK and data as shown below.
{
"derivedSignalId": 2,
"targetKey": "targetKey",
"sourceKey": "sourceKey",
"integrationCode": null,
"targetValue": "targetValue",
"pid": 1099,
"updateTime": 1319752928000,
"version": 1,
"upUID": 507,
"crUID": 507,
"sourceValue": "sourceValue",
"createTime": 1319752831000
}
A GET method that returns details for all your derived signals.
Request
GET https://api.demdex.com/v1/signals/derived/
You can use these optional parameters with API methods that return all properties for an object. Set these options
in the request string when passing that query in to the API. See Optional Parameters.
Parameter Description
pageSize Sets the number of response results returned by the request (10 is default).
sortBy Sorts and returns results according to the specified JSON property.
search Returns results based on the specified string you want to use as a search parameter. For
example, let's say you want to find results for all models that have the word "Test" in any
of the value fields for that item. Your sample request could look like this:
GET https://api.demdex.com/v1/models/?search=Test.
Sample Response
API and SDK Code 264
A successful update returns response code 200 OK and data (in an array) as shown below. All request values are
required unless otherwise indicated.
[
{
"derivedSignalId": 1,
"targetKey": "targetKey",
"sourceKey": "sourceKey",
"integrationCode": null,
"targetValue": "targetValue",
"pid": 1099,
"updateTime": 1319746748000,
"version": 0,
"upUID": 507,
"crUID": 507,
"sourceValue": "sourceValue",
"createTime": 1319746748000
},
{
"DerivedSignalId": 2,
"targetKey": "targetKey",
"sourceKey": "sourceKey",
"integrationCode": null,
"targetValue": "targetValue",
"pid": 1099,
"updateTime": 1319752831000,
"version": 0,
"upUID": 507,
"crUID": 507,
"sourceValue": "sourceValue2",
"createTime": 1319752831000
}
]
Lists the variables used by the destinationType parameter. Specify push or ADS to work with a URL or cookie
destination. You cannot create server-to-server destinations with the available destination API methods.
PUSH URL
ADS Cookie
Create Destinations
The available POST methods let you create URL and cookie destinations only. Currently, you cannot create
server-to-server destinations with these REST API methods. However, the related destination GET methods let you
retrieve information about server-to-server destinations created in the user interface.
API and SDK Code 265
A POST method that lets you create a destination that accepts segments composed of single key-value pairs (e.g.,
gender=male or gender=female).
Request
POST https://api.demdex.com/v1/destinations/
Sample Request
This request creates a single destination. All request values are required unless otherwise indicated.
{
"name":"Sample URL Destination (not serialized)",
"description":"",
"destinationType":"PUSH",
"serializationEnabled":false
}
Sample Response
A POST method that lets you create a destination that accepts multiple values associated with a single key (e.g.,
color=blue, red, green).
Request
POST https://api.demdex.com/v1/destinations/
Sample Request
Specify the secure URL and delimiter for the key-value pair passed in to the destination. All request values are
required unless otherwise indicated.
{
"name":"Sample URL Destination (Serialized)",
"description":"",
"destinationType":"PUSH",
"serializationEnabled":true,
"urlFormatString":"http://www.adobe.com/send?data=%ALIAS%",
API and SDK Code 266
"secureUrlFormatString":"https://www.adobe.com/%ALIAS%",
"delimiter":","
}
Sample Response
A successful update returns response code 201 created and the destination.
{
"destinationType":"PUSH",
"destinationId":4034,
"dataSourceId":null,
"pid":1099,
"name":"Sample URL Destination (Serialized)",
"description":"",
"startDate":null,
"endDate":null,
"status":"active",
"destinationType":"PUSH",
"createTime":1338937420000,
"updateTime":1338937420000,
"crUID":694,
"upUID":694,
"domainRestrictions":"all_domains",
"tagType":0,
"serializationEnabled":true,
"urlFormatString":"http://www.adobe.com/send?%ALIAS%",
"secureUrlFormatString":"https://www.adobe.com/%ALIAS%",
"delimiter":"-",
"mappings":null
}
A POST method that lets you create a cookie destination that accepts segments composed of single key-value pairs
(e.g., gender=male or gender=female).
Request
POST https://api.demdex.com/v1/destinations/
Sample Request
Sample Response
A successful update returns response code 201 created and the destination.
{
"destinationType":"ADS",
API and SDK Code 267
"destinationId":4035,
"pid":1099,
"name":"Cookie Destination Single Key Not Serialized",
"status":"active",
"destinationType":"ADS",
"createTime":1338937984000,
"updateTime":1338937984000,
"crUID":694,
"upUID":694,
"domainRestrictions":"inclusion",
"cnameDomain":"adobe.com",
"cookieName":"adobe",
"singleKey":"key",
"keySeparator":"=",
"valueSeparator":",",
"formatType":"single_key",
"transferMethod":0,
"serializationEnabled":false,
"maxSize":2048,
"ttl":0,
"siteIDs":[
312
],
"uparamEnabled":false
}
A POST method that lets you create a destination that accepts multiple values associated with a single key (e.g.,
color=blue, red, green).
Request
POST https://api.demdex.com/v1/destinations/
Sample Request
],
"formatType":"single_key",
"singleKey":"k",
"keySeparator":"=",
"valueSeparator":",",
"serializationEnabled":true,
"serializationSeparator":"#"
}
Sample Response
A successful update returns response code 201 created and the destination.
{
"destinationType":"ADS",
"destinationId":4036,
"pid":1099,
"name":"Cookie Destination Single Key Serialized",
"status":"active",
API and SDK Code 268
"destinationType":"ADS",
"createTime":1338938329000,
"updateTime":1338938329000,
"crUID":694,
"upUID":694,
"domainRestrictions":"all_domains",
"cnameDomain":"adobe.com",
"cookieName":"adobe",
"singleKey":"k",
"keySeparator":"=",
"valueSeparator":",",
"formatType":"single_key",
"transferMethod":0,
"serializationEnabled":true,
"serializationSeparator":"#",
"maxSize":2048,
"ttl":0,
"siteIDs":[
],
"uparamEnabled":false
}
POST https://api.demdex.com/v1/destinations/
Sample Request
],
"formatType":"key_value",
"keySeparator":"=",
"valueSeparator":",",
"serializationEnabled":false
}
Sample Response
A successful update returns response code 201 created and the destination.
{
"destinationType":"ADS",
"destinationId":4037,
"pid":1099,
"name":"Ad Server Multi-Key Not Serialized",
"status":1,
"destinationType":"ADS",
"createTime":1338938666000,
"updateTime":1338938666000,
"crUID":694,
"upUID":694,
API and SDK Code 269
"domainRestrictions":"all_domains",
"cnameDomain":"adobe.com",
"cookieName":"adobe",
"keySeparator":"=",
"valueSeparator":",",
"formatType":"key_value",
"transferMethod":0,
"serializationEnabled":false,
"maxSize":2048,
"ttl":0,
"siteIDs":[
],
"uparamEnabled":false
}
A POST method that lets you create a destination that accepts segments that contain multiple keys and values (e.g.,
gender=male, female; color=blue, red, green).
Request
POST https://api.demdex.com/v1/destinations/
Sample Request
],
"formatType":"key_value",
"keySeparator":"=",
"valueSeparator":",",
"serializationEnabled":true,
"serializationSeparator":"#"
}
Sample Response
A successful update returns response code 201 created and the destination.
{
"destinationType":"ADS",
"destinationId":4038,
"pid":1099,
"name":"Ad Server Multi-Key Serialized",
"status":"active",
"destinationType":"ADS",
"createTime":1338938872000,
"updateTime":1338938872000,
"crUID":694,
"upUID":694,
"domainRestrictions":"all_domains",
"cnameDomain":"adobe.com",
"cookieName":"adobe",
"keySeparator":"=",
"valueSeparator":",",
"formatType":"key_value",
API and SDK Code 270
"transferMethod":0,
"serializationEnabled":true,
"serializationSeparator":"#",
"maxSize":2048,
"ttl":0,
"siteIDs":[
],
"uparamEnabled":false
}
The available POST methods let you map segments to URL and cookie destinations only. Currently, you cannot map
segments to server-to-server destinations with these REST API methods. Use the user interface instead. However,
the related destination GET methods let you retrieve information about server-to-server destinations created in the
user interface.
Map a Segment to a Non-Serialized URL Destination
A POST method that lets you map a segment to a non-serial URL destination.
Request
POST https://api.demdex.com/v1/destinations/<destinationId>/mappings/
Sample Request
Sample Response
{
"mappingId":65334,
"traitType":"SEGMENT",
"traitValue":0,
"destinationId":4033,
"elementName":"Sample games",
"elementDescription":"Sample games pixel",
"elementStatus":"active",
"createTime":1338940094000,
"updateTime":1338940094000,
"crUID":694,
"upUID":694,
"sid":87723,
"startDate":"2012-07-03",
"endDate":null,
"priority":null,
"url":"http://adobe.com",
"secureUrl":null,
"tagCode":null,
"secureTagCode":null,
"traitAlias":null
}
API and SDK Code 271
A POST method that lets you map a segment to a serialized URL destination.
Request
POST https://api.demdex.com/v1/destinations/<dataOrderId>/traits/
Sample Request
In the request, the traitAlias corresponds to the key in a key-value pair. All request values are required unless
otherwise indicated.
{
"sid":87723,
"traitType":"SEGMENT",
"startDate":"2012-07-04",
"traitAlias":"123"
}
Sample Response
{
"mappingId":65335,
"traitType":"SEGMENT",
"traitValue":0,
"destinationId":4034,
"elementName":"Sample Games",
"elementDescription":"Migration of Sample Games Pixel",
"elementStatus":"active",
"createTime":1338940401000,
"updateTime":1338940401000,
"crUID":694,
"upUID":694,
"sid":87723,
"startDate":"2012-07-03",
"endDate":null,
"priority":null,
"url":"123",
"secureUrl":"123",
"tagCode":null,
"secureTagCode":null,
"traitAlias":"123"
}
POST https://api.demdex.com/v1/destinations/<destinationId>/mappings/
Sample Request
In the request, the valueAlias corresponds to the value in a key-value pair. All request values are required unless
otherwise indicated.
{
"sid":87723,
"traitType":"SEGMENT",
"startDate":"2012-07-04",
"valueAlias":"123"
}
Sample Response
{
"destinationMappingId":65336,
API and SDK Code 272
"traitType":"SEGMENT",
"traitValue":0,
"destinationId":4035,
"elementName":"Sample Games",
"elementDescription":"Migration of Sample Games Pixel",
"elementStatus":"active",
"createTime":1338940704000,
"updateTime":1338940704000,
"crUID":694,
"upUID":694,
"sid":87723,
"startDate":"2012-07-03",
"endDate":null,
"priority":1,
"traitAlias":null,
"valueAlias":"123"
}
A POST method that lets you map a segment to multi-key, non-serialized cookie destination.
Request
POST https://api.demdex.com/v1/destinations/<destinationId>/mappings/
Sample Request
In the request, the traitAlias and valueAlias set the key and the value respectively in a key-value pair. All request
values are required unless otherwise indicated.
{
"sid":87723,
"traitType":"SEGMENT",
"startDate":"2012-07-04",
"traitAlias":"type",
"valueAlias":"123"
}
Sample Response
{
"mappingId":65338,
"traitType":"SEGMENT",
"traitValue":0,
"destinationId":4037,
"elementName":"Sample Games",
"elementDescription":"Migration of Sample Games Pixel",
"elementStatus":"active",
"createTime":1338941092000,
"updateTime":1338941092000,
"crUID":694,
"upUID":694,
"sid":87723,
"startDate":"2012-07-03",
"endDate":null,
"priority":1,
"traitAlias":"type",
"valueAlias":"123"
}
A POST method that lets you map a segment to a multi-key, serialized cookie destination.
Request
POST https://api.demdex.com/v1/destinations/<destinationId>/mappings/
API and SDK Code 273
Sample Request
In the request, the traitAlias and valueAlias set the key and the value in a key-value pair. All request values
are required unless otherwise indicated.
{
"sid":87723,
"traitType":"SEGMENT",
"startDate":"2012-07-04",
"traitAlias":"type",
"valueAlias":"123"
}
Sample Response
{
"destinationMappingId":65340,
"traitType":"SEGMENT",
"traitValue":0,
"destinationId":4038,
"elementName":"Sample Games",
"elementDescription":"Migration of Sample Games Pixel",
"elementStatus":"active",
"createTime":1338941273000,
"updateTime":1338941273000,
"crUID":694,
"upUID":694,
"sid":87723,
"startDate":"2012-07-03",
"endDate":null,
"priority":2,
"traitAlias":"type",
"valueAlias":"123"
}
A POST method that lets you map a segment to an existing server-to-server destination. Note, however, that you
cannot create server-to-server destinations with these currently available API methods.
Request
POST https://api.demdex.com/v1/destinations/<destinationId>/mappings/
Sample Request
In the request, the traitAlias corresponds to the key in a key-value pair. All request values are required unless
otherwise indicated.
{
"sid":87723,
"traitType":"SEGMENT",
"startDate":"2012-07-04",
"traitAlias":"123"
}
Sample Response
{
"destinationMappingId":65341,
"traitType":"SEGMENT",
"traitValue":0,
"destinationId":566,
"elementName":"Sample",
"elementDescription":"",
"elementStatus":"active",
"createTime":1338942118000,
"updateTime":1338942118000,
"crUID":308,
API and SDK Code 274
"upUID":308,
"sid":84326,
"startDate":"2012-07-03",
"endDate":null,
"priority":null,
"traitAlias":"123"
}
A POST method that lets you pass in an array of cookie or URL destination mappings.
Request
POST https://api.demdex.com/v1/destinations/<destinationId>/bulk-create
Sample Request
Sample Response
"createTime": 1353373234000,
"updateTime": 1353373234000,
"crUID": 1065,
"upUID": 1065,
"sid": 121070,
"startDate": "2012-11-20",
"endDate": null,
"priority": null,
"url": "http://my.adobeconnect.com",
"secureUrl": null,
"tagCode": null,
"secureTagCode": null,
"traitAlias": null
}
]
Delete Destinations
DELETE and POST methods that let you remove destinations and segment mappings.
Delete a Destination
A DELETE method that removes a destination.
Note: You must remove all segment mappings before you can delete a destination.
Remove multiple destinations with this POST method. Pass in destination IDs (destinationId) with an array in the
request body.
Request: POST https://api.demdex.com/v1/destinations/bulk-delete/
Response: Returns code 204 No Content if successful.
Delete Destination Mappings by Segment Mapping ID
A POST method that removes destination mappings according to the specified segment ID.
Request: DELETE https://api.demdex.com/v1/destinations/<destinationId>/segments/<mappingId>
Response: Returns code 204 No Content if successful.
POST https://api.demdex.com/v1/destinations/<destinationId>/bulk-create
Sample Request
Create multiple destination mappings in an array. All request values are required unless otherwise indicated.
[
{
"sid": 105123,
"traitType":"SEGMENT",
"url":"http://adobe.com",
"startDate":"2012-11-20"
},
{
API and SDK Code 276
"sid": 121070,
"traitType":"SEGMENT",
"url":"http://my.adobeconnect.com",
"startDate":"2012-11-21"
}
]
Sample Response
PUT https://api.demdex.com/v1/destinations/<destinationId>
Sample Request
API and SDK Code 277
Sample Response
{
"destinationType": "PUSH",
"destinationId": 780,
"dataSourceId": null,
"pid": 1099,
"name": "Updated URL Destination (not serialized)",
"description": "new description",
"startDate": null,
"endDate": null,
"status": 1,
"createTime": 1348851790000,
"updateTime": 1353372029000,
"crUID": 884,
"upUID": 1065,
"domainRestrictions":"all_domains",
"tagType": 0,
"serializationEnabled": false,
"urlFormatString": null,
"secureUrlFormatString": null,
"delimiter": null,
"mappings": null
}
A PUT method that lets you update a mapping to a destination by the specified mappingId.
Request
PUT https://api.demdex.com/v1/destinations/mappings/<mappingId>
Sample Request
Sample Response
{
"mappingId": 103453,
"traitType": "SEGMENT",
"traitValue": 0,
"destinationId": 780,
"elementName": "sample",
"elementDescription": "test",
"elementStatus": "active",
"createTime": 1353373005000,
"updateTime": 1353373005000,
"crUID": 1065,
"upUID": 1065,
"sid": 105123,
"startDate": "2012-11-19",
API and SDK Code 278
"endDate": null,
"priority": null,
"url": "http://www.adobe.com/send?%ALIAS%",
"secureUrl": null,
"tagCode": null,
"secureTagCode": null,
"traitAlias": null
}
A GET method that returns the destination for the specified destinationId.
Request
GET https://api.demdex.com/v1/destinations/<destinationId>
Sample Response
{
"destinationType":"PUSH",
"destinationId":314,
"dataSourceId":null,
"pid":1099,
"name":"sample destination",
"description":"Turn",
"startDate":null,
"endDate":null,
"status":"active",
"destinationType":"PUSH",
"createTime":1281997484000,
"updateTime":1300752888000,
"crUID":224,
"upUID":308,
"domainRestrictions":"ALL_DOMAINS",
"tagType":0,
"serializationEnabled":false,
"urlFormatString":null,
"secureUrlFormatString":null,
"delimiter":null,
"mappings":null
}
A GET method that returns all destinations for the specified partner.
Request
GET https://api.demdex.com/v1/destinations
Note:
(Optional) Pass in containsSegment=<sid> to return an array of all destinations mapped to the specified
segment. For example, your query could look similar to this: GET
.../destinations/?containsSegment=4321.
Does not return the full destination object. Get the destination by data order if you need fully populated object.
You can use these optional parameters with API methods that return all properties for an object. Set these options
in the request string when passing that query in to the API. See Optional Parameters.
Parameter Description
pageSize Sets the number of response results returned by the request (10 is default).
sortBy Sorts and returns results according to the specified JSON property.
search Returns results based on the specified string you want to use as a search parameter.
For example, let's say you want to find results for all models that have the word "Test"
in any of the value fields for that item. Your sample request could look like this:
GET https://api.demdex.com/v1/models/?search=Test.
Sample Response
[
{
"destinationId":364,
"pid":1099,
"name":"Test",
"description":"",
"status":"active",
"destinationType":"PUSH",
"createTime":1291345192000,
"updateTime":1291347561000,
"crUID":262,
"upUID":262,
"domainRestrictions":"all_domains"
},
{
"destinationId":369,
"pid":1099,
"name":"sample destination",
"status":"active",
"destinationType":"PUSH",
"createTime":1292631706000,
"updateTime":1292631706000,
"crUID":262,
"upUID":262,
"domainRestrictions":"all_domains"
}
]
A GET method that returns an individual destination mapping based on the mappingId.
Request
GET https://api.demdex.com/v1/destinations/<destinationId>/mappings/<destinationMappingId>
Sample Response
{
"mappingId": 14593,
"traitType": "SEGMENT",
API and SDK Code 280
"traitValue": 0,
"destinationId": 314,
"elementName": "sample",
"elementDescription": "Migration Pixel",
"elementStatus": "active",
"createTime": 1281997484000,
"updateTime": 1300752888000,
"crUID": 224,
"upUID": 308,
"sid": 80920,
"startDate": "2010-11-15",
"endDate": null,
"priority": null,
"url": "http://www.adobe.com/send?%ALIAS%",
"secureUrl": "https://www.adobe.com/send?%ALIAS%",
"tagCode": null,
"secureTagCode": null,
"traitAlias": null
}
Note: The returned mapping is specific to the destination type and configuration.
Request
GET https://api.demdex.com/v1/destinations/<destinationId>/mappings
Sample Response
{
"total":354,
"page":0,
"pageSize":2,
"list":[
{
"destinationMappingId":14395,
"traitType":"SEGMENT",
"traitValue":0,
"destinationId":314,
"elementName":"sample pixel",
"elementDescription":"Migration Pixel",
"elementStatus":"active",
"createTime":1281997484000,
"updateTime":1300752888000,
"crUID":224,
"upUID":308,
"sid":80920,
"startDate":"2010-11-15",
"endDate":null,
"priority":null,
"url":"http://www.adobe.com/send?%ALIAS%",
"secureUrl":"https://www.adobe.com/send?%ALIAS%",
"tagCode":null,
"secureTagCode":null,
"traitAlias":null
}
{
"destinationMappingId":15934,
"traitType":"SEGMENT",
"traitValue":0,
API and SDK Code 281
"destinationId":314,
"elementName":"sample pixel",
"elementDescription":"Migration Pixel",
"elementStatus":"active",
"createTime":1281997484000,
"updateTime":1300752888000,
"crUID":242,
"upUID":803,
"sid":90820,
"startDate":"2010-11-15",
"endDate":null,
"priority":null,
"url":"http://www.adobe.com/send?%ALIAS%",
"secureUrl":"https://www.adobe.com/send?%ALIAS%",
"tagCode":null,
"secureTagCode":null,
"traitAlias":null
}
]
{
GET /destinations/configurations/available-platforms/
Sample Response
[
BROWSER, ANDROID, iOS, ALL
]
A GET method that returns outbound Server-to-Server (S2S) and bulk S2S destination job history information.
Request
GET
https://api.demdex.com/v1/destinations/655/history/outbound?startDate=1000000000&endDate=1403034473000
Sample Response
[
{
"pushID":34090,
"orderID":655,
"dataProviderID":269,
"syncType":1,
"fullPublish":false,
"receivedRecords":1,
"attemptedRecords":1,
"successRecords":1,
"startTime":1337292466000,
"endTime":1337292466000,
"dataFileName":"ftp_655_269_iter_1337229891903.sync",
"success":true
},
{
"pushID":34104,
"orderID":655,
API and SDK Code 282
"dataProviderID":269,
"syncType":1,
"fullPublish":false,
"receivedRecords":1,
"attemptedRecords":1,
"successRecords":1,
"startTime":1337346397000,
"endTime":1337346397000,
"dataFileName":"ftp_655_269_iter_1337285714581.sync",
"success":true
},
{
"pushID":34124,
"orderID":655,
"dataProviderID":269,
"syncType":1,
"fullPublish":false,
"receivedRecords":1,
"attemptedRecords":1,
"successRecords":1,
"startTime":1337396811000,
"endTime":1337396812000,
"dataFileName":"ftp_655_269_iter_1337338243600.sync",
"success":true
}
]
A POST method that lets you create a new domain for (cookie destinations only).
Request
POST https://api.demdex.com/v1/partner-sites/
Sample Request
{
"url":"example1.com"
}
Sample Response
A successful response returns 201 created and the partner site, including its unique ID.
{
"pid": 1111,
"siteId": 111,
"url": "example1.com"
}
Delete a Domain
A DELETE method that lets you remove a domain (for cookie destinations only).
Request
DELETE https://api.demdex.com/v1/partner-sites/<site-Id>
Sample Response
A successful response returns 204 no content. Returns 404 not found if the partner site cannot be found.
API and SDK Code 283
A GET method that returns details about the specified domain (for cookie destinations only).
Request
GET https://api.demdex.com/v1/partner-sites/<siteId>
Sample Response
A successful response returns 200 OK and data as shown in the sample below. Returns 404 Not found if the site
ID or partner is not found.
{
"pid": 1111,
"siteId": 111,
"url": "example1.com"
}
A GET method that returns information about all your domains (for cookie destinations only).
Request
GET https://api.demdex.com/v1/partner-sites/
You can use these optional parameters with API methods that return all properties for an object. Set these options
in the request string when passing that query in to the API. See Optional Parameters.
Parameter Description
pageSize Sets the number of response results returned by the request (10 is default).
sortBy Sorts and returns results according to the specified JSON property.
search Returns results based on the specified string you want to use as a search parameter.
For example, let's say you want to find results for all models that have the word "Test"
in any of the value fields for that item. Your sample request could look like this:
GET https://api.demdex.com/v1/models/?search=Test.
Sample Response
A successful response returns 200 OK and data in an array as shown in the sample below. Returns 404 Not found
if the site ID or partner is not found.
[
{
"pid": 1111,
"siteId": 111,
"url": "example1.com"
},
{
API and SDK Code 284
"pid": 2222,
"siteId": 222,
"url": "example2.com"
},
{
"pid": 3333,
"siteId": 333,
"url": "example3.com"
}
]
Important: The folder API methods have been rewritten with Swagger and migrated. See:
Important: The segment API methods have been rewritten with Swagger and migrated. See:
Note: You cannot create new taxonomic categories or classify traits with these methods. To classify a trait,
specify the appropriate categoryId with a trait create or update method.
A GET method that returns details about the specified taxonomic category.
Request
GET https://api.demdex.com/v1/taxonomies/0/<categoryId>
Sample Response
A successful response returns 200 OK and the category for the specified ID. An unsuccessful request returns 404
No Content if the ID does not exist.
{
"crUID": 158,
"name": "Arts & Entertainment",
"upUID": 158,
"description": "Arts & Entertainment",
"categoryID": 1,
API and SDK Code 285
"parentCategoryID": 0
}
GET https://api.demdex.com/v1/taxonomies/0/
Sample Response
A GET method that returns sub-categories for the specified parent category in an array.
Request
GET https://api.demdex.com/v1/taxonomies/0/<categoryId>/childCategories/
Sample Response
A successful response returns 200 OK and the category for the specified ID. An unsuccessful request returns 404
No Content if the ID does not exist. Truncated for brevity.
[
{
"crUID": 158,
"name": "Books & Literature",
"upUID": 158,
"description": "Books & Literature",
"categoryID": 25,
"parentCategoryID": 1
},
{
"crUID": 158,
"name": "Celebrity Fan/Gossip",
API and SDK Code 286
"upUID": 158,
"description": "Celebrity Fan/Gossip",
"categoryID": 49,
"parentCategoryID": 1
},
{
"crUID": 158,
"name": "Fine Art",
"upUID": 158,
"description": "Fine Art",
"categoryID": 72,
"parentCategoryID": 1
}
]
Important: The trait API methods have been rewritten with Swagger and migrated. See:
Note: Trait type methods do not assign traits to categories used by the common taxonomy. Think of these
as labels that are separate from the common taxonomy.
For visual reference, Trait Types is a dropdown control located in the UI under Traits > Create new trait > Basic
Information.
POST https://api.demdex.com/v1/customer-trait-types
Sample Request
{
"name":"Custom trait type"
}
Sample Response
{
"pixelType": 34,
"pid": 1099,
"name": "Custom type",
"description": null,
"crUID": 694,
"upUID": 694,
"createTime": 1358297352000,
"updateTime": 1358297352000
}
API and SDK Code 287
A GET method that returns details about the specified trait type.
Request
GET https://api.demdex.com/v1/customer-trait-types/<customerTraitTypeId>
Sample Response
{
"pixelType": 4,
"pid": 0,
"name": "Delivery Event",
"description": "Delivery Event",
"crUID": 158,
"upUID": 158,
"createTime": 1299115496000,
"updateTime": 1299115496000
}
A GET method that returns details about all your trait types in an array.
Request
GET https://api.demdex.com/v1/customer-trait-types/
Sample Response
[
{
"pixelType": 200,
"pid": 1099,
"name": "Customer Specific Trait Type",
"description": "Test",
"crUID": 158,
"upUID": 158,
"createTime": 1349990458000,
"updateTime": 1349990458000
},
{
"pixelType": 1,
"pid": 0,
"name": "User Trait",
"description": "User Trait",
"crUID": 158,
"upUID": 158,
"createTime": 1299115492000,
"updateTime": 1299115492000
},
{
"pixelType": 2,
"pid": 0,
"name": "Site Visitor",
"description": "Site Visitor",
"crUID": 158,
"upUID": 158,
"createTime": 1299115493000,
"updateTime": 1299115493000
}
]
API and SDK Code 288
Rest API methods to manage users, including creating, updating, listing, deleting, and returning user objects.
Create a User
POST /api/v1/users/
Sample Response
{
"pid" : <integer>,
"userId": <integer>,
"username" : <string>,
"status" : <"ACTIVE"|"INACTIVE"|"LOCKED">
"firstName" : <string>,
"lastName" : <string>,
"emailAddress" : <string>,
"title" : <string_may_be_null>,
"phoneNumber" : <string_may_be_null>,
"groups" : [<group_1_id>, ...],
"isAdmin" : <"true"|"false">
If isAdmin is set to true, the user is created as a partner admin. This property also lets you know whether a user is
a partner admin.
PUT /api/v1/users/<userId>
"title" : <string_may_be_null>,
"phoneNumber" : <string_may_be_null>,
"groups" : [<group_1_id>, ...]
}
Sample Response
{
"pid" : <integer>,
"userId": <integer>,
"username" : <string>,
"status" : <"ACTIVE"|"INACTIVE"|"LOCKED">
"firstName" : <string>,
"lastName" : <string>,
"emailAddress" : <string>,
"groups" : [<group_1_id>, ...]
Note: Whereas most API methods are only callable by partner admins, this method is callable by non-admin
users.
Request
PUT /self/update
Sample Response
{
"userId": <integer>,,
"status" : <"ACTIVE"|"INACTIVE"|"LOCKED">
"firstName" : <string>,
"lastName" : <string>,
"emailAddress" : <string>
"title" : <string_may_be_null>,
"phoneNumber" : <string_may_be_null>
}
Note: Whereas most API methods are only callable by partner admins, this method is callable by non-admin
users.
Request
API and SDK Code 290
POST /users/self/update-password
Returns 200 OK if successful. Returns 400 Bad Request if something is wrong with either password.
Reset Logged-In User Password
A PUT method to reset the currently logged-in user. Audience Management sends the user a system-generated
password.
Note: Whereas most API methods are only callable by partner admins, this method is callable by non-admin
users.
Request
POST /self/reset-password
GET /api/v1/users/<userId>
Sample Response
{
"pid" : <integer>,
"userId": <integer>,
"username" : <string>,
"status" : <"ACTIVE"|"INACTIVE"|"LOCKED">
"firstName" : <string>,
"lastName" : <string>,
"emailAddress" : <string>,
"title" : <string_may_be_null>,
"phoneNumber" : <string_may_be_null>,
"groups" : [<groupd_id_1>, ...]
A Get method to return the user object for the currently logged-in user.
Note: Whereas most API methods are only callable by partner admins, this method is callable by non-admin
users.
Request
GET /api/v1/users/self
Sample Response
{
"pid" : <integer>,
"userId": <integer>,
"username" : <string>,
"status" : <"ACTIVE"|"INACTIVE"|"LOCKED">
"firstName" : <string>,
"lastName" : <string>,
API and SDK Code 291
"emailAddress" : <string>,
"title" : <string_may_be_null>,
"phoneNumber" : <string_may_be_null>,
"groups" : [<groupd_id_1>, ...]
List Users
GET /api/v1/users/
GET /api/v1/users/?groupId=343&groupdId=12
Sample Response
{
"pid" : <integer>,
"userId": <integer>,
"username" : <string>,
"status" : <"ACTIVE"|"INACTIVE"|"LOCKED">
"firstName" : <string>,
"lastName" : <string>,
"emailAddress" : <string>,
"title" : <string_may_be_null>,
"phoneNumber" : <string_may_be_null>,
"groups" : [<group_1_id>, ...]
Delete a User
DELETE /api/v1/users/<user_id>
POST /api/v1/users/bulk-delete
Rest API methods to manage groups, including creating, updating, listing, deleting groups.
Create a Group
POST /api/v1/groups/
Sample Response
{
"groupId" : <integer>,
"pid" : <integer>,
"name" : <string>,
"description" : <string_may_be_null>,
"membershipCount" : <integer>,
"wildcards" : <list of strings>,
"users" : <list of user IDs>
}
Update a Group
PUT /api/v1/groups/<groupId>
Sample Response
{
"groupId" : <integer>,
"pid" : <integer>,
"name" : <string>,
"description" : <string_may_be_null>,
"membershipCount" : <integer>,
"wildcards" : <list of strings>,
"users" : <list of user IDs>
}
List Groups
A GET method to list user groups.
Request
GET /api/v1/groups/
Sample Response
[
{
"groupId" : <integer>,
"pid" : <integer>,
"name" : <string>,
"description" : <string_may_be_null>,
"membershipCount" : <integer>,
"wildcards" : <list of strings>,
"users" : <list of user IDs>
}, ...
]
API and SDK Code 293
Delete a Group
A DELETE method to delete a user group and remove all members from that group.
Request
DELETE /api/v1/groups/<groupId>
A DELETE method to delete multiple groups in bulk and remove all members from that group.
Request
DELETE /api/v1/groups/bulk-delete
GET /api/v1/groups/{groupId}/permissions
Sample Response
[{
"objectId" : 34,
"objectType": "SEGMENT",
"permissions": ["READ", "WRITE", "DELETE", "MAP_TO_MODELS"]
},
{
"objectId" : "234",
"objectType": "TRAIT",
"permissions": ["READ", "WRITE", "DELETE", "MAP_TO_MODELS"]
},
{
"objectId" : 277,
"objectType": "SEGMENT",
"permissions": ["READ", "WRITE", "MAP_TO_MODELS"]
}
]
A PUT method to update group permissions. This method overwrites the old permissions with the new permissions.
Request
PUT /api/v1/groups/{groupId}/permissions/
Sample Response
[
{ "objectType" : "SEGMENT",
"objectId" : 563,
"permissions" : [ "READ", "WRITE"]
},
{ "objectType" : "SEGMENT",
"objectId" : 2363,
"permissions" : [ "CREATE", "WRITE"]
},
{ "objectType" : "TRAIT",
API and SDK Code 294
"objectId" : 83498,
"permissions" : [ "READ", "MAP_TO_SEGMENTS"]
},
{ "objectType" : "DESTINATION",
"objectId" : 304,
"permissions" : [ "READ", "WRITE", "CREATE"]
}
]
Returns 200 OK if successful. Returns 400 if any given permission is invalid. Can also return 403 if the object is not
accessible by the logged-in user.
A GET method to list available object types on which role-based access controls can be set.
Request
GET /api/v1/permissionable-object-types/
Sample Response
[ "SEGMENT", "TRAIT", "DESTINATION", "DERIVED_SIGNALS", "TAGS" ]
GET /api/v1/permissionable-object-types/SEGMENT/
Sample Response
{
"wildcard" : [ "VIEW_ALL_SEGMENTS", "EDIT_ALL_SEGMENTS", "CREATE_ALL_SEGMENTS",
"DELETE_ALL_SEGMENTS", "MAP_ALL_SEGMENTS_TO_MODELS", "MAP_ALL_TO_DESTINATIONS" ],
"perObject" : [ "READ", "WRITE", "CREATE", "DELETE", "MAP_TO_MODELS", "MAP_TO_DESTINATION" ]
}
Note: The object types TAGS and DERIVED SIGNALS have no regular permissions to use. Controls on these
object types are changed by the All or Nothing Wild Card Permissions only.
GET /v1/dcs-regions/<id>
API and SDK Code 295
Sample Response
{
"regionId" : <id>,
"location" : "<location>",
"host" : "<host>",
"code" : "<code>",
"status" : "ACTIVE" | "INACTIVE",
"createTime" : long of milliseconds since epoch,
"updateTime" : long of milliseconds since epoch,
"crUID" : <userId who created>,
"upUID" : <userId who updated>
}
For a list of regions and their corresponding integers, see the dcs_region row in the Response Parameters section
in URL Format for Passing Data to the DCS.
GET /v1/dcs-regions/
Sample Response
[
{
"regionId" : <id>,
"location" : "<location>",
"host" : "<host>",
"code" : "<code> # APSE, USE, etc,
"status" : "ACTIVE" | "INACTIVE",
"createTime" : long of milliseconds since epoch,
"updateTime" : long of milliseconds since epoch,
"crUID" : <userId who created>,
"upUID" : <userId who updated>
},
...
]
For a list of regions and their corresponding integers, see the dcs_region row in the Response Parameters section
in URL Format for Passing Data to the DCS.
SDK Code
Audience Manager provides software development kits (SDKs) for Android and iOS.
For SDK code libraries, see:
Android SDK
iOS SDK
Implementation and Integration Guides 296
You can capture campaign data using pixel calls to Audience Management (often called pixeling the creative) or by
ingesting log files.
Contents:
Note: The text styles (monospaced text, italics, brackets [ ] ( ), etc.) indicate code elements and options.
See Style Conventions for Code and Text Elements for more information.
Event calls consist of key-value pairs that use the following syntax:
http://clientname.demdex.net/event?d_event=imp&d_src=datasource_id&d_site=siteID&
d_creative=creative_id&d_adgroup=adgroup_id&d_placement=placement_id
&d_campaign=campaign_id[&d_cid=(GAID|IDFA)%01 DPUUID]&d_bust=cache buster value
In the key-value pair, the value variable is an ID or macro inserted by the ad server. When the ad tag loads, that
%macro% gets replaced with the required, corresponding values. This call does not return a response.
Key Description
d_adgroup
Numeric ad group ID from the ad server.
Optional.
d_adsrc
Data source ID or integration code for your advertiser.
d_bu
Data source ID or integration code for your business unit.
d_campaign
Numeric campaign ID from the ad server.
d_cid
In this context, d_cid instantiates a key-value pair that lets you associate a mobile
device type to a unique user ID (DPUUID). A fixed ID determines the mobile device
type. The value, which is the user ID, can vary. Separate the key-value pair with %01,
which is a non-printing control character. This parameter accepts the following keys:
20914: Identifies an Android (GAID) device. For example, d_cid = 20914 %01
1234 says that user 1234 is associated with an Android device.
20915: Identifies an iOS (IDFA) device. For example, d_cid = 20915 %01 5678
says that user 5678 is associated with an iOS device.
Optional.
d_creative
Numeric creative ID from the ad server.
d_event=imp
Identifies an event call as an impression event.
Required.
d_exch
Source ID for the inventory exchange that served the ad (e.g., Appnexus, Right Media,
Openx, etc.).
Optional.
d_io
Insertion order ID.
Optional.
Implementation and Integration Guides 298
Key Description
d_placement
Numeric placement ID from the ad server.
Optional.
d_site
Numeric site ID from the ad server.
d_src
Data source ID or integration code of the platform providing the metadata (e.g., DFA,
Atlas, GBM, Media Math, etc.).
d_tactic
A tactic ID.
Optional.
d_vert
ID for an industry vertical or category.
Optional.
Note: Please contact your Adobe Audience Manager consulting or account lead for the exact URL specific
to the client domain.
In addition, the call can contain key-value pairs that can be used for trait qualification or to provide data and metadata
for other reports.
Request Sample
http://client.demdex.net/event?d_event=click&d_creative=123&d_rd=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fadobe.com%2Fcallback%3Fcreative%3D%25d_creative%25
Response
The response redirects the browser to the URL specified in the d_rd parameter. The response string can include
values generated by any of the supported macros listed below.
Based on the above example, the browser is redirected to the following URL:
http://adobe.com/callback?creative=123
Implementation and Integration Guides 299
Supported Macros
Click events support the macros listed in the following table. A macro is a small unit of self contained code that
activates when the ad tag loads for campaign and user tracking.The macros will be passed along with the destination
URL, as long as they are marked with the following format: %macro%. Some keys do not have macros and accept a
hard coded ID value instead. Keys that accept hard coded values are required if you want to analyze data in the
Audience Optimization Reports.
Required.
Required.
Optional.
d_exch No macro. Source ID for the inventory exchange that served the ad (e.g.,
Appnexus, Right Media, Openx, etc.).
Accepts a hard coded ID
value. Optional, but required for Audience Optimization reports
d_mid %d_mid% Marketing Cloud ID (MID). For more information about the MID, see
Cookies and the Marketing Cloud ID.
Optional.
Optional.
d_region %d_region% The numeric region ID for the DCS cluster that services a request.
For more information about the DCS, see Data Collection
Components.
Optional.
Optional.
Optional.
d_src %d_src% DPID of the source from where Audience Manager pulls the
metadata.
Required.
d_uuid %d_uuid% Specify the ID of the visitor directly in the URL instead of relying on
Demdex cookie.
Optional.
Accepts a hard coded ID Optional, but required for Advertising Analytics reports.
value.
Macros Example
This example demonstrates passing the creative, adgroup, and placement macros. It assumes the values for each
parameter are passed in the non-redirect portion of the click-tracking call.
creative=1235
campaign=4709
Implementation and Integration Guides 301
adgroup=3408
placement=1001
src=203
Request
http://client.demdex.net/event?d_event=click&d_creative=1235&d_src=203&d_campaign=4709&d_adgroup=3408&d_placement=1001&
d_rd=https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fadobe.com%2Fcallback%3Fcreative%3D%25d_creative%25%26campaign%3D%25d_campaign%25%26adgroup%3D%25
d_adgroup%25%26d_placement%3D%25placement%25%26src%3D%25d_src%25
Response
Based on the above example, the browser is redirected to the following URL:
http://adobe.com/callback?creative=1235&campaign=4709&adgroup=3408&placement=1001
Recommendation Description
File Access
We strongly recommend that you work with Adobe to set up an Amazon S3 bucket.
Note: Audience Manager uses Amazon S3 to store data. Rather than send
us data via FTP, deliver the logs to an S3 directory instead. We can process
data directly from this location. Your Partner Solutions manager can help
you get access to S3. For more information, see Amazon S3: About.
Listing of Preferred
Provide the exact dimensions you request to be used in your various reports.
Dimensions
Also specify how that data will be accessed (for example, match tables, lookup
files, API, and so forth).
Recommendation Description
Reporting Requirement List your exact reporting requirements and necessary dimensions for each report.
Preferred Ad Server
The most popular ad servers that we currently use include DFP version 2 (Google
DoubleClick for Publishers), DFA (Google DoubleClick for Advertisers), MM
(MediaMath), FreeWheel, and OAS (Open Ad Server).
Using one of these ad servers greatly reduces initial set-up time. Contact your
Partner Solutions manger for other configurations.
Data/File Formatting
Recommendation Description
File Name
Include your Audience Manager client ID (the DPID) in the file name.
Date/Time Stamps
Add a timestamp to the file name. We recommend that you use UNIX UTC
seconds by default.
Time Zone
Audience Manager uses UTC. We recommend that you send data in UTC.
File Content
Ensure that your file content conforms to the following specifications:
Separate impression, click, and conversion data into individual files.
Remove metadata (non-ID data) from the logs. Store that information in separate
lookup tables. See Improve Log File Processing Times with Lookup Tables.
Fix the schema to ensure that each record contains the same number of
delimited columns, even when blank or null values are returned.
No special characters in fields (newline, etc.).
No delimiter characters in the fields.
File Size
Keep files small. It's easier to import several small files in parallel than it is to
process one big file. As a general rule, more files and smaller files are better than
one or two really large files. As best practice, we recommend a 100 MB maximum
uncompressed file size. The uncompressed file should not be larger than 5 GB.
Implementation and Integration Guides 303
Recommendation Description
Use AAM UUID Use the 38-digit AAM UUID as the join ID.
Audience Manager will only begin processing one day's data when the first hour
of the next day's data has been delivered.
Audience Manager cannot begin populating files for a new day until the previous
day's files have been processed.
Field Delimiter
Specify the field delimiter that you will be using in your files. Binary delimiters are
preferred.
Campaign A set of related ads that are served Teen Party Season 3 Premiere
during a specified flight.
Strategy Wrestling_Weekly_Tomorrow_7.25
Keyval video_id=294869
DFP Premium
Information that you need to provide to Adobe when using DoubleClick for Publishers Premium and Audience
Manager.
This topic contains the following information:
Log File Access Information
Default Dimensions
Implementation and Integration Guides 304
UserID Values
Default Dimensions
The dimensions that Adobe uses are defined by DFP. For more information, see the Google DoubleClick Developers
site.
size
po_number
If you want to use different dimensions, please provide us with the appropriate DFP service, object, and field name
information for each dimension.
UserID Values
Specify whether you will be using the Audience Manager UserID or your own UserID. If you are using your own
UserID, please provide Adobe with the following information:
Sample UserID values
Field containing the UserID
Delimiters used in that field
The key used as the identifier for the UserID value
DFP
Information that you need to provide to Adobe when using DoubleClick for Publishers and Audience Manager.
Note: We strongly recommend that you useDFP Premium rather than DFP, described below.
Implementation and Integration Guides 305
Default Dimensions
Ad
Advertiser
Creative
Zone
Site
Order
Keyvalue
If you want to use different dimensions, provide us with the log files containing the appropriate dimension IDs and
dimension names.
UserID Values
Specify whether you will be using the Audience Manager UserID or your own UserID. If you are using your own
UserID, please provide Adobe with the following information:
Sample UserID values
Field containing the UserID
Delimiters used in that field
The key used as the identifier for the UserID value
DFA
Information that you need to provide to Adobe when using DoubleClick for Advertisers and Audience Manager.
This section contains the following information:
Log File Access Information
Default Dimensions
Default Dimensions
The dimensions that Adobe uses are defined by DFA. For more information, see the DoubleClick For Advertisers
Developer site.
If you want to use different dimensions, please provide us with the appropriate DFA service, object, and field name
information for each dimension.
MediaMath
Information that you need to provide to Adobe when using MediaMath and Audience Manager.
This topic contains the following information:
Log File Access Information
Default Dimensions
UserID Values
Default Dimensions
Advertiser
Campaign
Strategy
If you want to use different dimensions, provide us with the log files containing the appropriate dimension IDs and
dimension names.
UserID Values
Specify whether you will be using the Audience Manager UserID or your own UserID. If you are using your own
UserID, please provide Adobe with the following information:
Sample UserID values
Field containing the UserID
Delimiters used in that field
The key used as the identifier for the UserID value
Implementation and Integration Guides 307
Information that you need to provide to Adobe when using 24/7 Open AdSteam and Audience Manager.
This topic contains the following information:
Log File Access Information
Default Dimensions
UserID Values
Event Type Definitions
Default Dimensions
Advertiser
Campaign
Creative
If you want to use different dimensions, provide us with the log files containing the appropriate dimension IDs and
dimension names.
UserID Values
Specify whether you will be using the Audience Manager UserID or your own UserID. If you are using your own
UserID, please provide Adobe with the following information:
Sample UserID values
Field containing the UserID
Delimiters used in that field
The key used as the identifier for the UserID value
Please provide Adobe the correct combinations of event types to impressions, clicks, and so forth.
FreeWheel
Information that you need to provide to Adobe when using FreeWheel and Audience Manager.
This topic contains the following information:
Log File Access Information
Default Dimensions
UserID Values
Default Dimensions
Advertiser
Ad
Campaign
Creative
Order
PO Number
Site
If you want to use different dimensions, provide us with the log files containing the appropriate dimension IDs and
dimension names.
UserID Values
Specify whether you will be using the Audience Manager UserID or your own UserID. If you are using your own
UserID, please provide Adobe with the following information:
Sample UserID values
Field containing the UserID
Delimiters used in that field
The key used as the identifier for the UserID value
As best practice, you should print and complete this checklist to help ensure that your setup is completed as quickly
and efficiently as possible.
Data Source Name and ID: Specify your data source name and ID:
Amazon S3 (preferred)
SFTP
Google Storage
Pixeling Creative
Metadata Delivery Mechanism: Specify your desired metadata delivery mechanism for dimensions:
Flat file
Delivery mechanism:
API
API endpoint:
API method (SOAP or REST):
API access credentials:
Throttling limit (max requests per second/minute):
API documentation:
Dimensions and Mappings: Specify the necessary dimensions and the corresponding input data field mappings:
Advertiser:
Ad:
Campaign:
Order:
Lineitem:
Site:
Strategy:
Creative
Keyval:
Placement:
Ad Server/Demand-Side-Platform
Impressions
Clicks
Conversions
Sends
Opens
Clicks
Conversions
UserID Syntax and Containing Name Field: Specify your UserID syntax and containing field name:
Time Zone:
A high-level overview of how Audience Manager exchanges information with other data providers and systems.
Real-Time: Transfers data immediately as a user visits your site. This method is also known as a synchronous
integration.
Batch (Server-to-Server): Transfers data between servers on a set schedule after a visitor has left the page. This
method is also known as an out-of-band or asynchronous integration.
Implementation and Integration Guides 311
Related Topics
A real-time server-to-server data integration rapidly synchronizes user data between Audience Manager servers
and another targeting system. In most cases, data exchange takes place within seconds or minutes, depending on
the refresh rate of the targeting system. Note, however, the targeted system determines this refresh interval, not
Audience Manager. Furthermore, the refresh rate can vary between different systems. A real-time, server-to-server
integration is the preferred integration type for data exchanges. Audience Manager uses this method whenever
targeting partners can support it.
Advantages: Lets you qualify users for segments without seeing them again on the page, in a video
player, etc.
Reduces the number of HTTP calls from the page. Fewer calls helps preserve the user
experience.
Helps with time sensitive targeting so you can take action on a qualified user quickly.
Useful when moving to a DSP for offsite targeting.
Disadvantages: Less useful for onsite targeting when you need to target the user on the same page, or the
next page, based on qualifying a user for that segment.
A server-to-server batch integration bundles data and sends it to other systems at set intervals rather than in near
real time. Data transfer intervals can range from 2 to 24 hours. Some data providers support this integration type
only. However, we've seen a general trend away from batch integrations towards real-time integration methodologies.
Advantages: Lets you qualify users for segments without seeing them again on the page, in a
video player, etc.
Useful for targeting that is not time sensitive.
Disadvantages: The synchronization interval can delay targeting against the most current data.
Real-time Calls
Real-time calls exchange data with Audience Manager immediately, as a user visits your site or takes action on the
page. With this method, targeting systems get the most updated segment qualification data and can take that
information into account during a content or ad delivery decision. Also, this process works with publisher ad servers
where we update qualified segments to a first-party cookie that is read into an ad call as key-value pairs. Currently,
Implementation and Integration Guides 312
Audience Manager uses real-time calls to integrate with Target, Adobe Auditude/Primetime, and other content
management systems.
Advantages: Lets you target the next page, content area, or ad impression based the most
recent segment qualification.
Pixel synchronization maps segments to pixels on the page. The pixel fires and transmits data when a user qualifies
for a particular segment. Pixel synchronization is a rudimentary and unreliable data transfer mechanism. Top tier
data providers and systems rarely use it.
Real-time data transfers send and receive segment IDs as a user visits or takes action on your site. Typically,
synchronous data transfers are useful when you need to qualify or segment users right away, as they navigate
through your inventory.
4. The third party returns segment information about that user to Audience Manager.
5. Audience Manager ingests segment information and makes it available for targeting.
The batch (server-to-server) data integration process follows most of the steps outlined in the real-time data transfer
process. However, instead of returning segment IDs immediately, user information is saved to our servers and
synchronized with a third-party data provider at regular intervals. The asynchronous data transfer process is useful
when:
Immediate data transfers are not required.
Collecting data to build a large pool of segmented users.
You want to reduce data discrepancies and HTTP calls from the browser.
Data Integration Steps
4. A scheduled request, usually on a daily interval, exchanges visitor segment data between Audience Manager
and your third-party data provider.
For information describing the time frames when Audience Manager processes inbound and outbound Server-to-Server
(S2S) file transfers, see How Data Delivery and File Processing Times Affect Reports.
A data file contains impression, click, or conversion data that you can import into the Audience Optimization reports.
A metadata file contains human-readable names that correspond to various report options and menu items. Format
your data and metadata files according to the specifications in this section.
Important: To use metadata files, your event calls must include all of the parameters listed in the overview
and mappings section.
Contents:
Overview
Naming Conventions for Data Files
Content Format for Data Files
Delivery Methods for Data Files
Overview
A properly named and formatted data file lets you import impression, click, or conversion data into the Audience
Optimization Reports. This is useful when working with partner who is not integrated with Audience Manager and
you want to work with their data in that report suite. This process requires separate files for impression, click, and
conversion data. Do not mix these events in a single file.
A data file must be accompanied by a metadata file. The metadata file contents match data file information to related,
human-readable labels in the report menus. For more information, see Overview and Mappings for Metadata Files.
In a file name:
The event type indicates the file contains impressions, clicks, or conversions. Create a separate file for each event
type.
An underscore separates the event type and a year-month-date timestamp.
Before uploading, compress your files using gzip and save them with the .gz file extension.
Given these requirements, name your data files based on their contents like this:
The header labels must appear in the order as shown in the table below. Impressions and clicks use the same
labels. Conversion files contain extra headers.
If you don't have data for a particular column, populate that field with a NULL object or -1.
Files must end with a version number. The current version is 1.1.
Separate file headers and contents with the non-printing ASCII 001 character. If you cannot use ASCII 001, then
separate the headers and data with a tab delimiter. As these are non-printing characters, the syntax example above
shows a pipe "|" for display purposes only.
Implementation and Integration Guides 316
Field Labels
The table below lists and describes the column headers for your data file. Headers are case-sensitive and must
appear as ordered in the table. All data types are integers (INT) unless indicated otherwise.
Label Description
Time-Stamp A UTC date and time for the impression, click, or conversion event. Use the yyyy-dd-mm
hh:mm:ss format.
User-ID Your ID for a site visitor, also known as the data provider unique user ID or DPUUID.
Event-Type Conversion type. Indicates whether a conversion is matched or not. Options include:
0: Impression
1: Click
-1: Unattributed or unknown
Label Description
Version A required version number that appears at the end of every row in an impression, click,
or conversion data file. The current version is 1.1.
Data is stored in a separate namespace for each customer in an Amazon S3 directory. The file path follows the
syntax shown below. Note, italics indicates a variable placeholder. Other elements are constants or keys and do
not change.
The following table defines each of these elements in a file delivery path.
.../log_ingestion/ This is the start of the directory storage path. You'll receive the full path when
everything is set up.
pid=AAM ID This key-value pair that contains your Audience Manager customer ID.
dpid=d_src This key-value pair contains the data source ID passed in on an event call. It
identifies the agency the data comes from and ties that data to a supporting
metadata file.
file type_yyyymmdd A file type name that indicates what sort of data it contains and a delivery
timestamp.
When you upload a file, the path will look similar to this:
.../log_ingestion/pid=1234/dpid=567/logs/impressions_20150902
Data files are processed twice daily, at 04:30 UTC and 17:30 UTC. If you miss these deadlines, your file will be
processed the next day.
To update your data, send in a file that contains all of the impressions, clicks, or conversions for a particular day. In
this case, a day is the 24-hour period from one midnight to the next. As a best practice, you may want to use UTC
time to define your day interval.
Implementation and Integration Guides 318
Next Steps
Review the requirements for naming and creating metadata files. To get started, see Overview and Mappings for
Metadata Files.
Overview
A review of metadata and how it's used. A metadata file must be accompanied by a data file. The metadata file
contents match data file information to related, human-readable labels in the report menus. For more information,
see Data Files for Audience Optimization Reports.
A metadata file contains information about other types of data. To help you understand how this works, lets review
how Audience Manager receives data. During an impression or click event, Audience Manager receives data in an
URL string known as an event call. The event call organizes information into sets of defined key-value pairs. The
values in a key-value pair contain of numeric data. The metadata file contains names and other readable information
corresponding to the ID in each key-value pair.
The metadata file is required to tie a numeric ID to a readable name. As an example, say an event call contains a
creative ID in a key-value pair like this: d_creative:1234. Without a metadata file, this creative would show up as
1234 in an options menu. However, a properly formatted metadata file can tie this creative to back to a real name
like Advertiser Creative A, which is a name you can read and recognize in a report.
First, a metadata file, and all of the parameters listed below, are required in an event call when you want to use the
Audience Optimization Reports.
Second, you need a metadata file if youre sending your own data to Audience Manager or if you want to see data
in the reports from other providers were not integrated with. For example, Audience Manager has an integration
with Googles Double-click Campaign Manager (DCM). Because of this relationship, Audience Manager can associate
IDs with names and descriptions used by the report options. Without an integration, we can still ingest data, but the
report options will show numeric IDs instead of descriptive name.
Implementation and Integration Guides 319
File Mappings
The following table lists the key-value pairs that hold data used by the Audience Optimization reports. If you need
to use a metadata file, it would contain human-readable information that corresponds to the values in these key-value
pairs. The values for these keys accept integers only (data type INT). Note, italics indicates a variable placeholder.
Other elements are constants or keys and do not change.
Important: If you're using the Audience Optimization reports, all of these values are required in the event
call.
This is the advertiser's data source ID or integration code provided when creating
a data source. See Create a Data Source.
This is the data source ID for the platform providing metadata information (e.g.,
DFA, Atlas, GBM, MediaMath, etc.).
How Event Call IDs Shape File Names, Contents, and Delivery Paths
The IDs passed in by these key-value pairs help create the metadata file name and its contents. The following
sections and illustrations demonstrate how this works. These examples build a file that contains the name of a
creative in a campaign, but other combinations are possible.
Event Call
In this example we'll create a metadata file that brings creative names in to an Audience Optimization report. To
do this, we need to extract creative, campaign, and data source IDs from an event call.
File Name
Implementation and Integration Guides 321
The file name is based on the creative, campaign, and data source IDs. In this case, compare the differences here
between the key-value data in an event call and how it's used in a file name.
In a file name:
The data source key changes to dpid from d_src.
The creative and campaign IDs represent a category rather than an actual identifier.
File Contents
In this example, the file contents reflect the creative and campaign IDs passed in on the event call. The new element
here is a readable name. Once processed, the name in this file will appear as an option in the Creative menu of an
Audience Optimization report.
File Delivery
Implementation and Integration Guides 322
After you name and add data to a file, you send it to an Amazon S3 storage directory provided by Audience Manager.
See Delivery Methods for Metadata Files and Status Updates for Metadata Files.
Syntax: yyyymmdd_parentID_childID
In the name syntax, you'll notice a parent ID variable. Don't confuse it with the parent ID used in the metadata file
contents. These 2 variables seem similar, but they represent different things:
In the file name, the parent ID corresponds to a category like "campaign" (ID 1), "placement" (ID 3), or "tactic" (ID
9), etc.
In the file body, the parent ID is the actual ID of the object that the contents belong to. For example, if your file
contains creatives that are part of a campaign, the parent ID is the actual ID of the campaigns these creatives
belong to.
Metadata File ID and Categories
In the metadata file name, the parent and child IDs are identifiers that classify the type of data in a file and place it
into a hierarchy. You can tag the parent and child elements in file name with the following category IDs:
0: No parent
1: Campaign
2: Creative
3: Placement
4: Exchange
5: Site
6: Advertiser (if using integration codes in a data source)
7: Insertion Order (IO)
8: Vertical (i.e., a specific industry or business category like "computers," "automobiles," "real estate," etc.)
9: Tactic
10: Business unit or brand
Example
Let's take a look at how you would use these IDs in a metadata file name. As an example, say your data file consists
of campaign creatives. In this case, the campaign is a parent object and the creatives are child objects because
they belong to, or are contained by, the campaign. As a result, you'd choose the following IDs for the metadata file
name:
Parent ID: 1
Child ID: 2
Your metadata file name would look like this: 20150827_1_2
Sometimes, you might have data that does not belong to a parent object. Whenever this is the case, select ID 0 for
the parent ID. In this case, your file title would look like this: 20150827_0_2.
Implementation and Integration Guides 323
Syntax
The following syntax defines the structure of well-formed contents in a metadata file. Note, italics indicates a variable
placeholder.
In the contents syntax, you'll notice a parent ID variable. Don't confuse it with the parent ID used in the metadata
file name. These 2 variables seem similar, but they represent different things. In the file name, the parent ID
corresponds to a category like "campaign" (ID 1), "placement" (ID 3), or "tactic" (ID 9), etc. In the file body:
The parent ID is the numeric ID of the object that the file contents belong to. For example, if your file contains
creatives in a campaign, this value is the campaign ID.
If your file content does not have a parent ID, then use the NULL object (i.e., the non-printing programming object)
or -1. You would use NULL or -1 when the parent ID in the file name is set to ID 0.
Separate File Entries With ASCII 001 or Tab
The non-printing ASCII 001 character is the preferred delimiter for separating contents in your file. If you cannot use
ASCII 001, then separate file contents with a tab delimiter. As these are non-printing characters, the syntax example
above shows a pipe "|" for display purposes only.
Examples
Let's take a look at how you would structure content in a metadata file. Part of this structure depends on the type of
information categorized by the parent ID the file title.
Let's say you want to populate the creative drop down menu with creative names from a particular campaign. In this
case, your metadata file name would include ID 1 (campaign) and ID 2 (creative). Following the content syntax, your
metadata file would contain the creative ID, creative name, and actual campaign ID.
//file title
20150827_1_2
Sometimes, the content in a metadata file does not have a parent object. In these cases, the:
File name parent ID is 0.
File content parent ID is the non-printing NULL object (preferred) or -1.
//file title
20150827_0_2
The following table defines each of these elements in a file delivery path.
.../log_ingestion/ This is the start of the directory storage path. You'll receive the full path when
everything is set up.
pid=AAM ID This key-value pair that contains your Audience Manager customer ID.
dpid=d_src This key-value pair contains the data source ID passed in on an event call. The
data source ID is the value that ties all the contents in your file to the actual
data it belongs to.
For example, say you have a creative with the ID 123 and the name "Advertiser
Creative A." As an event call only passes in the ID you need to include
"Advertiser Creative A" in the metadata file. The campaign and creative belong
to a data source. The data source ID is what ties these together and lets us
accurately associate file contents to an ID sent in on an event call. See How
Event Call IDs Shape File Names, Contents, and Delivery Paths.
yyyymmdd_parent ID_child ID This is the file name. See Naming Conventions for Metadata Files.
To upload a metadata file or to check its status, the file paths will look similar to these:
Upload path: /log_ingestion/pid=1234/dpid=567/meta/20150827_1_2
Processing status path: /log_ingestion/pid=1234/dpid=567/status/20150827.info.
Implementation and Integration Guides 325
To update your metadata records, just send a file that contains new information. You don't need to send full updates
each time.
//sample contents
{
"Files": [
{
"FileByteSize": 488900,
"FileChecksumMD5": "94b821082daff242e452c0d8796b08f0",
"FileName": "20141112_4_2",
"MetadataType": "Creative",
"Parent": "Site",
"Status": "SUCCESS",
"Description": ""
},
{
"FileByteSize": 58812,
"FileChecksumMD5": "db79f148e6a635629701c13a7bcc8db0",
"FileName": "20141112_0_4",
"MetadataType": "Site",
"Parent": "None",
"Status": "FAILURE",
"Description": "Invalid format."
}
],
"Summary": {
"Day": "2014-11-12",
"ProcessingTimeRFC2822": "Wed, 10 Dec 2014 21:07:58 -0000",
"ProcessingTimestampPOSIX": 1418263678,
"TotalByteSize": 547712,
"TotalNumberFiles": 2,
"NumberSuccess": 1,
"NumberFailure": 1,
"GlobalStatus": "FAILURE"
}
}
Key Description
Key Description
FileName The name of the metadata file uploaded to your meta directory.
MetadataType The human-readable name for the type of data your file
contains. It is based on the child ID in your file name.
Parent The human-readable name for the type of data your file
contains. It is based on the parent ID in your file name.
See Naming Conventions for Metadata Files.
Key Description
GlobalStatus Returns 2 text values that describe the processing status for all your
files for an entire day:
SUCCESS
FAILURE
TotalByteSize Total number of bytes for all your metadata files for the day.
Implementation and Integration Guides 327
Key Description
TotalNumberFiles Total number of all your files processed for the day.
DCS Integration
This material describes the attributes and syntax used to send data to the Audience Manager Data Collection Server
(DCS). It is intended for engineering teams that work with proprietary systems to send and receive data from the
DCS without accessing the Audience Manager user interface.
Prefixes identify the parameter passed in to the DCS as either Audience Manager or customer variable types. The
following table defines the prefixes used to identify these variables.
p_
A private parameter.
Our Data Collection Servers allow passing of private parameters. Basically, any
parameter that starts with p_ will be used for trait evaluation, but it will not be
logged downstream, nor stored.
Example: given /event?p_age=23 and a trait like YoungPeople = p_age < 25,
the trait will be realized, but the p_age=23 key-value pair will be dropped after
the request and will not be logged.
h_ h_<http header> Any HTTP header such as referer, IP, accept-language, etc.
Supported Variables
Lists the supported Audience Manager variables. In most cases, none of these are required.
Implementation and Integration Guides 328
Variable Definition
d_cb
Encloses the JSON response in a callback wrapper.
d_cid
Contains a data provider ID assigned by Audience Manager and an associated unique user
ID in a single key-value pair. d_cid replaces d_dpid and d_dpuuid, which are considered
deprecated, but still supported. See CID Replaces DPID and DPUUID.
d_cid_ic
Contains an integration code and an associated unique user ID in a single key-value pair.
d_cid_ic replaces d_dpid and d_dpuuid, which are deprecated, but still supported. See CID
Replaces DPID and DPUUID.
d_dpid
Deprecated. See d_cid and d_cid_ic.
d_dpuuid
Deprecated. See d_cid and d_cid_ic.
d_dst=1
Prompts the DCS to return destination inside the JSON response.
d_mid
Specifies the unique, persistent visitor identifier returned by the Marketing Cloud ID service.
For more information about the MID, see Cookies and the Marketing Cloud ID.
d_ptfm
Allows Audience Manager to distinguish mobile requests from desktop requests. Supported
values include:
ios
android
browser
all
d_rtbd=json
Returns a JSON response. Required only if you want to receive data from the DCS.
d_sid
The trait ID (as shown in the user interface).
d_uuid
Unique user ID. Identifies a visitor when this value is not available from a cookie.
d_zc
ZIP code: Maps to DMA traits.
Note: In key-value pairs, enclose the string values in double quotes (e.g., age="41 to 55"). For more
information, see Key-Value Pairs Explained.
Implementation and Integration Guides 329
Parameters
Input
Italics indicate a variable placeholder. You would substitute that with a real value when making an actual call.
event Defines the start of a URL string that contains attributes or variables passed in as key-value
pairs.
key A unique identifier in the key-value pair. Prefix with d_ or c_ to identify it as an Audience
Manager or customer attribute.
val A variable value that belongs to a set defined by the key in a key-value pair.
Examples
When passing in event data to the DCS, your URL string could look similar to the sample below.
Note: The request uses d_cb to encapsulate the JSON response in a wrapper.
Request
http://my_domain.n.net/event?d_stuff=1&d_dst=1&d_rtbd=json&
d_sid=123&d_sid=456&d_sid=789&c_interests=photography&c_camera=canon&
d_ld=some+data+to+log&d_cb=myCallback
Response
The URL response from the DCS could look similar to the sample response. Parameters are defined after the
example.
Note: Omit the d_cb parameter if you need a JSON response without the myCallback() wrapper.
myCallback({"dests":[ {"dt":802,"ts":999999,"y":"js","c":"
http://ad.doubleclick.net/adi/<domain>/homepage;vid=0;ugc=0;sz=300x250;;
u=cat-_scat-_sscat-_art-_dmd-E34D8B7C-5208-4411-B91F-C676F8A19D6D;tile=2;
ord=7159960932631?"}], "dpm":[],"segments":[]} {"stuff":[ {"cn":"cookie-name1",
"cv":"cookie-value1","ttl":0,"dmn":"www.my_domain.com","u":"abc123"}, {"cn":"cookie-name2",
"cookie-value2":"make=ford;audi","uuid":"abc123",
"ttl":1,"dmn":"www.my_domain.com"}]})
Response Parameters
To help you parse the response, some of the important parameters are defined as follows:
Parameter Description
c:
Non-secure URL (http).
cn:
Cookie name.
cv:
Cookie value.
Implementation and Integration Guides 330
Parameter Description
ttl:
The cookie's time-to-live value, expressed in days.
dcs_region
An ID (integer) that identifies the geographic region of the Data Collection
Server (DCS). Region IDs include:
You can also use API methods to list the latest DCS regions.
dests:
Destination traits fired from your page.
dmn:
Domain to stuff (cookie stuffing).
e:
Secure URL (https).
y:
Destination type: iframe (iframe) or image (img).
stuff:
Cookie or JS variable set on the page or domain.
ts:
Timestamp in Unix seconds (UTC).
u: and UUID:
Unique user ID assigned by Audience Manager.
tid:
The Transaction ID is a unique 12-characters string. Use it for debugging
purposes. Each /event call to the DCS receives a tid that you can
reference in support enquiries for a better and faster response.
Note: You can also extract the tid from the X-TID HTTP response
header.
Working with key-value attributes means you must specify the markers that separate values within and between
these variables. Audience Manager requires the following delimiters and separators:
key1=val1&key2=val2
key1=val1,val2,val3
The HTTP response headers contain information about the servers location, its name, and DCS version. DCS
header information is useful for troubleshooting purposes. Sample header data could look similar to these:
irl1-prod-dcs-83ef0815.edge-irl1.demdex.com master-5.2.0.20161115.204931
sae-prod-dcs-83ef0815.edge-irl1.demdex.com master-5.2.0.20161115.204931
The responses came back from the servers in Dublin, Ireland or Sao Paolo, Brazil and are running DCS version
5.2.0.
Trait Builder lets you target users according to generally accepted demographic marketing areas. This process works
when you pass in site visitor ZIP codes with the d_zc variable. When our system receives the ZIP code, it performs
a lookup to match the postal code with an associated metro code ID.You can then go into Trait Builder and construct
a trait with the d_dma variable as a key and a specific ID as the value. The table below lists the metro code IDs and
regions used by Trait Builder.
Implementation and Integration Guides 332
Note: To work with other metrics like area code, gender, latitude/longitude, etc. see the documentation on
platform level keys.
1 Abilene-Sweetwater
2 ADA-Ardmore
3 Albany, GA
4 Alpena
5 Albuquerque - Santa Fe
6 Alexandria, LA
7 Alpena
8 Amarillo
9 Anchorage
10 Atlanta
11 Augusta
12 Austin
13 Bakersfield
14 Baltimore
15 Bangor
16 Baton Rouge
18 Bend, OR
19 Billings
20 Biloxi - Gulfport
21 Binghamton
22 Birmingham
24 Boise
25 Boston
26 Bowling Green
27 Buffalo
28 Burlington - Plattsburgh
29 Butte
Implementation and Integration Guides 333
30 Casper - Riverton
33 Charleston, SC
34 Charleston - Huntington
35 Charlotte
36 Charlottesville
37 Chattanooga
39 Chicago
40 Chico - Redding
41 Cincinnati
42 Clarksburg - Weston
43 Cleveland
45 Columbia, SC
47 Columbus, GA
48 Columbus, OH
50 Corpus Christi
53 Dayton
54 Denver
56 Detroit
57 Dothan
58 Duluth - Superior
59 El Paso
60 Elmira
Implementation and Integration Guides 334
61 Erie
62 Eugene
63 Eureka
64 Evansville
65 Fairbanks
69 Fort Wayne
70 Fresno - Visalia
72 Ft. Smith
73 Gainesville
74 Glendive
77 Great Falls
82 Greenwood - Greenville
85 Harrisonburg
87 Hattiesburg - Laurel
88 Helena
89 Honolulu
90 Houston
93 Indianapolis
94 Jackson, MS
95 Jackson, TN
96 Jacksonville - Brunswick
97 Johnstown - Alatoona
98 Jonesboro
99 Joplin - Pittsburg
100 Juneau
102 Knoxville
104 Lafayette, IN
105 Lafayette, LA
107 Lansing
108 Laredo
110 Lexington
111 Lima
115 Louisville
116 Lubbock
117 Macon
118 Madison
119 Mankato
120 Marquette
122 Memphis
Implementation and Integration Guides 336
123 Meridian
125 Milwaukee
128 Missoula
132 Montgomery
133 Nashville
140 Omaha
147 Parkersburg
149 Philadelphia
150 Phoenix
151 Pittsburgh
152 Portland, OR
159 Reno
162 Rochester, NY
164 Rockford
167 Salisbury
174 Savannah
176 Shreveport
180 Spokane
181 Springfield, MO
184 Syracuse
Implementation and Integration Guides 338
188 Toledo
189 Topeka
193 Tulsa
195 Tyler
196 Utica
197 Victoria
200 Washington DC
206 Wilmington
208 Youngstown
210 Zanesville
A first time user is anyone without an Audience Manager cookie set in his or her browser. When the DCS encounters
a user for the first time it tries to determine if their browser accepts third-party cookies. To determine if a browser
accepts third-party cookies, the DCS:
Implementation and Integration Guides 339
A race condition can occur if you send multiple calls simultaneously (or in rapid succession) to the DCS before it
finishes responding to the initial queries and writing data to the users cookie. A race condition is undesirable because
it can corrupt or improperly overwrite cookie data. As a best practice, consider the following methods to help avoid
this problem:
Don't make simultaneous calls, or calls in rapid succession, to the DCS from the same user.
Wait for each response to come back before making subsequent calls.
Error Handling
Error handling is limited for invalid or poorly formed queries. An invalid request returns an HTTP 200 OK response
and no data. Also, the DCS stops processing a request, discards trait data, and returns an HTTP 200 OK response
when a user:
Opts out of tracking at the Audience Manager or partner level.
Comes from an invalid/unselected geographic region.
Disables browser cookies (either all or third-party).
For more information about the DCS, see Data Collection Components.
Implementation and Integration Guides 340
0 Unspecified error This is a catch-all error that handles events that is not covered by the
other error handlers. Troubleshooting this error is difficult. It can be
caused by a variety of unknown actions or events.
If you receive this error, try your DCS request again. Contact your
Adobe representative if the problem persists.
1 Could not find config hostname: The host name sent in the request has not been set up by our partner
hostname here provisioning team. Contact your Adobe representative if you see this
error message.
100 Could not retrieve host name An API call did not send the host HTTP header in the request.
for the request
Add host header to the call and try again. Note, most browsers and API
clients do this automatically.
101 Invalid marketing cloud id The DCS call contains an invalid Marketing Cloud ID.
passed in
Check the d_mid= key-value pair in the header string. Make sure you're
passing in the correct Marketing Cloud ID and try the request again.
102 Invalid aam id passed in The DCS call contains an invalid Audience Manager ID.
request
Check the d_uuid= key-value pair in the header string. Make sure you're
passing in the correct Audience Manager ID and try the request again.
104 All customer ids are invalid All of the customer IDs in your call are invalid. Check your IDs and try again.
171 Encountered opt out tag A customer has opted-out from receiving interest-based advertising.
for id
Implementation and Integration Guides 341
172 Blocked cookies Returned when the user's browser blocks third-party cookies.
173 Encountered trust The user has initiated an opt-out process through NAI.
relationship via NAI
199 Requests from this country Based on the IP address, the DCS blocks requests from the following
are not allowed countries:
Cuba (CU)
Iran (IR)
North Korea (KP)
Sudan (SD)
Syria (SY)
200 Cannot read traits from Returned when a user profile cannot be read from our internal storage.
profile cache for id
201 Cannot read device ids Returned when the device ID (AAM UUID) cannot be retrieved for a Profile
from profile cache for Link merge rule.
customer id
202 Cannot read related Returned when the customer ID (CID) associated to a device ID cannot be
customer for device id retrieved for a Last Authenticated merge rule from our internal storage.
203 Cannot read device cluster The linked device IDs from the same Device Graph cluster cannot be returned
for id for this device ID.
300 Invalid customer ids The customer ID is invalid (missing values for data source, missing integration
codes, invalid format for data sources, blocked customer ID, blank customer
ID, unauthorized access attempt to a data source that does not belong to the
partner).
301 Maximum number of The customer IDs associated with a cross-device data source exceed the
cross-device ids allowed number of cross-device IDs per request. The limit is currently set to
exceeded. 3.
Implementation and Integration Guides 342
302 Unauthorized customer id Returned when the customer ID data source is not owned by the current
%s Organization ID. If you do not know or have your Organization ID, see the
"Administration Page" section in Marketing Cloud Administration for information
about how to find it.
303 Blocked customer id Returned when the customer ID has been identified as malicious and has
been blacklisted.
304 Blocked datasource id Returned when the data source ID has been identified as malicious and has
been blacklisted.
306 Blocked declared device The device ID has been identified as malicious and has been blacklisted.
id
307 Blocked profile operation A read/write action has been blocked because and ID has been identified as
for placeholder for ID malicious and has been blacklisted. In the message, italics represents a
variable variable placeholder. This part of the error message can change depending
on the ID. For example:
X-Error Error codes captured by the X- header appear in the URL string like this, X-Error:
101,102.
Set up DFP as a destination and send Audience Manager segment data to that platform.
Implementation and Integration Guides 343
The amount data passed in to DFP depends on how many segments a particular user qualifies for. For example,
say you set up 100 Audience Management segments. If a site visitor qualifies for five of them, then only those five
segments get sent to DFP (not all 100).
4. If your keys use data with serialized values, select the Serialize control and specify the serial delimiter (the
character that separates the serialized values).
5. Click Save and expand the Segment Mappings section.
1. Find segments: The Segment Mappings section provides two search tools to help locate segments. To find a
segment:
Option 1: Start typing a segment name in the search field. The field updates automatically based on the text.
Click Add once you find the segment you want to use.
Option 2: Click Browse All Segments to open a window that lets you browse for segments by name or storage
location. Click Add Selected Segments when done.
2. Add Mappings: In the mappings pop, enter the segment ID in the mappings field and click Save.
3. Click Done.
DFP Setup
Modify DFP settings to work with Audience Manager segment data.
To set up DFP:
Install DIL code across your site.
Create DFP as a cookie destination in Audience Manager.
Place the get_aamCookie function at the top of the page, ideally within the <head> codeblock. The get_aamCookie
code is available here.
Modify your ad tag to call the get_aamCookie function and include the cookie name you provided when setting up
the DFP destination. For example, if you named the cookie test_cookie, then the ad tag should call get_aamCookie
and reference the cookie name. Your ad tag could look similar example below.
<a href= http://client.adserver.net/? + get_aamCookie(test_cookie) +
&etc&u= + get_aamCookie(aam_uuid)
Remember to include the u= variable. It holds the actual unique user ID (UUID) passed in during an ad call.
Set up Google Publisher Tags (GPT) as a destination to send Audience Manager segment data to DFP.
Add the AamGpt Function: The AamGpt code captures data from Audience Manager cookies and sends it to
GPT. Place the Audience Manager Code for Google Publisher Tags (AamGpt) at the top of the page or inside the
<head> codeblock.
Note: The AamGpt function is not required if you use your own code to read Audience Manager cookie data.
Send Delivery Logs to Audience Manager: If you want a segment delivery report (optional), provide Audience
Manager with a daily log that contains impression-level delivery data. The data can be in a raw format, but each
record must contain the Audience Manager UUID. Audience Manager can pick up or receive these via FTP.
The amount of data passed in to GPT depends on how many segments a particular user qualifies for. For example,
say you set up 100 Audience Management segments. If a site visitor qualifies for five of them, then only those five
segments get sent to GPT (not all 100).
Note: There are no limits to the number of key-values you can send, but the Google request URL does have
limits to the number of characters it can accept. See Setting targeting and sizes with GPT.
In Audience Manager, a destination is any other system (ad server, DSP, ad network, etc.) that you want to share
data with. Destination Builder provides the tools that let you create and manage these data delivery processes.
Audience Manager destination features are located in Manage Data > Destinations. To get started, click Add New
Destination and follow the steps below.
Basic Information
Cookie Configuration
Provide the following to complete the Configuration section (other fields are optional):
Segment Mappings
1. Find segments: The Segment Mappings section provides two search tools to help locate segments. To find a
segment:
Implementation and Integration Guides 346
Option 1: Start typing a segment name in the search field. The field updates automatically based on entered
text. Click Add once you find the segment you want to use.
Option 2: Click Browse All Segments to open a window that lets you browse for segments by name or storage
location. Click Add Selected Segments when done.
2. Add Mappings: In the mappings pop, enter the segment ID in the mappings field and click Save.
3. Click Done.
The .setTargeting method gets data from the Audience Management destination cookie and the unique user ID
cookie (aam_uuid). However, if .setTargeting gets invoked before DIL writes these cookies, or the cookies are
empty, you may see errors when the page loads. To help avoid this, wrap the .setTargeting method in an if
statement that checks for these cookies. If they're not set, this statement prevents .setTargeting from calling the
AamGpt function.
In this example, the Audience Manager destination cookie name is Sample. You set this name when you create the
destination cookie in the Audience Manager UI. DIL sets the aam_uuid cookie and the name cannot be changed.
if(typeof AamGpt.getCookie("Sample") != "undefined"){
googletag.pubads().setTargeting(AamGpt.getKey("Sample"),AamGpt.getValues("Sample"));
};
if(typeof AamGpt.getCookie("aam_uuid") != "undefined" ){
googletag.pubads().setTargeting("aamId", AamGpt.getCookie("aam_uuid"));
};
AamGpt.getKey String Returns the key in the key-value segment pair. For example, if your
key-value pair consisted of color=blue, this returns color.
AamGpt.getCookie Int Returns the Audience Manager user ID, e.g., 12345.
Note: This function is not required if you have your own code to read Audience Manager cookie data from
the UUID and destination cookies.
Implementation and Integration Guides 347
Sample Code
Place the AamGpt code at the top of the page, ideally within the <head> code block. The AamGpt code is available
below:
var AamGpt = {
strictEncode: function(str){
return encodeURIComponent(str).replace(/[!'()]/g, escape).replace(/\*/g, "%2A");
},
getCookie: function(c_name)
{
var i,x,y,c=document.cookie.split(";");
for (i=0;i<c.length;i++)
{
x=c[i].substr(0,c[i].indexOf("="));
y=c[i].substr(c[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
},
getKey: function(c_name){
var c=this.getCookie(c_name);
c=this.strictEncode(c);
if(typeof c != "undefined" && c.match(/\w+%3D/)){
var cList=c.split("%3D");
if(typeof cList[0] != "undefined" && cList[0].match(/\w+/))
{
return cList[0];
}
}
},
getValues: function(c_name){
var c=this.getCookie(c_name);
c=this.strictEncode(c);
if(typeof c != "undefined" && c.match(/\w+%3D\w+/)){
var cList=c.split("%3D");
if(typeof cList[1] != "undefined" && cList[1].match(/\w+/))
{
var vList=cList[1].split("%2C");
if(typeof vList[0] != "undefined")
{
return vList;
} else {
return null;
}
} else {
return null;
}
} else {
return null;
}
}
};
This section outlines and explains the processes related to getting started with the Audience Manager data
management platform (DMP). This section is designed to help business teams, project managers, and technology
managers understand the Audience Manager implementation process.
Implementation and Integration Guides 348
Implementation Overview
Getting started with Audience Manager can take approximately six weeks to three months, depending on your data
collection needs.
Our implementation techniques help create consultative partnership with new clients. This process is designed to:
Discover and understand your business requirements
Produce an actionable plan to address those demands
Develop custom solutions to help meet unique requirements or use cases
Ensure that your proprietary data is imported and made available in the Audience Manager
Our Partner Solutions and Account Management teams will work closely with you before, during, and after the
implementation process.
Define Phase
The define phase introduces you to our Partner Solutions project leads and begins the project management process.
This step is designed to help potential clients define and agree on project scope, understand custom requirements,
establish milestones, and set up communications.
The following table describes key activities that take place during this phase:
Provide access Establish access to shared resources and Business and technical teams
distribute log-in credentials
Status reports and project team Establish and maintain clear communication Business and technical teams
calls about plans and progress
Discovery Phase
The discovery phase is dedicated to gathering requirements, conducting research, and working toward a deeper
understanding of your business needs and data-collection strategies.
Implementation and Integration Guides 349
The following table describes key activities that take place during this phase:
Evaluate data Determine how to collect your data and the sources Business and technical teams
of that data
Discover sources of your first-party, second-party,
and third-party data
Find destinations Discover if the client sends data to other ad servers, Business teams
DSPs, networks, or exchanges
Follow-up communication Regular communication for follow-up and Business and technical teams
development purposes
During the build, test, and train phase, you will review the data collection strategy and prototype with a designated
Partner Solutions lead.
Your data collection strategy will undergo end-to-end QA testing. Partner Solutions will track discovered bugs and
coordinate problem resolutions with our systems engineers. Customer training can start in parallel with these other
efforts.
The following table describes key activities that take place during this phase:
Prepare a data collection Work with Adobe technical teams to build a Business and technical teams
strategy data-collection plan that satisfies your business
requirements
Deploy and test code Test the proposed solution in a staging environment Technical teams
and perform cross-browser testing
Verify functionality and Examine and communicate results, resolve bugs, and Technical teams
resolve bugs re-test
Implementation and Integration Guides 350
User training Provide education and understanding about Audience Business teams
Manager features, tools, and reports
During the launch, support, and optimize phase, your data-collection and prototyped implementation moves from
development to a live, production environment. Well continue training on product familiarization and strategies that
can help increase your ROI through data-driven optimization.
The following table describes key activities that take place during this phase:
Data analysis and Analyze data trends and provide recommendations for Business teams
optimization optimization
Create traits and Create real traits and segments for data collection: Business teams
segments Create real traits and segments
Discuss segment-creation strategies
Consider and review use cases
Further training Continue to build understanding and familiarity with Business teams
product features, tools, and reports
Follow-up Regularly scheduled communication to keep abreast of Business and technical teams
communications your user experience with Audience Manager
Code Implementation
Though the deployment process may seem complex, the code implementation is as simple as adding a few lines
of JavaScript adjacent to the closing </body> tag of your website.
Deployment
The Audience Manager code snippet calls Akamai to download the business rules set up previously in the user
interface. Furthermore, client browsers cache this information, which helps reduce page and server load times. Our
code and data collection methodology is designed to maintain the user experience across your inventory.
Implementation and Integration Guides 351
Participants
Partner Solutions can work directly with your technical teams to help deploy code, address final concerns, and fulfill
other requirements.
Post-Implementation Support
Our collaborative efforts don't stop with final deployment. After implementation is complete, our Account Management
team takes over.
Account managers provide continuing support and consultation services after the product implementation process
is complete. You can expect to have regular meetings with your account manager. These meetings ensure that you
get the maximum amount of use and value from Audience Manager.
Contact us here for more information and to get started with Audience Manager.
Set up a Google group to bring your DoubleClick Campaign Manager (DCM) data files into Audience Manager. The
content in this section summarizes the integration process and provides you with links to DCM resources to help
you get started.
Integration summary
DCM is Google's replacement for DoubleClick for Advertisers (DFA). Similar to DFA, DCM customers can import,
view, and work with their data in Audience Manager. But, Audience Manager cannot directly access and import your
Data Transfer and Match Table files. To import these files, the burden of effort lies with the customer. However,
the set up procedure is well documented in the DoubleClick Campaign Manager Help. Also, you can review the
steps listed below to get started.
Caution: DCM data files contain data for all your advertisers or clients. If you need to omit specific clients,
then you must edit the files before making them available to Audience Manager.
Audience Manager checks for and transfers data once each day. Data is usually available in Audience Manager
after 24-hours.
Steps
1. Create a group.
Groups control access to your DCM data. Eventually, you'll invite and add Audience Manager to this group.
2. Verify your Google Cloud Storage status.
Google Cloud Storage contains the data bucket that holds your Data Transfer and Match Tables. You'll need
to setup a bucket or make sure your new group has access to an existing data storage bucket.
3. Get a data file URL.
Work with your DCM Account Manager or Platform Solutions Consultant. They will provide you with a URL to
your data files. And, Google might change the format for bucket and file names in future releases. Again, work
with your DCM Account Manager to make sure you're using the right formats.
4. Set bucket permissions.
The Cloud Storage Manager lets you control data sharing and bucket access. Give your group read access to
the bucket that contains your Data Transfer and Match Table files.
5. Set up data sharing.
Implementation and Integration Guides 352
Shared DCM user IDs are encrypted to protect privacy. Encryption adds 2 columns to the end of your Data
Transfer file, PartnerId1 and PartnerId2. These columns contain encoded user IDs specific to each company
that receives these files. As an authorized third-party, Audience Manager can receive DCM data, but cannot
decode the IDs. However, on the Audience Manager side, we know how the encoded IDs match our IDs. This
means we can match and synchronize users with confidence and accuracy. Note, you cannot import DCM files
into Audience Manager if you're already sharing data with 2 other third-party partners.
6. Invite Audience Manager to join the group.
After you create a group and give it access to a data bucket, invite Audience Manager to join the group. Send
an invitation email to [email protected]. Be sure to include the data file URL from step 3. Our internal teams
will work with you to verify access after accepting the invitation.
Set up Open Ad Server as a destination and send Audience Manager data to that platform.
The amount data passed in to OAS depends on how many segments a particular user qualifies for. For example,
say you set up 100 Audience Management segments. If a site visitor qualifies for five of them, then only those five
segments get sent to OAS (not all 100).
1. Find segments: The Segment Mappings section provides two search tools to help locate segments. To find a
segment:
Option 1: Start typing a segment name in the search field. The field updates automatically based on the text.
Click Add once you find the segment you want to use.
Option 2: Click Browse All Segments to open a window that lets you browse for segments by name or storage
location. Click Add Selected Segments when done.
2. Add Mappings: In the mappings pop, enter the segment ID in the mappings field and click Save.
3. Click Done.
OAS Setup
Modify OAS settings to work with Audience Manager segment data.
To set up OAS
Install DIL code across your site.
Create OAS as a cookie destination in Audience Manager.
Place the get_aamCookie function at the top of the page, ideally within the <head> codeblock. The get_aamCookie
code is available here.
Modify your ad tag to call the get_aamCookie function and include the cookie name you provided when setting up
the OAS destination. For example, if you named the cookie test_cookie, then the ad tag should call get_aamCookie
and reference the cookie name. Your ad tag could look similar example below.
<a href= http://client.adserver.net/? + get_aamCookie(test_cookie) +
&etc&u= + get_aamCookie(aam_uuid)
Remember to include the u= variable. It holds the actual unique user ID (UUID) passed in during an ad call.
Implementation and Integration Guides 354
Set up OpenX as a destination and send Audience Manager segment data to that platform.
Audience Manager sends data in the form of key-value pairs. Create key-value pairs according to the following
specifications:
Preface keys with c. (e.g., c.color or c.price).
Separate serialized values attached to a single key with a comma (e.g., c.color = red, green, blue).
Separate multiple key-value pairs with an ampersand (e.g., c.color=red & c.price = 100 & c.condition =
new).
Key names should not contain special characters like accent and punctuation marks or other symbols.
The amount data passed in to OpenX depends on how many segments a particular user qualifies for. For example,
say you set up 100 Audience Management segments. If a site visitor qualifies for five of them, then only those five
segments get sent to OpenX (not all 100).
3. Click Next and move on to the Configuration and Segment Mappings sections.
1. Find segments: The Segment Mappings section provides two search tools to help locate segments. To find a
segment:
Option 1: Start typing a segment name in the search field. The field updates automatically based on the text.
Click Add once you find the segment you want to use.
Option 2: Click Browse All Segments to open a window that lets you browse for segments by name or storage
location. Click Add Selected Segments when done.
2. Add Mappings: In the mappings pop, enter the segment ID in the mappings field and click Save.
3. Click Done.
OpenX Setup
Modify OpenX settings to work with Audience Manager segment data.
To set up OpenX
Install DIL code across your site.
Create OpenX as a cookie destination in Audience Manager.
Place the get_aamCookie function at the top of the page, ideally within the <head> codeblock. The get_aamCookie
code is available here.
Modify your ad tag to call the get_aamCookie function and include the cookie name you provided when setting up
the OpenX destination. For example, if you named the cookie test_cookie, then the ad tag should call
get_aamCookie and reference the cookie name. Your ad tag could look similar example below.
<a href= http://client.adserver.net/? + get_aamCookie(test_cookie) +
&etc&xid= + get_aamCookie(aam_uuid)
Remember to include xid= . It holds the actual unique user ID (UUID) passed in during an ad call.
The Data Collection Server (DCS) is designed to receive raw data and signals about website visitors. It accepts
and returns data in sets of key-value pairs. With the right information, you can use DCS code as an API to send and
receive user data in real-time. This guide provides instructions on how to use the DCS for real-time data transfers.
Implementation and Integration Guides 356
We'll add new methods as they become available. Refer to the following sections to get started.
Get User IDs and Regions Through the Marketing Cloud ID Service
This section describes how to get started with the Marketing Cloud ID service, read the visitor cookie for the IDs
required to make real-time calls to the Data Collection Servers (DCS), and use an optional function to return the
visitor ID.
Contents:
Task Description
Check your Marketing Cloud To use the ID service you need to have a Marketing Cloud account. If you have
status a Marketing Cloud account, great!
If you're not part of the Marketing Cloud, then sign up. We'd love to have you
and there's always room for more. For instructions on how to set up an account,
see Core Services - Enabling Your Solutions.
Implementation and Integration Guides 357
Task Description
Set up the ID service The ID service consists of JavaScript code that gets put on each page you
want to use for data collection. See the ID service implementation guides for
more information.
Read the ID service cookie The ID service uses JavaScript to store the user and region ID in a cookie.You
can get the required user and region ID by reading the AMCV_###@AdobeOrg
cookie. The ### elements are placeholders. See the Cookies and the Marketing
Cloud ID for details. In the cookie, your code or app should look for these
key-value pairs:
mid=user ID: This key-value pair holds the Marketing Cloud user ID.
aamlh=region ID: This key-value pair holds the region ID (sometimes called
a location hint). See the region ID and host name table for a complete list of
regional IDs and server host names.
With this information, you can make real-time calls with the DCS API.
Return the Marketing Cloud ID The function getMarketingCloudVisitorID returns the Marketing Cloud visitor
with a function ID. It is used by customized solutions that require this information.
callback is optional. This function works without it, but returns an ID only when a visitor has a Marketing Cloud
cookie in their browser. If the visitor cookie is missing or a visitor doesn't have an ID, the function returns an empty
() object. This can happen even after the page loads and the visitor receives a new ID. To avoid this, callback
forces this function to check for a visitor ID after the code loads. Without callback, the visitor ID function won't
return an ID even if it's written to the user's browser later.
Next Steps
Once you have the user and region ID, you can start sending and receiving DCS data. To get started, see Making
DCS API Calls.
closest to site visitors. This strategy helps improve response times because your query goes directly to a data center
that contains information about that visitor. Other data centers may not have any information about a particular site
visitor. These appear near the end of the fille and store data in the form of key-value pairs.
"uuid":user ID String
"uuid":"123456789"
"dcs_region":region ID Int
"dcs_region":9
As shown in the following example, you can find the user and region IDs at the end of the file. Note, this is sample
data only. It has been truncated for brevity and JSON-formatted for clarity.Your actual log files will arrive unformatted
and will contain different information. See the UUID and the region ID at the end of the file.
{
"stuff":[
],
"ibs":[
{
"id":"269",
"ttl":10080,
"tag":"img",
"url":[
"//sync.mathtag.com/sync/img?mt_exid=10004&
mt_exuid=70208690515112302850772373915999266508&redir=
https%3A%2F%2Ffanyv88.com%3A443%2Fhttp%2Fdpm.demdex.net%2Fibs%3Adpid%3D269%26dpuuid%3D[MM_UUID]
%26ddsuuid%3d70208690515112302850772373915999266508"
]
},
{
"id":"771",
"ttl":20160,
"tag":"img",
"url":[
"//cm.g.doubleclick.net/pixel?google_nid=adobe_dmp&google_cm"
]
}
],
"dpcalls":[
{
"id":"21",
"ttl":14400,
"tag":"js",
"url":[
"//adadvisor.net/adscores/g.json?sid=9233633946"
],
"callback":{
"obj":"Targus",
"fn":"parseInfo",
"key":"targus",
"tag":"img",
"url":"//dpm.demdex.net/demdot.jpg?et:dpm|dpid:21|data:"
}
},
{
"id":"22",
"ttl":14400,
"tag":"js",
"url":[
Implementation and Integration Guides 359
"//api.bizographics.com/v1/profile.json?api_key=6332f8b7316a4d1284e9c1217a367347&callback=Demdex.parseBizo"
],
"callback":{
"obj":"Demdex",
"fn":"parseBizo",
"key":"bizographics",
"tag":"img",
"url":"//dpm.demdex.net/demdot.jpg?et:dpm|dpid:22|data:"
}
}
],
"uuid":"70208690515112302850772373915999266508",
"dcs_region":9
}
Next Steps
Once you have the user and region ID, you can start sending and receiving DCS data. To get started, see Making
DCS API Calls.
Note: Syntax and sample code may include artificial line breaks to help make long strings easier to read.
Syntax
Example
"Host:foo.demdex.net" "https://usw2.demdex.net/event?d_rtbd=json&d_jsonv=1&
d_uuid=123456789"
Request parameters
Parameter Description
domain_alias.demdex.net
This is the host header element. It contains the domain
alias assigned to your company by Audience Manager.
event
Defines the start of a URL string that contains query
parameters or data passed in as key-value pairs.
d_uuid=Audience Manager user ID This is the unique user ID key that holds the Audience
Manager user ID value in a key-value pair.
d_mid=Marketing Cloud user ID This is the unique user ID key that holds the Marketing
Cloud user ID value in a key-value pair.
3 Singapore apse.demdex.net
The DCS also supports unique variables you can add to a query. They help with formatting or hold special IDs. For
a complete list of DCS variables, see Supported Variables.
ID synchronization is the first step in the outbound, asynchronous data transfer process. In this step, Audience
Manager and the vendor compare and match IDs for their respective site visitors. For example, an Audience Manager
customer may know a user by ID 123. However, your data partner could identify this user with ID 456. The
synchronization process allows Audience Manager and a data vendor to reconcile these different IDs and identify
users in their respective systems. Once complete, Audience Manager and the third-party data provider should have
corresponding IDs for each unique user seen on our networks.
URL Syntax
URL Parameters
The URL for your inbound ID synchronization call should contain variables described in the table below.
Parameter Description
<REDIRECT_URL> An encoded URL redirect with the macro ${DD_UUID} embedded within it.
Note: Added only when the data provider initiates the call.
Implementation and Integration Guides 362
This data transfer method can send data in near real-time as users qualify for segments. Additionally, this method
can send batches of offline or onboarded data as frequently as every 24-hours.
Required Responses
By default, the recipient server must return the 200 OK code to indicate successful receipt. Other codes will be
interpreted as failures. This response is expected within 3000 milliseconds. In response to a failure, Audience
Manager will make 1 retry attempt only.
Parameters
The following table defines the elements in the returned JSON data file.
ProcessTime
DateTime Time when the request was executed.
User_DPID
Integer An ID that indicates if the file contains Android or iOS IDs. Uses the
following ID values:
Android IDs (GAID): 20914
iOS IDs (IDFA): 20915
Client_ID
String Client ID used by the system you're sending data to.
AAM_Destination_ID
Integer The ID assigned to you by your destination partner.
User_count
Integer Total number of users in the POST request.
Users
Array An array of user objects.
AAM_UUID
String The Audience Manager UUID.
DataPartner_UUID
String Data partner UUID. Leave blank if your data partner does not have a
UUID.
Implementation and Integration Guides 363
AAM_Regions Array The Audience Manager region ID where we've seen this device. For
instance, if the device had some activity in Paris (Europe), the region ID
would be [6]. Please also refer to the index of all Audience Manager region
IDs.
Segments
Array An array of segment objects.
Segment_ID
Integer The segment ID destination mapping.
Status
Integer Defines the status of a user in the segment. Accepts the following:
1: Active (default)
0: Inactive, opted-out, or unsegmented.
All partner IDs that are synced to an Audience Manager ID will receive
the "Status":"0" flag when a user is unsegmented.
DateTime
DateTime Time that a site visitor qualified for the trait.
Security
You can secure your real-time outbound data transfer process by encrypting HTTP requests with private keys or by
having Audience Manager authenticate through the OAuth 2.0 protocol.
Code Sample
{
"AAM_UUID": "0578240750487542456854736923319946899715232",
"DataPartner_UUID": "848457757347734",
"Segments": [{
"Segment_ID": "10329",
"Status": "1",
"DateTime": "Wed Jul 27 16:17:21 UTC 2016"
},
{
"Segment_ID": "23954",
"Status": "1",
"DateTime": "Wed Jul 27 16:17:21 UTC 2016"
}]
}]
}
Audience Manager requires the HTTP server-to-server requests to be digitally signed for validity. This document
describes how you can encrypt HTTP requests with private keys.
Overview
Using a private key provided by you and shared with Audience Manager, we can digitally sign the HTTP requests
that are sent between IRIS and your HTTP server. This ensures:
Authenticity: only the sender that has the private key (IRIS) can send valid HTTP(S) messages to the partner.
Message integrity: with this approach, even on HTTP, you are protected from a man in the middle attack where
the messages get distorted.
IRIS has built-in support to rotate the keys with zero downtime, as shown in the Rotating the private key section
below.
How it works
5. Based on the message body received and the private key, the partner server recalculates the signature. See the
How to calculate the signature section just below on how to achieve this.
6. Compare the signature created on the partner server (receiver) with the one received from IRIS (sender).
7. If the signatures match, then the authenticity and message integrity have been validated. Only the sender,
who has the private key, can send a valid signature (authenticity). Moreover, a man in the middle can't modify
the message and generate a new valid signature, since they don't have the private key (message integrity).
// Perform signing.
SecretKeySpec signingKey = new SecretKeySpec(key.getBytes(), algorithm);
Mac mac = Mac.getInstance(algorithm);
Implementation and Integration Guides 366
mac.init(signingKey);
byte[] result = mac.doFinal(postData.getBytes());
The RFC for the HMAC hash implementation is http://www.ietf.org/rfc/rfc2104.txt. A test site:
http://asecuritysite.com/encryption/hmac (note that you have to convert the hex encoding to base64).
For POST type destinations, the message used for signing is the REQUEST BODY. Again, headers or other request
parameters are ignored.
When publishing segments to the partner destination via a realtime server-to-server integration, Audience Manager
can be set up to authenticate using OAuth2.0 when making the requests. This presents the ability to issue
authenticated requests from Audience Manager to your endpoint.
Authentication Flow
The Adobe Audience ManagerOAuth 2.0 authentication implementation is based on the Client Credentials grant
flow and follows these steps:
2. An Audience Manager consultant sets up the destination using the information you provided.
3. Once a segment is mapped to this destination, our real-time data transfer system, IRIS, makes a POST request
to the token endpoint to exchange the credentials for a bearer token.
4. For each segment publishing request to the partner endpoint, IRIS uses the bearer token to authenticate.
Implementation and Integration Guides 367
Requirements
As an Audience Manager partner, the following endpoints are needed to receive authenticated requests:
This endpoint will accept the credentials provided at step 1 and generate a bearer token which will be used on
subsequent requests.
The endpoint must accept HTTP POST requests.
The endpoint must accept and look at the Authorization header. The value for this header will be: Basic
<credentials_provided_by_partner>.
The endpoint must look at the Content-type header and validate that its value is
application/x-www-form-urlencoded ; charset=UTF-8.
The body of the request will be grant_type=client_credentials.
Example request made by Audience Manager to the partner endpoint in order to obtain a bearer token
POST /oauth2/token HTTP/1.1
Host: api.partner.com
User-Agent: Adobe Audience Manager Iris
Authorization: Basic
zq2LOO1CcYGrODS5nXiNHpEz97eCpVHAoMF8pAgCntXAzxp5uRV7DTAE2qtPLjhMQwrEX3O6MHV4S
Content-Type: application/x-www-form-urlencoded;charset=UTF-8
Content-Length: 29
Accept-Encoding: gzip
grant_type=client_credentials
{"token_type":"bearer","access_token":"glIbBVohK8d86alDEnllPWi6IpjZvJC6kwBRuuawts6YMkw4tZkt84rEZYU2ZKHCQP3TT7PnzCQPI0yY"}
Implementation and Integration Guides 368
Audience Manager sends data to this endpoint in near real-time as users qualify for segments. Additionally, this
method can send batches of offline or onboarded data as frequently as every 12 hours.
The bearer token generated by endpoint 1 is used to issue requests to this endpoint. The Audience Manager real-time
data transfer system, IRIS, constructs a normal HTTPS request and includes an Authorization header. The value
for this header will be: Bearer <bearer token from step 1>.
{
"ProcessTime": "Wed Jul 27 16:17:42 UTC 2016",
"User_DPID": "12345",
"Client_ID": "74323",
"AAM_Destination_Id": "423",
"User_count": "2",
"Users": [{
"AAM_UUID": "19393572368547369350319949416899715727",
"DataPartner_UUID": "4250948725049857",
"Segments": [{
"Segment_ID": "14356",
"Status": "1",
"DateTime": "Wed Jul 27 16:17:22 UTC 2016"
}
]
}]
}
Important considerations
Tokens are passwords
The credentials presented by the partner and the tokens obtained by Audience Manager when authenticating using
the OAuth2.0 flow, are sensitive information and must not be shared to third parties.
SSL is required
SSL must be used In order to maintain a secure authentication process. All requests, including the ones used to
obtain and use the tokens must use HTTPS endpoints.
Describes the required fields, syntax, and conventions used to name an outbound data file.
Note: The style elements (monospaced text, italics, brackets [ ] ( ), etc.) in this document indicate code
elements and options. See Style Conventions for Code and Text Elements for more information.
Implementation and Integration Guides 369
SYNC-TYPE_DID_MASTER-DPID_[PID-ALIAS]_SYNC-MODE_TIMESTAMP[-SPLIT_NUMBER].sync[.gz]
Parameters
MASTER-DPID Data-provider or data source ID. This ID identifies the type of User ID
present in the file content. Most common User ID keys are:
SYNC-MODE Sync mode is a macro placeholder that adds a label to the file name based
on synchronization type. Synchronization types include full and incremental.
They'll appear in the file name as iter or full.
iter: Indicates an "iterative" or incremental synchronization. An
incremental file contains only new data collected since the last
synchronization..
full: Indicates a "full" synchronization. A fully synchronized file contains
old data and any new data collected since the last synchronization.
[-SPLIT_NUMBER] An integer. Identifies part of a file that's been split into multiple parts to
improve processing times. The number indicates which part of the original
file the data belongs to.
The original file will not have any split number. The first split file will start
with 1. See examples below.
Implementation and Integration Guides 370
S3_1234_20914_XYZCustomer_iter_1486140844000.sync.gz
S3_1234_20914_XYZCustomer_iter_1486140844000-1.sync.gz
S3_1234_20914_XYZCustomer_iter_1486140844000-10.sync.gz
S3_1234_20914_XYZCustomer_full_1486140844000.sync.gz
S3_1234_20914_XYZCustomer_full_1486140844000-1.sync.gz
Scenario 2: files sent over to FTP location, without PID-ALIAS and with Apple Advertiser IDs in the file content:
ftp_1234_20915_iter_1486140843000.sync.gz
ftp_1234_20915_iter_1486140843000-1.sync.gz
ftp_1234_20915_full_1486140843000.sync.gz
ftp_1234_20915_full_1486140843000-1.sync.gz
Scenario 3: Files sent over to FTP location, with PID-ALIAS="XYZCustomer" and with 3rd party User ID in the file
content (Vendor ID=45454):
ftp_1234_45454_XYZCustomer_iter_1486140843000.sync.gz
ftp_1234_45454_XYZCustomer_iter_1486140843000-1.sync.gz
ftp_1234_45454_XYZCustomer_iter_1486140843000-10.sync.gz
ftp_1234_45454_XYZCustomer_full_1486140843200.sync.gz
ftp_1234_45454_XYZCustomer_full_1486140843200-1.sync.gz
Describes the required fields, syntax, and conventions used to organize information in an outbound data file. Format
your data according to these specifications.
Implementation and Integration Guides 371
Note: The style elements (monospace text, italics, brackets [ ] ( ), etc.) in this document indicate code elements
and options. See Style Conventions for Code and Text Elements for more information.
Syntax
UUID<SPACE>SEGMENT_1,SEGMENT_2<SPACE>REMOVED_SEGMENT_1,...
Parameters
The table lists variables that define the contents of a data file.
Parameter Description
SEGMENT_N The segment ID that a visitor belongs to. Separate multiple segments with a comma.
REMOVED_SEGMENT_N The segment ID from which the user was disqualified. Separate multiple segments with
a comma. With a full synchronization, you can ignore the removed segments because
the data file will contain the complete list of current segments for the user. Usually, you
want to know about segments a user belongs to rather than those they've been removed
from. See also Outbound Data File Name: Syntax and Examples.
A properly formatted data file could look similar to the following sample. This file entry indicates a user qualifies for
segments 24, 26, and 27. As required, a space separates the UUID and segment IDs. Another space separates the
sets of segment IDs. In this example, a user belongs to segments 24, 26, and 27. They've been removed from
segments 25 and 28.
59767559181262060060278870901087098252 24,26,27 25,28
Export data from Audience Manager into your own Hadoop instance using a native binary Hadoop Sequence File
format (SEQ).
Advantages
File Name Format
File Contents: Sample Line and Parameters
Start using SEQ files
Advantages
In addition to text files, the Hadoop ecosystem provides support for Hadoop Sequence Files (SEQ). Hadoop SEQ
files are flat file structures which consist of serialized key-value pairs, in a binary format. The advantages of using
binary SEQ files over text files are:
Outbound binary Hadoop SEQ file names contain the following required and optional elements:
Note: Note: The style elements (monospace text, italics, brackets [ ] ( ), etc.) in this document indicate code
elements and options. See Style Conventions for Code and Text Elements for more information.
SYNC-TYPE_DID_MASTER-DPID_[PID-ALIAS]_SYNC-MODE_TIMESTAMP[-SPLIT_NUMBER].sync.seq
MASTER-DPID Data-provider or data source ID. This ID identifies the type of User ID
present in the file content. Most common User ID keys are:
SYNC-MODE Sync mode is a macro placeholder that adds a label to the file name based
on synchronization type. Synchronization types include full and incremental.
They'll appear in the file name as iter or full.
iter: Indicates an "iterative" or incremental synchronization. An
incremental file contains only new data collected since the last
synchronization..
full: Indicates a "full" synchronization. A fully synchronized file contains
old data and any new data collected since the last synchronization.
[-SPLIT_NUMBER] Optional. An integer. Identifies part of a file that's been split into multiple
parts to improve processing times. The number indicates which part of the
original file the data belongs to.
The original file will not have any split number. The first split file will start
with 1. See examples below.
Files sent over to Amazon S3 location, with PID-ALIAS="XYZCustomer" and with Google Advertiser IDs in the file
content.
Incremental
S3_1234_20914_XYZCustomer_iter_1486140844000.sync.seq
S3_1234_20914_XYZCustomer_iter_1486140844000-1.sync.seq
S3_1234_20914_XYZCustomer_iter_1486140844000-10.sync.seq
Full
S3_1234_20914_XYZCustomer_full_1486140844000.sync.seq
S3_1234_20914_XYZCustomer_full_1486140844000-1.sync.seq
S3_1234_20914_XYZCustomer_full_1486140844000-10.sync.seq
A properly formatted line in a SEQ file could look similar to the sample below. This file entry indicates that user
00131685864660975100567715905662003423 qualified for segments 872123, 856456 and 853789 at the time
expressed in UNIX timestamp 1491187665. The \N fields represent empty placeholders and have no significance
for the file transfer.
00131685864660975100567715905662003423 \N et:outbound \N 872123,856456,853789
00131685864660975100567715905662008143 d_mid:00131685864660975100567715905662003423 \N
\N \N \N \N \N \N \N \N \N \N 1491187665 1491187665
1491187665 \N 0 \N \\N 00131685864660975100567715905662003423 0
Transfer-control (.info) files provide metadata information about file transfers so that partners can verify that
Audience Manager handled file transfers correctly.
Audience Manager sends a transfer-control file to a partner with every file transfer. Due to the multi-thread nature
of the FTP publisher, the transfer-control file might be sent before the actual files are finished transferring.
For example, if the first file in the sequence were named: ftp_12345_67890_full_1500727351632-1.sync,
the control file would be named ftp_12345_67890_iter_1500727351632.info.
File Format
{
Files: [
{
FileByteSize: 293029329,
FileLineCount: 36893908,
FileName: "ftp_12345_67890_full_1500727351632-1.sync.gz",
FileSequenceNumber: 1,
md5: "983g634be2ad5263c6a6c4958bf61d9f"
},
{
FileByteSize: 293039238,
FileLineCount: 36895184,
FileName: "ftp_12345_67890_full_1500727351632-2.sync.gz",
FileSequenceNumber: 2,
md5: "6sn9907c8e78cfd78409622e7b55a984"
},
{
FileByteSize: 293050833,
FileLineCount: 36896787,
FileName: "ftp_12345_67890_full_1500727351632-3.sync.gz",
FileSequenceNumber: 3,
md5: "7cdfb8e74cd6cec1jy6vel21ccb4a962"
},
{
FileByteSize: 218425764,
FileLineCount: 27498226,
FileName: "ftp_12345_67890_full_1500727351632-4.sync.gz",
FileSequenceNumber: 4,
md5: "7hs53149f8a2444457g968f04cbbdee5"
}
],
Totals: {
FileName: "ftp_12345_67890_full_1500727351632.sync",
TotalByteSize: 1097545164,
TotalNumberFiles: 4,
TotalNumberLines: 138184105
}
}
Implementation and Integration Guides 375
Notes:
The batch total numbers are exclusive of the .info file itself. That is, the totals do not include the .info file, its
byte size, or its line count.
Byte sizes of files and line counts are inclusive of any header and spacer (blank) lines/rows. In order to get the count
of actual data lines/rows, subtract headers.
Total lines in batch and total byte size are inclusive of any header and space rows.
Lists the macros you can use to create outbound templates. These include file name macros, header macros, and
content macros.
Contents:
Macro Description
ASCII_SOH A non-printing ASCII character. It indicates the start of a row or a section of content. It
can also be used to separate data columns in a file.
Macro Description
Content Macros
Macros used to format the contents of a data file. For code samples, see Outbound Macro Examples.
Macro Description
This is the ID for the data partner you send data to in an outbound file.
DP_UUID_LIST Returns a list that contains multiple IDs for a data partner. This is useful if you have
a large organization with multiple subdivisions or other organizational groups you're
allowed to share data with. This macro returns a list of the IDs for those subordinate
groups.
DPUUIDS The output of this macro maps the data provider ID (DPID) to related unique user
IDs (DPUUID). This macro must have a formatting string to control its output.
Sample output would look similar to the following:
"dpids=dpid1,dpid2,...dpidn|maxMappings=n|format=json"
The maxMappings setting determines how many mappings you want the macro to
return. When maxMappings=0, this macro returns all the mappings for each specified
DPID. Data is sorted by timestamp (most recent first) and returns results with the
largest timestamp first.
if(SEGMENT_LIST && This combination of macros creates a conditional statement that lists the segments
REMOVED_SEGMENT_LIST)endif users belong to and have been removed from. It returns an empty string if both
conditions are not met or there's no data.
Macro Description
SEGMENT_LIST Returns a list of segments in a list. Accepts the following optional arguments:
segmentId: Segment ID. Deprecated. Use sid.
csegid: Customer segment ID. Deprecated. Use sid.
sid: Segment ID
type: Returns 5, a static, hardcoded value that identifies data as segment data.
alias: Deprecated. Do not use.
lastUpdateTime: A Unix time stamp that indicates the last time a segment was
realized.
Put these variables in curly brackets after the macro. For example, this code
separates results with a pipe "|" character:
<SEGMENT_LIST:{seg|<seg.type>,<seg.SID}; separator=",>
Macro Description
Put these variables in curly brackets after the macro. For example, this code
separates the results with a pipe "|" character:
TRAIT_LIST{type|traitId};separator="|"
Examples of how some of the common macros are used to create outbound file templates.
Contents:
Note: In the tables, boldface type identifies each macro with its related output. For the format examples, the
< > symbols have been added to help visually separate each macro.
Output: ftp_215_888_iter_1449756724.sync
Output: ftp_215_888_iter_1449756724.sync
Output:
Full: ftp_215_888_full_1449756724.sync
Incremental: ftp_215_888_iter_1449756724.sync
Output:
Implementation and Integration Guides 379
FTP: ftp_215_888_iter_1449756724.sync
HTTP: http_215_888_iter_1449756724.sync
S3: s3_215_888_iter_1449756724.sync
Output: ftp_215_888_iter_1449756724.sync
Output:
//First example
{"AdvertiserId":"12345", "DataCenterId": 2,
"TDID":"dfd215e4-8d6b-4fdb-90b9-fab4456f2c9d","Data":[{"Name":"4321"}]}
//Second example
{"AdvertiserId":"12345", "DataCenterId": 2,
"TDID":"9099e8fe-abab-5114-abaa-28bdaa0539ca","Data":[{"Name":"4321"},{"Name":"987","TtlInMinutes":0},
{"Name":"654","TtlInMinutes":0}]}
Note: In the first example, the macro only returns data for SEGMENT_LIST
because REMOVED_SEGMENT_LIST is empty. The second example returns data
for both macros.
SET_ATTRIBUTES Format:
<PID><TAB><UUID><TAB><DP_UUID><TAB><SET_ATTRIBUTES><TAB><OPT_OUT><TAB><SEGMENT_LIST:{seg|<seg.type>,<seg.alias>,<OUTPUT_ATTRIBUTE_VALUE>,<seg.lastUpdateTime>&}>
TRAIT_LIST Format:
<PID><TAB><DP_UUID><TAB><SET_ATTRIBUTES><TAB><TRAIT_LIST;separator=|>
DPUUID Examples
To help you understand how the DPUUID macro outputs data, lets assume we have 2 DPIDs mapped to DPUUIDs
as shown below:
DPID 1111 maps to DPUUIDs AAAA (timestamp = 1) and BBBB (timestamp = 2).
DPID 2222 maps to DPUUID CCCC.
Given these conditions, the following table enumerates some possible format strings and their output.
A general overview of how Audience Manager performs real-time data transfers with a third-party content provider.
Real-Time Data Transfers
Real-time data transfers send and receive segment IDs as a user visits or takes action on your site. Typically,
synchronous data transfers are useful when you need to qualify or segment users right away, as they navigate
through your inventory.
Third-party content providers can expect to exchange data with Audience Manager according to these technical
specifications. A real-time (synchronous) integration transfers data in near-real time as a user visits or takes actions
on your site. Technical, engineering, or development teams should use this material to help set up real-time data
transfers with Audience Manager.
Pixel-based Data Transfers
Simple pixels (that can be used to qualify users for traits) perform real-time data transfers. The Audience Manager
interface lets clients create any number of pixels on a self-service basis. Pixel strings consist of simple IDs or
key-value pairs.
To enable inbound data transfers, the vendor and client would:
Examples
http://something.demdex.net/event?d_sid=1234"
You can serialize trait IDs in an event call to help reduce HTTP traffic from the page. Append additional trait IDs to
the URL string as shown in the following example:
http://something.demdex.net/event?d_sid=1234,5678,9876,5432"
The real-time inbound data ingestion process uses a series of HTTP requests from a user's browser to pass in data
to Audience Manager.
Inbound data should be formatted as key-value pairs called signals. Typically, each signal is mapped to a segment
created or managed through the user interface or API.
You can find more information on how to set up real-time inbound data ingestion in DCS Integration.
Parameter Description
<VAL> A variable that belongs to the data set defined by the key (e.g.,
gender=male, color=green, price=100)
URL Syntax
During a real-time inbound data ingestion process, a properly formatted URL string uses the following syntax:
http://client.demdex.net/event?KEY1=VALA&KEY2=VALB&KEY3=VALC
The batch data integration process saves visitor information on our servers and synchronizes that material with data
sent by a provider at regular intervals. The asynchronous data transfer process is useful when:
Immediate data transfers are not required.
Collecting data to build a large pool of segmented users.
You want to reduce data discrepancies and HTTP calls from the browser.
Implementation and Integration Guides 384
An overview for technical and non-technical customers who want to bring data from other systems (offline) into
Audience Manager.
Advantages
You can make data from other systems available in Audience Manager. Our system can help you unlock value and
leverage user data that you've collected previously. This includes information about purchases, customer surveys,
registration data, CRM databases, etc. While each integration presents its own challenges, they all share these
common steps. Review this material to help reduce the effort required to bring your offline data online.
Implementation and Integration Guides 385
During synchronization, Audience Manager assigns unique IDs to clients and their users. These IDs are known as
the Data Provider ID (DPID) and Unique User ID (UUID), respectively. Audience Manager uses the DPID and UUID
to identify users and qualify them for traits, segments, audience groups, and for reporting. Additionally, our data
collection code (DIL) looks for these IDs to capture visitor data from your website. When this step is complete,
Audience Manager and your offline repository should contain corresponding IDs for each user record.
File names and content follow strict guidelines. You must name and organize data files according to these
specifications in this guide. See:
Amazon S3 Name and File Size Requirements for Inbound Data Files
FTP Name and File Size Requirements for Inbound Data Files
Inbound Data File Contents: Syntax, Invalid Characters, Variables, and Examples
Online Data is Available for Offline Marketing Efforts
When you bring offline data online, you can still use this information for offline campaigns. To do this, Audience
Manager exports trait and segment information to an FTP or Amazon S3 location of your choice. Contact your Partner
Solutions manager for additional information or assistance.
Environments
S3
demdex-s2s-clients
Beta FTP
sandbox-ftp-in.demdex.com
Environment
S3
demdex-s2s-clients-sandbox-us-east-1
Systems engineers, developers, or technical/implementation teams should review Real-Time Inbound Data Integration
and Batch Data Transfer Process Described. These sections provide details about transfer protocols, file content,
and file name requirements.
Third-party content providers should format and send data to Audience Manager according to these specifications.
For a list of frequently asked questions about onboarding an offline CRM database into Audience Manager, see
Inbound Customer Data Ingestion FAQ.
ID Synchronization for Inbound Data Transfers
Describes the syntax and parameters used in the initial HTTP call to synchronize user IDs between a vendor and
Audience Manager. ID synchronization can begin after you send your data taxonomy to Audience Manager.
ID synchronization is the first step in the inbound, asynchronous data transfer process. In this step, Audience Manager
and the vendor compare and match IDs for their respective site visitors. For example, an Audience Manager customer
may know a user by ID 123. However, your data partner could identify this user with ID 456. The synchronization
process allows Audience Manager and a data vendor to reconcile these different IDs and identify users in their
respective systems. Once complete, Audience Manager and your third-party partner should have corresponding
IDs for each unique user seen on our networks.
You can use the following methods to get your data into Audience Manager:
ID Synchronization HTTP Request
Declared ID Event
ID Synchronization From an Email Embedded Image
The URL for your inbound ID synchronization call should contain variables described in the table below.
Parameter Description
<VENDOR_ID>
Unique ID for the content provider (assigned by Audience Manager).
<VENDOR_UUID>
URL (Percent) Encoded representation of your Unique User ID. In addition to
encoding reserved ASCII characters, any non-ASCII characters should be percent
encoded based on the UTF-8 character encoding table.
<REDIRECT_URL>
An encoded URL redirect with the macro ${DD_UUID} embedded within it.
Note: Added only when the content provider initiates the call.
Implementation and Integration Guides 387
Declared ID Event
For more information, see Declared IDs.
Describes the required fields, syntax, and naming conventions used for file-based ID synchronization. Name and
organize your file contents according to these specifications.
Contents:
Note: The text styles (monospaced text, italics, brackets [ ] ( ), etc.) in this document indicate code elements
and options. See Style Conventions for Code and Text Elements for more information.
adobe_id_MASTERDPID_DPID[_DPID_DPID]_TIMESTAMP.sync[.SPLIT_NUMBER][.gz]
Parameter Description
MASTERDPID The master data provider ID is the parent ID of the DPIDs in the file name.
Also, the first user ID in the data file corresponds to the master ID. The
subsequent DPIDs are other identifiers that belong to the master.
Synchronization maps DPIDs in the file name to UUIDs in the file.
DPID Data provider IDs. These IDs represent entities or data sources associated
with the master DPID. Synchronization maps DPIDs in the file name to UUIDs
in the file.
The number of DPIDs in the file name must match the number of UUIDs in
the data file. For example, say your file name contains a master DPID and 3
DPIDs. Your data file must include 4 corresponding columns of UUIDs,
formatted as described in the file content section below.
timestamp
A 10-digit, UNIX timestamp in seconds. The timestamp helps make each file
name unique.
Implementation and Integration Guides 388
Parameter Description
[.SPLIT_NUMBER] An integer. Used when you split large files into multiple smaller files. This
helps improve processing times.The number indicates which part of the original
file you're sending in. See the file name examples below.
[.gz] Specifies that your file is compressed with optional gzip compression.
The following examples show properly formatted files names. Your file names could look similar.
adobe_id_111_222_333_444_1454442149.sync
adobe_id_123_898_456_1454442149.sync.1.gz
adobe_id_123_898_456_1454442149.sync.2.gz
The file contains user IDs (UUID). In each row, separate the IDs with a tab. The following example shows a properly
formatted ID file. Your contents could look similar.
abc123 def456 ghi789 xyz987
68079982765673198504052656074456196039 XYZ3017D_2kzkTOXkFYIAgwbajoqWRcqkXl-TTrj6E4njaMR38
67412682083411995725538770443620307584 XYZ3017BBR4DAFJWfM6D4Gb4lN_T5jk_f7rdEcqNs9wfnA7h70
89159024796760343733111707646026765593 XYZ3017PryPID8tzfhkEE-gE034LI-53Jde0utCYcIwd0A2OlM
66552757407517449462805881945288602094 XYZ3017QvBddD-bLJS28DPxiqUfmIBxE3_55bvQJMLwregJU2M
66184778222667870903738139438735041506 XYZ3017q9r60kuHPOca_Ek-btCN2iu1HyVaUe0rd412TzbyCMw
Implementation and Integration Guides 389
Step 1: the ID sync process will sync the DPUUIDs from DPID 12345 with the Audience Manager UUIDs in the left
column. Note that the DPID "0" in the file name represents Audience Manager UUIDs.
XYZ3017D_2kzkTOXkFYIAgwbajoqWRcqkXl-TTrj6E4njaMR38 4598060374
XYZ3017BBR4DAFJWfM6D4Gb4lN_T5jk_f7rdEcqNs9wfnA7h70 4581274262
XYZ3017PryPID8tzfhkEE-gE034LI-53Jde0utCYcIwd0A2OlM 4392434426
XYZ3017QvBddD-bLJS28DPxiqUfmIBxE3_55bvQJMLwregJU2M 2351382994
XYZ3017q9r60kuHPOca_Ek-btCN2iu1HyVaUe0rd412TzbyCMw 4601584763
Step 2: the DPUUIDs from DPID 12345 have been synced in step 1 with the Audience Manager UUIDs. What this
ID sync will do is sync the DPUUIDs from DPID 67890 with the Audience Manager UUIDs from step 1.
Any rows that end with tabs or spaces will not be processed or realized. As a rule, make sure you keep the end of
the rows clear.
Amazon S3 Name and File Size Requirements for Inbound Data Files
Describes the required fields, syntax, naming conventions and file sizes you need to follow when sending data to
Audience Manager. Set the names and sizes of your files according to these specifications when you send data to
an Audience Manager / Amazon S3 directory.
Contents:
File Name Syntax
File Name Examples
Accepted File Sizes
Note: The text styles (monospaced text, italics, brackets [ ] ( ), etc.) in this document indicate code elements
and options. See Style Conventions for Code and Text Elements for more information.
Note: Audience Manager only processes ASCII and UTF-8 encoded files.
Name Elements
AWS_directory The path to and name of your Amazon S3 bucket. Contact your Account Manager for your
S3 directory name, path, and credentials.
date=yyyy-mm-dd A timestamp (based on UTC time) of when you send the files to your S3 bucket.
DPID The Data Provider ID (DPID) is an identifier that tells Audience Manager if a data file
contains your own user IDs or Android or iOS IDs. Accepts the following options:
Data Partner ID
This is a unique ID Audience Manager assigns to your company or organization. Use this
assigned ID in a file name when sending in data that contains your own user IDs. For
example, ...ftp_dpm_21_123456789.sync tells Audience Manager that a partner with
ID 21 sent the file and it contains user IDs assigned by that partner.
Use ID 20914 as the DPID in a data file name if the file contains Android IDs. When you
use ID 20914 as the DPID, you still need to identify your company to Audience Manager.
This means the file name must use the _DPID_TARGET_DATA_OWNER parameter to hold
your company ID. For example, say you're passing in files with Android IDs and your Data
Provider ID is 21. In this case, the file name would look like
...ftp_dpm_20914_21_123456789.sync. This tells Audience Manager the file contains
Android IDs and is from a partner identified by ID 21.
Use ID 20915 as the DPID in a data file name if the file contains iOS IDs. When you use
ID 20915 as the DPID, you still need to identify your company to Audience Manager. This
means the file name must use the _DPID_TARGET_DATA_OWNER parameter to hold your
company ID. For example, say you're passing in files with Android IDs and your Data
Provider ID is 21. In this case, the file name would look like
...ftp_dpm_20915_21_123456789.sync. This tells Audience Manager the file contains
iOS IDs and is from a partner identified by ID 21.
Note: Do not mix ID types in your data files. For example, if your file name includes
the Android identifier, don't put iOS IDs or your own IDs in the data file.
_DPID_TARGET_DATA_OWNER A placeholder for an ID. For example, you could set it to your Audience Manager ID if you
set the DPID to a data source ID or an Android or iOS ID. This lets Audience Manager link
the file data back to your organization.
For example:
...ftp_dpm_33_21_1234567890.sync shows a partner with ID 21 has sent in data from
a data source that uses ID 33.
...ftp_dpm_20914_21_1234567890.sync shows a partner with ID 21 has sent in data
that contains Android IDs.
...ftp_dpm_20915_21_1234567890.sync shows a partner with ID 21 has sent in data
that contains iOS IDs.
TIMESTAMP A 10-digit, UTC UNIX timestamp in seconds. The timestamp helps make each file name
unique.
sync: Normal scenario when third-party data providers send traits on a per-user basis to
be added or removed in the Audience Manager system.
overwrite: Lets data providers send a list of traits on a per-user basis that should
overwrite all of this user's existing third-party traits for this data provider in the Audience
Manager. You do not need to include all of your users in an overwrite file. Include only
those users that you want to change.
[SPLIT_NUMBER] An integer. Used when you split large files into multiple parts to improve processing times.
The number indicates which part of the original file you're sending in.
[.gz] When sending files to Amazon S3, use gzip compression only. When compressed, these
files get the .gz extension. Do not use .zip compression.
Compressed files must be 1 GB or smaller. If your files files are larger, please talk to
Customer Care. Although Audience Manager can handle large files, we may be able to
help you reduce the size of your files and make data transfers more efficient. See File
Compression for Inbound Data Transfer Files.
s3n://<AWS_Bucket>/<partner_name>/date=2016-05-09/ftp_dpm_478_1366545717.sync.1.gz
s3n://<AWS_Bucket>/<partner_name>/date=2016-05-09/ftp_dpm_478_1366545717.sync.2.gz
s3n://<AWS_Bucket>/<partner_name>/date=2016-05-09/ftp_dpm_478_1366545717.sync
s3n://<AWS_Bucket>/<partner_name>/date=2016-05-09/ftp_dpm_478_567_1366545717.sync.gz
s3n://<AWS_Bucket>/<partner_name>/date=2016-05-09/ftp_dpm_478_1366545717.overwrite
You can download the sample file if you want additional examples. This file has been saved with the .overwrite
file extension. Open it with a simple text editor.
Compressed
200-300 MB 1 GB
Uncompressed
1 GB 5 GB
Note: The inbound data validation process will mark empty files as invalid and will not process them.
FTP Name and File Size Requirements for Inbound Data Files
Describes the required fields, syntax, naming conventions and file sizes you need to follow when sending data to
Audience Manager. Set the names and sizes of your files according to these specifications when you send data to
an Audience Manager FTP directory.
Contents:
Note: The text styles (monospaced text, italics, brackets [ ] ( ), etc.) in this document indicate code elements
and options. See Style Conventions for Code and Text Elements for more information .
ftp_dpm_DPID[_DPID_TARGET_DATA_OWNER]_TIMESTAMP(.sync|.overwrite)[.SPLIT_NUMBER][(.gz|.tar|.tgz|.zip)]
Note: Audience Manager only processes ASCII and UTF-8 encoded files.
Name Elements
DPID An lD that tells Audience Manager if a data file contains your own user IDs or Android
or iOS IDs. Accepts the following options:
Data Partner ID: This is a unique ID Audience Manager assigns to your company or
organization. Use this assigned ID in a file name when sending in data that contains
your own user IDs. For example, ...ftp_dpm_21_123456789.sync tells Audience
Manager that a partner with ID 21 sent the file and it contains user IDs assigned by
that partner.
Android IDs (GAID): Use ID 20914 in a data file name if it contains Android ID. For
example, ...ftp_dpm_20914_123456789.sync tells Audience Manager that the data
file contains Android IDs only.
iOS IDs (IDFA): Use ID 20915 in a data file name if it contains iOS IDs. For example,
...ftp_dpm_20915_123456789.sync tells Audience Manager that the data file contains
iOS IDs only.
Note: Do not mix ID types in your data files. For example, if your file name
includes the Android identifier, don't put iOS IDs or your own IDs in the data file.
_DPID_TARGET_DATA_OWNER A placeholder for an ID. For example, you could set it to your Audience Manager ID if
you set the DPID to a data source ID or an Android or iOS ID. This lets Audience
Manager link the file data back to your organization.
For example:
...ftp_dpm_33_21_1234567890.sync shows a partner with ID 21 has sent in data
from a data source that uses ID 33.
...ftp_dpm_20914_21_1234567890.sync shows a partner with ID 21 has sent in
data that contains Android IDs.
...ftp_dpm_20915_21_1234567890.sync shows a partner with ID 21 has sent in
data that contains iOS IDs.
sync: Normal scenario when third-party data providers send traits on a per-user basis
to be added or removed in the Audience Manager system.
overwrite: Lets customers and data providers send a list of traits on a per-user basis
that should overwrite all of this user's existing traits for a given data source in Audience
Manager. You do not need to include all of your users in an overwrite file. Include only
those users that you want to change. Traits that are not assigned to the target data
source will not be erased.
ftp_dpm_ The path to and name of your Audience Manager FTP directory. Contact your Account
Manager for the FTP directory and credentials.
Implementation and Integration Guides 394
[SPLIT_NUMBER] An integer. Used when you split large files into multiple parts to improve processing
times. The number indicates which part of the original file you're sending in.
TIMESTAMP A 10-digit, UTC UNIX timestamp in seconds.The timestamp helps make each file name
unique.
[(.gz | .tar | .tgz | Allowed compression options for an FTP file name. If you use one of these options,
.zip)] make sure the file name has the proper extension.
Compressed files must be 1 GB or smaller. If your files files are larger, please talk to
Customer Care. Although Audience Manager can handle large files, we may be able
to help you reduce the size of your files and make data transfers more efficient. See
File Compression for Inbound Data Transfer Files .
ftp_dpm_478_1366545717.sync.1.gz
ftp_dpm_478_1366545717.sync.2.gz
ftp_dpm_478_1366545717.sync.zip
ftp_dpm_478_1366545717.sync.tgz
ftp_dpm_478_1366545717.overwrite
Download the sample file if you need additional examples. This file is saved with the .overwrite file extension.
Open it with a simple text editor.
Compressed
200-300 MB 1 GB
Uncompressed
1 GB 5 GB
Inbound Data File Contents: Syntax, Invalid Characters, Variables, and Examples
Required fields, syntax, and rules you should follow when formatting an inbound trait data file.
Implementation and Integration Guides 395
Note: We have a limit of 200 lines we can process for each UUID sent in the inbound data file. For example,
if you send 300 lines for a UUID, the first 200 lines are kept and the additional 100 lines are discarded.
In order to successfully process files, it is mandatory to avoid the special characters below in trait IDs. See also,
Basic Information for Traits.
Commas (,)
Dashes (-)
Hyphens (-)
Equals (=)
Quote (")
Vertical bar or pipe symbol (|)
Note: We recommend that you only use numbers, letters (uppercase and lowercase and not necessarily
Latin alphabet) and the underscore (_) character in trait ID names.
Variable Description
IDFA format: IDs must be upper case and not hashed. For example,
6D92078A-8246-4BA4-AE5B-76104861E7DC
Android format: IDs must be lower case and not hashed. For example,
97987bca-ae59-4c7d-94ba-ee4f19ab8c21
Implementation and Integration Guides 396
Variable Description
TAB Separate the UUID and trait IDs with a single tab delimiter.
Note: The Trait ID can be found by using the GET method that returns details
about all your traits. For more information, see Trait API Methods.
Prefix Description
d_sid= The d_sid prefix tells our system that the ID is an Audience Manager trait ID. This is the
same ID that's shown in the user interface. You can also return trait IDs with the API GET
method. See Trait API Methods.
d_unsid= Data prefixed with d_unsid removes users from that trait. The d_unsid prefix is ignored
in an overwrite file.
The d_unsid= prefix tells our system that the ID is an Audience Manager trait ID. . This
is the same ID that's shown in the user interface. You can also return trait IDs with the
API GET method. See Trait API Methods.
ic= Trait rules let you set criteria for trait qualification. If you format a trait rule as ic ==
trait ID, you can send in traits in a simple comma formatted list.
ic == "123"
ic == "456"
ic == "789"
These traits are associated with the ic key. This lets you create a simpler trait list in the
data file. And, you do not need to include the ic prefix. As a result, the contents of your
data file could look like this:
Key-value pairs Trait data can be formatted as key-value pairs using alphanumeric strings. For example,
"age"="32" or "gender"="m".
Implementation and Integration Guides 397
With d_sid or d_unsid This data file shows a user qualified for traits 24, 26, 27 and has been removed from trait
28.
59767559181262060060278870901087098252
d_sid=24,d_sid=26,d_sid=27,d_unsid=28
With ic== These traits have been added to a trait rule with the ic prefix. As such, you can add them
to the data file separated by commas as shown. A tab separates the UUID and the trait
IDs. The ic prefix is not required in the file.
Numeric IDs
DBwFoc3dhfMNCFBh2M4F9ZkJEXMNnRDh2PXvnI1 30608,50354,50338,50352,30626
String IDs
DBwFoc3dhfMNCFBh2M4F9ZkJEXMNnRDh2PXvnI1
intent_category:52,intent_category:55
This file data uses key-value pairs to pass in data to Audience Manager.
With key-value pairs
59767559181262060060278870901087098252
gender=female,luxury_shopper=yes
Download the sample data file if you need additional examples. The download file has a .overwrite file extension.
You can open it with a simple text editor.
File Compression for Inbound Data Transfer Files
As an option, you can compress data files when sending them to Audience Manager.
Audience Manager supports the following file compression types for inbound, asynchronous data transfers:
tar (.tar)
gzip (.gz)
tar and gzip (.tgz and .tar.gz)
zip (.zip)
Audience Manager also supports uncompressed files.
Amazon S3 Compression
For delivery to Amazon S3, you must use .gz or uncompressed files. Compressed files must be 1 GB or smaller.
If the files are larger, please discuss the file and transfer process with Customer Care. Although Audience Manager
can handle very large files, there may be ways to reduce the file size or make transfer of data more efficient.
Important: Your FTP client must use binary mode to transfer compressed or encrypted files. Compressed
or encrypted files sent in ASCII mode will corrupt the data transfer file.
Best Practices
Files should be gzip compressed (and have a .gz file extension.)
The maximum compressed file size for a .gz compressed file is 1 GB.
Implementation and Integration Guides 398
Optimal split sizes, for fastest/earliest processing of your files, is approximately 1 GB uncompressed or 200-300
MB compressed.
Amazon S3 imposes its own, 5 GB file size limit on uploaded files.
File PGP Encryption for Inbound Data Types
As an option, you can encrypt data files with PGP encryption when sending them to Audience Manager.
1. Download the Audience Manager public key
(https://marketing.adobe.com/resources/help/en_US/aam/downloads/adobe_pgp.pub).
2. Import the public key to your trusted store.
For example, if you use GPG, the command could be similar to the following:
All encrypted data must use .pgp or .gpg as the file extension (e.g. ftp_dpm_100_123456789.sync.pgp
or ftp_dpm_100_123456789.overwrite.gpg).
Note: Audience Manager supports only the Advanced Encryption Standard (AES) data-encryption algorithm.
Audience Manager supports any key size.
Whenever an inbound Server-to-Server file is processed, a receipt is sent via email to partner solutions and, if
configured, to the partner.
The following example is a sample email message. The table below the message describes the various lines in the
message.
From: [email protected][[email protected]]
File name:
s3n://<bucket_name>/2013-05-17/ftp_dpm_7_901_1368806402.sync
s3n://<bucket_name>/2013-05-16/ftp_dpm_7_901_1368655202.sync
s3n://<bucket_name>/2013-05-17/ftp_dpm_7_901_1368784804.sync
Implementation and Integration Guides 399
s3n://<bucket_name>/2013-05-17/ftp_dpm_7_901_1368806403.sync
s3n://<bucket_name>/2013-05-17/ftp_dpm_7_901_1368784802.sync
s3n://<bucket_name>/2013-05-17/ftp_dpm_7_901_1368784803.sync
s3n://<bucket_name>/2013-05-17/ftp_dpm_7_901_1368806404.sync
Invalid lines: 7
Succeeded: 13938958
User without new traits: 26730823
The following table contains rows corresponding to lines in the received email message.
Line Description
File name
List of all inbound files that Adobe received for this partner that were processed together.
In the previous sample email message, the partner ID is 7 and the data owner ID is
901.
The tail number (1,2,3...) is the split number added either by the customer or by the
inbound distributor.
Records received
Total number of records Adobe received across all files. In most cases, this should be
the total number of lines in inbound files.
Invalid lines
Number of lines that did not match the expected format. These lines were not
recognizable by the inbound job.
Implementation and Integration Guides 400
Line Description
Invalid UUIDs
Number of audience management UUIDs that did not match the expected 38-digit
format. Or the audience management UUIDs are not numbers.
Records processed
Total number of records audience management processed. In most cases, this number
should be the same as "Records received."
Succeeded
Number of records resulting in data to be loaded into the system = records processed
- invalid lines - invalid UUIDs - failed UUID lookup - records without traits.
Total signals
Total number of signals for all users across all inbound files (total number of key/value
pairs in the records processed).
For full syncs, if a user has records with two different timestamps, only the newer record
is used and the older one is skipped.
This procedure requires an AdWords remarketing list, pixel code, and an Audience Manager URL destination. It is
also known as a remarketing list for search ads (RLSA) integration. Applies to paid search only.
To set up an AdWords remarketing list as an Audience Manager URL destination:
3. Remove all the image and source metadata from the pixel code.
Your edited code snippet should look similar to this:
//googleads.g.doubleclick.net/pagead/viewthroughconversion/xxxxxxxx/?
value=0&guid=ON&script=0
6. Click Save.
Note: If you're working with multiple segments, get a new pixel for each segment you want to map to an
AdWords destination. This ensures the data is applied to the appropriate remarketing list.
Guides to help you integrate Adobe Marketing Cloud solutions with Audience Manager.
DIL is a self-contained code module that helps you collect data from Analytics and send that information to Audience
Manager. You can set up DIL through Tag management or by direct placement within the source code of a website.
Data Collection with DIL
DIL reads the data contained in the Analytics s_code.js file and sends that information to Audience Manager through
a separate data call.
Data Collection Overview
This method uses Tag management to set up an Audience Manager - Analytics data integration. However, you can
set up s_code.js and DIL independently of Tag management, but the data collection process works the same way.
Data collection/integration works as follows:
Appends c_ to the Props, eVars, and event variables, which marks them as user-defined variables in Audience
Manager.
Makes a separate HTTP call that passes in Analytics data to Audience Manager.
Implementation and Integration Guides 403
Note: Always make sure your DIL code appears on the page before the Analytics s.t() function.
The separate HTTP calls sent by Analytics and DIL could look similar to the following:
Analytics http://...107.net?c30=foo&v35=bar&events=event10
Audience Manager turns Analytics Props, eVars, and events into traits.
Analytics Props, eVars, and events work like traits in Audience Management. Traits are expressed as key-value
pairs and are used to build segments. For example, in an Analytics prop like prop35=foo, prop35 is the key (a
constant) and foo is the value (a variable).
To use the Analytics data passed in by DIL, you should create Audience Management traits that have:
The same names as their Analytics equivalents.
A key value prefixed with c_.
Audience Manager accepts Analytics Props, eVars, and events even without a corresponding trait. In this case, the
data is unavailable for trait creation and appears in the Unused Signals report instead. To make the most of this
information, create Audience Manager traits that match the Analytics data passed in by DIL.
Integration Methods
Note: Always place your DIL code on the page before the Analytics s.t() function.
Bring Analytics data into Audience Manager by serving DIL and s_code.js through Tag management. This is the
preferred data integration method.
Prerequisites
To use this method you must:
Implementation and Integration Guides 404
Configuration Steps
1. Create a new Tag management container. See the Tag management quick start documentation if you need help
with this step.
2. Find the Tag management container you want to work with and click Edit.
3. Select the Add Product or Code dropdown and choose JavaScript from the menu.
This opens the Create Partner Tag pop. Provide a description and click Add Tag.
4. Paste your customized DIL code into the text field and click Save and Deploy.
5. Check the source code on your site to make sure DIL gets placed before the Analytics s.t() function.
Bring Analytics data into Audience Manager by loading DIL through Tag management when the s_code file is already
set up on your site.
Prerequisites
Configuration Steps
1. Create and save a new Tag management container. Review the quick start documentation for Tag management
if you need help with this step.
2. In the container list, click the container name to open theContainer Environment Overview.
3. In the Container Environment Overview, find the Setup section and click Download JS Loader to download
the s_code.js file.
Change the name to atm_code.js and save it to your computer.
4. Open atm_code.js in a text editor. Insert s.tagContainerSynchronous=trueafter the line s.tagContainerDC="
" and save the changes.
Your modified file could look similar to this:
/* Adobe Tag Container Loader version: 1.0.7
Copyright 1996-2012 Adobe, Inc. All Rights Reserved
var s=new TagContainerLoader()
s.tagContainerDC="d2"
s.tagContainerSynchronous=true
s.tagContainerNamespace="demdex"
s.tagContainerName="Newcontainer"
s.loadTagContainer()
<script type="text/javascript">//<![CDATA[
if(s){
s.pageName = ""
s.server = ""
s.channel = ""
s.t()
}
//]]></script>
<!-- End Adobe Digital Marketing Suite Tag Management code -->
8. Remove the s.t( ) call from your page and traffic the modified page code after the s_code.js on all pages
where you want to collect or action data with Audience Manager.
9. In Tag management, select the container you want to work with and click Edit.
10. Expand the Custom Core Javascript section, paste in your customized DIL code, click Save and Deploy.
Use Profiles and Audiences to send data directly from Adobe Analytics to Audience Manager rather than using the
Data Integration Library (DIL).
See Profiles and Audiences for more information.
1. Contact your Audience Manager consultant to have Profiles and Audiences enabled for your account.
2. Download AppMeasurement from Analytics Code Manager. Requires version 1.4 or later.
3. Update your AppMeasurement code to the version that is included in the download zip.
4. Copy all of the code from AppMeasurement_Module_AudienceManagement.js (included in the download
zip) and paste it just above the DO NOT ALTER ANYTHING BELOW THIS LINE" section (see Example
AppMeasurement.js Code for an example of where to place module code).
5. Update the following code and paste in the Module section of AppMeasurement.js. For more information, see
DIL create.
s.loadModule("AudienceManagement");
s.AudienceManagement.setup({
"partner":"partner name",
"containerNSID":0,
"disableDefaultRequest": true,
"disableScriptAttachment": true
});
Request Types
Data is sent for page views, tracked links and video views (both milestone and heartbeat) that are tracked by your
Analytics implementation. Many of the variables use a special prefix to identify the type of data they contain. For
more information about these variable prefixes, see Prefix Requirements for Key Variables.
Data Sent
d_rs Set to the report suites(s) passed in with the hit to Analytics.
d_dst Set to 1 if the request to Analytics is expecting content about the destination to be
sent back to the client.
Implementation and Integration Guides 406
Host Set to the client specific DCS hostname specified in the Analytics host config
(PARTNER.demdex.net).
X-Original-User-Agent Only set if an alternate user agent was specified by one of these headers: *
X-Device-User-Agent\
X-Original-User-Agent\
X-OperaMini-Phone-UA\
X-Skyfire-Phone\
X-Bolt-Phone-UA\
X-Forwarded-For Set to the IP address of the requesting client. Analytics will have already parsed the
incoming X-Forwarded-For header and determined the correct IP address to use.
Referer Set to the page URL passed in to Analytics or gathered from the Referer header
passed in to Analytics.
Signal Description
c_pageURL The address of the page in the address bar of the browser
Signal Description
c_events s.events
dd/mm/yyyy hh:mm:ss W TZ
Signal Description
c_channel s.channel
c_campaign s.campaign
c_contextData.* Example:
AppMeasurement: s.contextData["category"] = "news";
Signal: c_contextData.category=news
As part of the Adobe Marketing Cloud, Audience Manager consolidates audience information from all available
sources. It identifies, quantifies, and optimizes high-value target audiences, which can then be offered to advertisers
via an integrated, secure, privacy-friendly management system that works across all advertising distribution platforms.
Adobe Experience Manager (AEM) provides a complete suite of applications for the Web Experience Management
(WEM) of organizations.
For detailed, step-by-step instructions about integrating Audience Management and Experience Manager, see the
Integrating with Adobe Audience Manager guide.
Describes benefits and requirements of an Audience Manager and Target data integration
Audience Manager User Profile Data in Target
Data integration lets you use Audience Manager data in Target to help improve rules-based content delivery. The
advantages of bringing Audience Manager segment data into Target include:
Access to other third-party data (useful when you're limited to your own, first-party data).
Working with continually updated user profile data (internal Audience Manager synchronization processes help
keep user profiles current).
Access to profile data older than 14 days.
Creating customized user experiences based on first- and third-party data.
Cross-domain visitor targeting.
Requirements
You must be an Audience Manager and Adobe Target customer to perform this data integration.
A general overview of how the Audience Manager and Adobe Target data integration process works.
At a high level, Audience Manager sends data to Target as described below:
Note: You do not need to update the mboxes in the <body> section of your page. Edit the mbox.js file
instead.
4. Target evaluates this data against existing rules and returns appropriate content.
Implementation and Integration Guides 410
Follow these procedures to bring Audience Manager data into Adobe Target.
The data integration process uses the available features in Audience Manager and Target. Other steps require code
changes to the Targetmbox.js file.
Adobe Target Add the plug-in code and the API call to your mbox.js file.
Create profiles and campaigns that use Audience Manager data.
In Audience Manager, a destination is any other system (ad server, DSP, ad network, exchange, etc.) that you want
to share data with. Audience Manager destination features are located in Manage Data > Destinations. To get
started, click Add New Destination and follow the steps below.
1. Find segments: The Segment Mappings section provides two different tools that help you find segments. To
search for a segment:
Option 1: Start typing a segment name in the search field. The field updates automatically based on the segment
name. Click Add after you find the segment you want to use.
Option 2: Click Browse All Segments to open a window that lets you browse for segments by name or storage
location. Click Add Selected Segments when done.
2. Add Mappings: In the mappings pop, enter the segment ID in the mappings field and click Save.
3. Click Done.
Target Set Up
Create an Adobe Target campaign and add integration code to your website.
<head> Put the mbox.js file in the header. Include the plug-in code and API call. See Edit
the Target mbox.js File.
Add the integration plug-in to your mbox.js file. This code lets Target work with Audience Manager segment data.
Obtain the plug-in code from your Adobe account consultant.
Prerequisite: In Audience Manager, create cookie-based destination for Target.
3. Directly after the plug-in code in the previous step, paste the API call into the Extra JavaScript field, then click
Save.
The API call captures data from Audience Manager. Obtain a customized API call from your Target or Audience
Manager consultant.
4. Download the modified mbox.js file and save it to your host files or server.
The following parameters are used in the API call to Audience Manager:
Parameter Description
dpm.demdex.net/event? The event call to the Audience Manager Data Collection Server (DCS).
Implementation and Integration Guides 413
Parameter Description
d_stuff=1 Defines an array returned by the DCS that contains Audience Manager data you
can use in Target.
d_cb=<aam_tnt_cb> Invokes the name of the code module that parses the array of JSON objects
returned by Audience Manager. This makes Audience Manager data available
in Target.
Sample Response
In the response, the Audience Manager DCS returns a JSON response to the page. The stuff section contains
data that you can use in Target to create a new offer or experience. In this example, the JSON response contains
a key-value pair make=ford.
tnt_dmdx_data({"dests":[],"dpm":[],"traits":[1234],"segments":[8404],
"stuff":[{"cn":"tnt","cv":"make=ford",ttl":30,"dmn":""}],
"uuid":"123456789987654321123456789"})
Server-side forwarding is designed for customers who use Analytics and Audience Manager. Server-side forwarding
lets you remove DIL (Audience Manager's data collection code) and replace it with the Audience Management
Module. When added to your AppMeasurement code, this module lets your Analytics implementation collect and
send data to Audience Manager via server-side data transfers.
Contents:
Advantages
Order of Operations
Next Steps
Advantages
Server-side forwarding improves upon DIL data collection because it:
Reduces calls from the page. Removing DIL eliminates an Audience Manager/event call. Fewer calls helps improve
page load times, which makes for a better customer experience on your site.
Lets you take advantage of new and upcoming Marketing Cloud features.
Conforms with our best practices for Audience Manager code implementation and deployment.
Tip: Current Audience Manager customers who use Analytics should migrate to server-side forwarding. New
customers should implement server-side forwarding (instead of DIL) as the default data collection and transfer
method.
Implementation and Integration Guides 414
Order of Operations
Server-side forwarding requires planning and coordination. It involves external changes to your site code and internal
steps that Adobe must take to provision your account. In fact, many of these migration procedures need to happen
in parallel and get released together. Your migration path to server-side forwarding should follow this sequence of
events:
1. Work with your Analytics and Audience Manager contacts to plan a migration to the Marketing Cloud ID service.
Two important components of your implementation strategy should include server-side forwarding and choosing
a tracking server.
2. Get provisioned for Profiles & Audiences. Visit the integrations and provisioning site to get started.
3. Implement the ID service and the Audience Management Module simultaneously.To work properly, the Audience
Management Module (server-side forwarding) and the ID service must be released for the same set of pages
and at the same time. See the requirements and the implementation steps in the following section.
Next Steps
Work with your Analytics and Audience Manager consultants to get started. Also, review the following requirements,
procedures, and code samples.
Solution Requirements
Service Requirements
Code Version Requirements
Tip: Refer to the order of operations for the sequence of service and code changes you should follow when
migrating to server-side forwarding.
Solution Requirements
Server-side forwarding works with Analytics and Audience Manager.
Service Requirements
Server-side forwarding requires the Marketing Cloud services listed in the following table:
Service Description
Profiles & Audiences Profiles & Audiences works in conjunction with the Marketing Cloud ID service to
enable server-side forwarding. You need to be provisioned for Profiles &
Audiencesand deploy the ID service before server-side forwarding will work.
To get started with Profiles & Audiences, complete the Marketing Cloud Integrations
Provisioning form. The form contains important provisioning and implementation
information. Review that information carefully before submitting the form.
Implementation and Integration Guides 415
Service Description
Important: List the tracking servers you want to use for server-side forwarding
in the implementation form.
Marketing Cloud ID Service The Marketing Cloud ID service provides a universal ID that identifies site visitors
across all the solutions in the Marketing Cloud. You need to be provisioned for
Profiles & Audiences and deploy the ID service before server-side forwarding will
work.
Any tool that monitors the HTTP requests made by a browser can show you the version number for your
AppMeasurement and Visitor API code. The AppMeasurement_Module_AudienceManagement.js does not contain
or return a version ID. The following examples show you what the version IDs for look like for AppMeasurement.js
and VisitorAPI.js code.
AppMeasurement.js: Adobe Debugger returns the AppMeasurement version like this: Version of Code |
JS-1.5.1. Other tools may use a different label, but the value always follows the pattern JS-X.X.X, where X is a
version number.
VisitorAPI.js: Look for the d_visid_ver parameter. It will show you the Visitor ID service like this: d_visid_ver:
1.5.5.
Attention: Visitor API code older than version 1.5.2 did not include a version number. You're probably using
an older code library (and need to upgrade) if your monitoring results do not return a version number. See the
implementation steps for information about how to get the latest VisitorAPI.js file.
Important:
Read the requirements before you begin.
Configure and test this code in a development environment before implementing it in production.
This procedure is for customers who already use Analytics and Audience Manager and may or may not be
enabled for Profiles & Audiences.
Implementation and Integration Guides 416
Important: List the tracking servers you want to use for server-side forwarding in the implementation form.
Your edited AppMeasurement file should look similar to the sample code below. The Audience Management code
has been shortened for brevity.
//Load the Audience Management module
s.loadModule("AudienceManagement");
/*
============== DO NOT ALTER ANYTHING BELOW THIS LINE ! ==============
Version and copyright section
*/
1. Find the DIL code in your AppMeasurement.js file (it's usually in the doPlugins section).
2. Comment out the DIL code and replace it with the Audience Management Module as shown in the example
below.
3. Save your changes.
Your edited AppMeasurement file should look similar to the sample code below. In the sample code, some values
have been replaced with plan-text descriptions or placeholders.
function s_doPlugins(s) {
/*var vidObj = {
if(s.eVar1){
vidDil.api.aamIdSync({
dpid: '54321',
dpuuid: s.eVar1,
minutesToLive: 20160
});
}
*/
s.AudienceManagement.setup({
"partner":"partner name here",
"containerNSID":0,
"uuidCookie": { //optional if you want to set the UUID in the first-party domain
"name":"aam_uuid",
"days": 30
}
});
}
s.doPlugins=s_doPlugins
1. Find the Audience Manager ID sync code in your AppMeasurement.js file. It should look similar to this:
vidDil.api.aamIdSync({
dpid: '12345',
dpuuid: '12345abcd',
minutesToLive: 20160
});
2. Replace the Audience Manager ID sync code with the ID service sync function as shown below. In this new
function, an integration code replaces the DPID. An integration code is an identifier you apply to an Audience
Manager data source. See also, Customer IDs and Authentication States.
Visitor.setCustomerIDs({
"my_integration_code_here":{ //You must use an integration code instead of a DPID
"id": '12345abcd',
"authState": Visitor.AuthState.AUTHENTICATED
Recommended Tools
Checking the Status of Server-Side Forwarding in Charles
Other Structure and Request Elements
Implementation and Integration Guides 419
Recommended Tools
The Charles HTTP proxy is a great tool to use when you want to check if server-side forwarding is working properly.
The examples in this section are based on the results returned by Charles. Feel free to use whatever tool or debugger
works best for you.
1. Start Charles.
2. Load a test page that contains updated AppMeasurement code.
3. In Charles, expand the file path from the tracking server to the actual script call.
4. Click the script call to select it.
5. Click the Response tab. If the response contains Audience Manager data, then server-side forwarding is working.
Your response could look similar to the example below. Prior to server-side forwarding, the response would return
2 X 2 as text.
Element Description
Element Description
If you expand this call, some important elements to look for include:
The id folder. This contains the ID service request call made for a new visitor. This
call is a very long string similar to the following:
rd?d_rtb=json&d_ver=2&d_verify=1&d_orgid=Organization ID here...
The Inbound Synchronization (IBS) call. This is an ID sync. Yours may look similar
to this: ibs:dpid=1234&dpuuid=98765 (1x1).
Folder 10 As shown in the image above, this is a subdirectory of your Analytics report suite folder.
It is used instead of folder 1 after you implement server-side forwarding.
The following request elements indicate that server-side forwarding is working (click the Request tab in Charles):
A query string parameter in the Analytics request (e.g., callback | s_c_il[1].AudienceManagement.passData).
A Marketing Cloud ID (e.g., mid | 1234567890987654321).
For an example of an unsuccessful server-side response, see How to Determine if Your Account is not Ready to
Receive Forwarded Data.
Recommended Tools
Checking the Status of Server-Side Forwarding in Charles
Fix a Successful Failure
Recommended Tools
The Charles HTTP proxy is a great tool to use when you want to check if server-side forwarding is working properly.
The examples in this section are based on the results retuned by Charles. Feel free to use whatever tool or debugger
works best for you.
1. Start Charles.
2. Load a test page that contains updated AppMeasurement code.
3. In Charles, expand the file path from the tracking server to the actual script call.
4. Click the script call to select it.
Implementation and Integration Guides 421
5. Click the Response tab. If the response contains the key-value pair "status":"SUCCESS" then server-side
forwarding is not working. This status indicates that your tracking server has not been properly configured on
internal Adobe systems.
Troubleshooting server-side forwarding is also a challenge because failed and successful implementations return
similar data. This includes data such as:
The structure (folder path) of the tracking server call.
Folder name constants: b, ss, 10, and JS-version number here.
A script call to Analytics in the JS folder.
Request elements (click the Request tab in Charles). These include:
A query string parameter in the Analytics request (e.g., callback | s_c_il[1].AudienceManagement.passData).
A Marketing Cloud ID (e.g., mid | 1234567890987654321).
Remember: Always check for "status":"SUCCESS" in the response. That tells you server-side forwarding
is not working even if the file structure and request data are accurate.
To fix this problem, contact client care and ask them to check the tracking servers associated the Profiles &
Audiences settings for your account. Let client care know you're seeing the "status":"SUCCESS" message. They
will check our internal systems to make sure your tracking server is configured properly. When this problem is
resolved, the Audience Manager response will contain data passed by an Analytics call.
Implementation and Integration Guides 422
For an example of a successful server-side response, see How to Determine if Your Account is Ready to Receive
Forwarded Data.
Reference 423
Reference
Contains technical documentation about system functionality, data integration, and help files.
Amazon Simple Storage Service (Amazon S3) on the Amazon Web Services website.
Get Started with Amazon Simple Storage Service on the AWS Documentation website.
Create High Value Segments and Improve Reach with Look-alike Modeling
The Models documentation contains details about the Audience Manager algorithmic modeling process.
Leverage site behavior, offline data, Identify new audiences with Identify customers who make
third-party data, campaign metrics behaviors and profiles that mirror expensive purchases.
to create valuable audience profiles. the original audience. Run an Audience Manager
Model those segments against other Search against your own data and look-alike model to identify the most
data sources to increase reach. other third-party data that you have influential audience members in that
access to. This helps you find and segment.
identify the most influential data Target those segments to improve
points for high-value audience current display advertising or
profiles. through on-site personalization via
Test&Target.
Include the new data in future
display campaigns through
Test&Target.
Retarget visitors on advertiser or Align analytics data points with Create a "Vacations - Searchers No
partner sites through a DSP to display advertising. Conversion" segment.
increase ad targeting effectiveness.
Reduction in wasted impressions Add a rule to exclude recent
(don't show impressions to current converters.
customers). Retarget through a DSP with a
special offer and subsequent on-site
personalization.
Continue to show required content
through Test&Target.
Offer customers special rates based Improve offer management and Import partner data segments,
on segment data from business conversion rates by taking combine them with your own, and
partners. advantage of data from strategic offer relevant experiences with
partners. Test&Target.
Reference 425
For in-segment customers, reinforce Break down organization and data Increase the scale of email
this special offer through email silos with systems designed to marketing initiatives or DSP
marketing. manage and optimize cross-channel campaign alignment.
marketing initiatives.
Integrate your separate data sets in Leverage Audience Manager's In Audience Manager, create a
Audience Manager to help manage integration capabilities to support segment for Fall vacation travelers.
customer offers based on seasonal the use of offline data. In Test&Target, create a campaign
or other purchasing behavior.
Increase conversion rates and to offer airline points for seasonal
loyalty by offering customers purchases.
relevant creative experiences. Use Analytics to track customer
activity through the conversion
funnel. If a customer does not
convert, retarget with email
marketing.
Run Email Marketing with On-Site Behavioral and Current Customer Data
Use Analytics search behavior to Align analytics data with marketing Create a "Purchase Intenders - No
target email marketing messages. initiatives. Conversion" segment.
Combine Analytics data with Target that segment with related
customer data. emails.
Improve collaborative offer Continue to offer content on-site
management. through Test&Target.
Tailor the Visitor's Purchase Path with Current Customer and Third-party Data
Take advantage of existing and Personalized customer experience In Audience Manager, ingest
third-party visitor data to optimize and helps increase conversion rates. third-party segment data targeted to
personalize a customer's digital Presenting the right products, offers, small business owners.
experience. and creative experiences can drive In Test&Target, create an on-site
purchase activity and improve campaign that offers small business
customer engagement or loyalty. owners targeted messages and
offers.
Track performance with Audience
Manager reports.
Reference 426
Create and manage a single Single point of management for Work with first-party data in
first-party data taxonomy for first-party data. Analytics to create a travel
distribution across monetization Align Analytics data with audience enthusiasts segment.
platforms. segments. Target and monetize that segment
off-site through demand and
sell-side platforms and trading
desks.
Create a single audience repository Discover audiences, run smarter ad Empower your Ad Sales Research
that provides you with an overview of or sales campaigns, and manage team to monetize publisher audience
all your users and data points. This customer insight. profiles, highlight "Do it yourself"
includes information like site behavior Aggregate related customer insights enthusiasts as relevant for a
(potentially from Analytics), display across all your channels. forthcoming Home Depot campaign.
impressions, offline registration
databases, CRM databases, video
consumption, email initiatives and
promotions.
Extract maximum value from Enhance revenue by monetizing Aggregate a first-party segment of
first-party data to create actionable audiences instead of content. "Tech Geeks" across a network of
audience segments, package them, properties.
and sell these segments to Include technical email newsletter
advertisers looking for specific registrants.
audiences. Monetize "Tech Geeks" as a
premium product on the digital rate
card for relevant advertisers.
Present specific content to the user Audience Manager's real-time Analytics provides first-party data
to help: analysis helps improve audience about audience interest in travel
recognition, which enhances the content. Create a segment called
Increase segment size, page views,
on-site experience by delivering "Travel Enthusiasts" based on this
and impressions.
relevant, personalized content. information.
Create a more relevant experience
for that site visitor. This gives you the opportunity to add Integrate Audience Manager with a
content personalization as a line item system like Adobe CQ to manage
to your premium audience products. content personalization campaigns.
Target the travel segment to an
airline, hotel, or hospitality advertiser
to help improve ad revenue
generated by your inventory.
This use case works with first-party, Analytics data sent to a demand-side platform (DSP).
Extend audience-targeted buys to Align analytics data points with on-site Create an "Income Tax
off-site inventory sources through a and off-site display advertising and Researchers" segment.
DSP. monetize audience inventory in Align on-side ad campaign sold to
'sold-out' situations. Turbo Tax with an off-site reach
extension campaign through a DSP
such as Adobe Media Optimizer.
Create High Value Segments and Improve Reach with Look-alike Modeling
The Models documentation contains details about Audience Manager's algorithmic modeling process.
Leverage site behavior, offline data, Identify new audiences with Identify "Xbox gamers" in your
third-party data, campaign metrics behaviors and profiles that mirror customer database.
to create valuable audience profiles. the original audience. Run a look-alike model to find and
Model those segments against other Search against your own data and identify the most influential users in
data sources to increase reach. other third-party data that you have that segment.
access to. This helps you find and Target those segments to optimize
identify the most influential data on-site display advertising with
points for high-value audience Test&Target.
profiles.
Combine first and third-party data to Improved monetization for digital Answer demo-targeted RFPs with
create more relevant, actionable ads. ready-made, third-party audience
audience segments. Identify the most valuable first-party segments aligned with your
Package and sell enhanced data and improve that information first-party data.
segments to advertisers looking for with complimentary third-party data. Provide recommendations to the
specific demographics like age, advertiser based on the historical
gender, income, etc. segment performance.
Create the right kinds segments for
ad sales for any campaign strategy.
Beta Environment
The beta environment is for testing your Audience Manager implementation. Changes made in beta do not affect
production data. Contact your Audience Manager Partner Solutions representative if you're interested in using the
beta environment.
Update Schedule
The beta environment is updated at the end of each month during off-peak hours.
Endpoints
Service URL/Hostname
FTP sandbox-ftp-in.demdex.com
DCS https://dcs-beta.demdex.net/...
UI https://bank-beta.demdex.com
API https://api-beta.demdex.com/...
Note: The FTP is used for both inbound and outbound traffic, there is no dedicated FTP for outbound data.
Run the dig command to determine the IP address of the nearest load balancer. The dig command queries the
Domain Name System and returns the name and IP addresses of the Audience Manager Data Collection Servers
(DCS).
dig dcs-beta.demdex.net
...
dcs-sandbox-1754093861.us-east-1.elb.amazonaws.com. 60 IN A 52.87.15.51
dcs-sandbox-1754093861.us-east-1.elb.amazonaws.com. 60 IN A 50.16.150.8
dcs-sandbox-1754093861.us-east-1.elb.amazonaws.com. 60 IN A 52.2.228.100
2. Using one of the addresses in the above table, add a static DNS entry in the /etc/hosts file.
Reference 429
For example:
52.87.15.51 samplepartner.demdex.net
Note: The addresses change occasionally, so you must keep your /etc/hosts file up to date.
Additionally, if you need to set up ID synchronization, you must add a similar entry for dpm.demdex.net.
52.87.15.51 dpm.demdex.net .
3. Make a DCS call, using the curl command. Curl is a tool to transfer data from or to a server, using one of many
supported protocols.
For example:
https://<domain>/event?product=camera
4. Verify that your request was served by the beta DCS by looking for "sandbox" in the DCS response header.
For example:
curl -v http://dcs-beta.demdex.net/?event
[...]
< DCS: va6-sandbox-dcs-3.sandbox.demdex.com <release_number>
[...]
This article explains how the Audience Manager trait and segment tools use the Boolean expressions AND, OR,
and NOT.
Boolean Expressions
Boolean logic is a branch of algebra that uses a few basic expressions (or operators) to determine if a statement is
true or false. The most common operators are AND, OR, and NOT. Combinations of these expressions help you
make focused trait or segment qualification rules uniquely suited to your data requirements. The following illustration
shows how basic Boolean expressions work.
Note: The NOT operator uses an implied "and" condition and is sometimes written as AND NOT.
You build trait and segment qualification rules with Boolean expressions. The table below describes general best
practices for creating qualification criteria with AND, OR, and NOT.
Reference 430
AND Narrow, focused audience qualification requirements. Users must belong to all specified
traits or segments.
OR Broad, less focused audience qualification Users can belong to any specified
requirements. traits or segments.
NOT Narrow, focused audience qualification requirements. Users must not belong to an excluded
trait or segment.
Useful when there are multiple conditions that make
defining audience qualification requirements difficult
or inefficient. Occasionally, it is easier to validate
against requirements that exclude rather than include.
The OR operator is useful when you want to create signals with broad audience qualification requirements. If you
have several trait or segment qualification requirements, the OR operator will evaluate to true when your site visitors
exhibit any of those characteristics. OR may be most useful when you want to rapidly create a broad audience of
qualified site visitors.
The AND NOT operator is useful when its easier to define an audience by exclusion rather than inclusion. For
example, say you're having a sale and want to segment visitors into customers who look at full price items only.
Rather than create a list of signals for all qualifying full or sale-price items, it may be easier qualify visitors if they
have not seen a sale price item. This is administratively efficient because you usually have fewer sale price items
compared to those offered at full price. With a Boolean NOT, visitors must not exhibit the sale signal to qualify for
full-price audience membership. By contrast, AND NOT is the opposite of the AND use case, which showed how
audience membership is determined by inclusion (i.e., the visitor qualified based on 2 explicitly stated signals).
The Bulk Management Tools let you create and manage multiple objects at once with single operation. You can
use Bulk Management Tools to work with data sources, derived signals, destinations, folders, segments, and traits.
Attention: The Bulk Management Tools are not supported by Audience Manager. This tool is provided for
convenience and as a courtesy only. For bulk changes, we recommend that you work with the Audience
Manager APIs instead. RBAC group permissions assigned in the Audience Manager UI are honored in the
Bulk Management Tools.
Reference 431
Overview
This feature uses an Excel spreadsheet with macros that make secure, authenticated calls to the Audience Manager
APIs. The API provides the methods and services that let you make changes in bulk. You don't have to know how
to code or work with our APIs to use it. The worksheet contains column headers and tabs that perform specific bulk
change functions. To make bulk changes, all you do is add the pre-defined headers to specific worksheets, provide
the information you want to change in bulk, and click an action button. The worksheet and the APIs do the rest of
the work for you.
Attention: The Bulk Management Tools are not supported by Audience Manager. This tool is provided for
convenience and as a courtesy only. For bulk changes, we recommend that you work with the Audience
Manager APIs instead. RBAC group permissions assigned in the Audience Manager UI are honored in the
Bulk Management Tools.
Prerequisites
To use the Bulk Management Tools, you need the following:
Your Audience Manager user name and password. As a customer, you should already have these credentials.
An API client ID and secret key. Your account manager can provide you with these.
The Bulk Management Tools worksheet. Download the worksheet to get the latest verison (v0.4.2).
Excel running on Windows or in a Windows virtual machine running on OS X. 32-bit Windows is preferred.
The table below lists the operations you can perform and items you can manipulate with the Bulk Management
Tools worksheets.
Actions Objects
Bulk actions appear in tabs at the bottom of the worksheet The objects you can change in bulk are located under
and include: the Headers tab and include:
As an example, let's take a look at how to create multiple traits at one time. To create multiple traits in a bulk operation
you would:
1. Click the Headers tab and copy all the labels under the Create a Trait option.
2. Click the Create tab and paste the labels starting in row 1, column A.
3. Provide information related to each column header and click Create Traits. This action prompts you to log on.
Your bulk job runs after you successfully authenticate (see the authentication requirements below). Check the
lower left corner of the worksheet for a job status notification.
Note: When working with large requests, the worksheet might become unresponsive and appear to be inactive.
In these cases, just leave it alone. The worksheet will become responsive when the bulk request is complete.
If the worksheet does not respond for a long period of time, see the troubleshooting section.
Domain authentication gives you the option to test bulk requests or apply them directly to your production account.
Making bulk changes to the test environment won't affect your production account. Production changes are effective
immediately. The Domain field accepts the following addresses, depending on the environment you want to work
in:
Testing: staging-api.demdex.com
Production: api.demdex.com
Bulk Requests
A bulk request returns data you can use with the different headers in the Update, Create, Estimate, and Delete
worksheets.
Attention: The Bulk Management Tools are not supported by Audience Manager. This tool is provided for
convenience and as a courtesy only. For bulk changes, we recommend that you work with the Audience
Manager APIs instead. RBAC group permissions assigned in the Audience Manager UI are honored in the
Bulk Management Tools.
The Request worksheet does not have its own set of column headers and you don't need to copy IDs to any of the
columns. Instead, it returns data based on the action button you click in the toolbar. And, an optional reporting feature
returns a frequency count for pixel fires and unique user count for several fixed time intervals.
To make bulk requests, open the Bulk Management Tools worksheet and:
The Audience Manager API writes bulk data back to the Request worksheet.
Note: In your results, the createTime and updateTime columns return data in exponential notation. The
underlying date/time stamps are recorded in UNIX UTC time. Currently, the worksheet cannot return date/time
stamps in a readable format.
If your bulk update returns an error or fails, see Troubleshooting Tips for Bulk Management Tools.
Bulk Updates
A bulk update lets you edit multiple segments, traits, and segment or trait folders elements in a single operation.
Follow these instructions to make bulk updates.
Attention: The Bulk Management Tools are not supported by Audience Manager. This tool is provided for
convenience and as a courtesy only. For bulk changes, we recommend that you work with the Audience
Manager APIs instead. RBAC group permissions assigned in the Audience Manager UI are honored in the
Bulk Management Tools.
Reference 435
To make bulk updates, open the Bulk Management Tools worksheet and:
1. Click the Headers tab and copy the update headers for the item you want to edit.
2. Click the Update tab.
3. Paste the update headers into the first row of the update worksheet. Note the following:
When updating a folder, all headers are required.
When updating segments or traits, you only need the segment ID (SID) and the header element that needs
to be changed. Delete unused headers.
4. Paste or type the data you want to change into a corresponding column based on the header label.
5. In the worksheet toolbar, click an update button that matches the item you're updating.
This action opens the Account Information dialog box.
6. Provide the required log on information and click Submit.
The worksheet creates a Results column. The Results column returns the JSON response for a successful
operation. See the REST APIs for examples.
Before entering data, your bulk update worksheet should look similar to the following:
If your bulk update returns an error or fails, see Troubleshooting Tips for Bulk Management Tools.
Reference 436
Bulk Create
Bulk create lets you construct multiple data sources, derived signals, segments, traits, and other items with a single
operation. Follow these instructions to make a bulk creation request.
Attention: The Bulk Management Tools are not supported by Audience Manager. This tool is provided for
convenience and as a courtesy only. For bulk changes, we recommend that you work with the Audience
Manager APIs instead. RBAC group permissions assigned in the Audience Manager UI are honored in the
Bulk Management Tools.
: Do not mix object types in a bulk creation request. The headers for each object are unique and cannot be combined.
Clear the worksheet and make a separate request for different items.
To create objects in bulk, open the Bulk Management Tools worksheet and:
1. Click the Headers tab and copy the create headers for the item you want to add.
2. Click the Create tab.
3. Paste the create headers into the first row of the update worksheet.
4. Paste or type the data you want to change into a corresponding column based on the header label.
5. In the worksheet toolbar, click the create button that matches the item you're updating.
This action opens the Account Information dialog box.
6. Provide the required log on information and click Submit.
The worksheet creates a Results column. The Results column returns the JSON response for a successful
operation. See the REST APIs for examples.
Before entering data, your bulk create worksheet should look similar to the following example. Note, all the different
create options are not shown here. This is included to help you understand what a completed worksheet could look
like.
If your bulk update returns an error or fails, see Troubleshooting Tips for Bulk Management Tools.
Bulk Estimates
A bulk estimate returns segment size data based on segment rules. Follow these instructions to make a bulk estimate
request.
Attention: The Bulk Management Tools are not supported by Audience Manager. This tool is provided for
convenience and as a courtesy only. For bulk changes, we recommend that you work with the Audience
Reference 437
Manager APIs instead. RBAC group permissions assigned in the Audience Manager UI are honored in the
Bulk Management Tools.
To make bulk updates, open the Bulk Management Tools worksheet and:
1. Click the Headers tab and copy the Estimate Segment Size header.
2. Click the Estimate tab.
3. Paste the estimate header into the first row of the estimate worksheet.
4. Paste or type the data you want to change into a corresponding column based on the header label.
5. In the worksheet toolbar, click the create button that matches the item you're updating.
This action opens the Account Information dialog box.
6. Provide the required log on information and click Submit.
This action creates a Response column in the worksheet that contains estimated segment size data.
Before entering data, your bulk estimate worksheet should look similar to the following:
If your bulk update returns an error or fails, see Troubleshooting Tips for Bulk Management Tools.
Bulk Delete
Bulk delete lets you remove multiple segments, traits, folders, derived signals, and destinations with a single operation.
Follow these instructions to make a bulk delete request.
Attention: The Bulk Management Tools are not supported by Audience Manager. This tool is provided for
convenience and as a courtesy only. For bulk changes, we recommend that you work with the Audience
Manager APIs instead. RBAC group permissions assigned in the Audience Manager UI are honored in the
Bulk Management Tools.
Note: A bulk delete for destination mappings will fail if you have segments mapped to the destination. Remove
your segments from that destination in the user interface before attempting to bulk delete destinations. Also,
trait and segment folders must be empty before you can delete them.
To delete multiple items, open the Bulk Management Tools worksheet and:
1. Click the Headers tab and copy the create headers for the item you want to add.
2. Click the Delete tab.
Reference 438
3. Paste the delete headers into the first row of the update worksheet.
4. Paste or type the IDs for the objects you want to delete in the column below the header.
5. Provide the required log on information and click Submit.
The worksheet creates a Results column. The Results column returns a message that indicates if the item has
been deleted or an error message.
Before entering data, your bulk update worksheet should look similar to the following:
If your bulk update returns an error or fails, see Troubleshooting Tips for Bulk Management Tools.
Attention: The Bulk Management Tools are not supported by Audience Manager. This tool is provided for
convenience and as a courtesy only. For bulk changes, we recommend that you work with the Audience
Manager APIs instead. RBAC group permissions assigned in the Audience Manager UI are honored in the
Bulk Management Tools.
With the visual rule builder, we've created a segment rule with 3 traits and a Boolean AND operator.
Tip: Click Validate Expression to check your rule logic. This will help prevent you from uploading an invalid
rule.
Paste the rule into the Bulk Management Tools worksheet and commit your changes to update segment rules in
bulk.
Attention: The Bulk Management Tools are not supported by Audience Manager. This tool is provided for
convenience and as a courtesy only. For bulk changes, we recommend that you work with the Audience
Manager APIs instead. RBAC group permissions assigned in the Audience Manager UI are honored in the
Bulk Management Tools.
Problem Solution
Long delays Turn off compatibility mode: Check if you have other worksheets open in Excel's
compatibility mode. Compatibility mode can increase runtimes. Close any
spreadsheets you may have open in this mode and try your bulk request again.
System resources: Limited system resources contribute to long delays. Try closing
all your other programs before making a bulk request.
Attention: The Bulk Management Tools are not supported by Audience Manager. This tool is provided for
convenience and as a courtesy only. For bulk changes, we recommend that you work with the Audience
Manager APIs instead. RBAC group permissions assigned in the Audience Manager UI are honored in the
Bulk Management Tools.
Reference 441
sourceKey Signals are bits of data passed in to Audience Manager based on user
activity. These are transmitted as key-value pairs. The source key is
a constant that does not change. It helps categorize the source value
which can change. See Derived Signals.
targetValue The value passed in with a derived signal key. See Derived Signals.
traitRule / segmentRule The actual trait or segment rule used to collect data. A bulk request
returns the rules created in Audience Manager with the trait rule builder
or the segment rule builder.You can also use these tools to build rules
and apply them in bulk when you update a segment or trait.
RULE_BASED_TRAIT
ON_BOARDED_TRAIT
SEGMENT
Update your code to use d_cid or d_cid_ic instead of d_dpid and d_dpuuid. The DPID and DPUUID variables
will continue to work, but you should consider them deprecated. This includes DPID and DPUUID variants without
the d_ prefix.
Contents:
Variable Syntax
These key-value pairs still work, but they are deprecated.You should update your code to use CID or CID_IC instead.
d_cid and d_cid_ic use the syntax shown below. Note, in the code, italics indicates a variable placeholder.
Variable Syntax
Note: You can use integration codes for your own data sources and for global shared data sources, which
you have access to. For example, you can use integration codes when working with mobile identifiers data
sources. Use the following integration codes, exactly as specified below:
DSID_20914 for GAID, representing devices running the Android operating system.
DSID_20915 for IDFA, representing devices running the iOS operating system.
Examples
Each call can also include multiple d_cid and d_cid_ic key value pairs like this:
...?d_cid=123%01456&d_cid=123%01789&d_cid_ic=543%01333...
Item Description
URL encoding Your development teams must apply URL encoding to the following variables
in the CID key-value pair:
user ID (dpuuid)
integration code
Reference 444
Item Description
Note: You must URL encode the user ID and integration code before
concatenating them into a string. This is because the ASCII character
%01 that separates the two variables must not be captured in the URL
encoding.
URL encoding assures that your user IDs and integration codes that contain
reserved or unsafe characters such as, but not limited to, + or = are transmitted
correctly to our servers.
Using integration codes for global You can use integration codes for your own data sources and for global shared
shared data sources data sources, which you have access to. For example, you can use integration
codes when working with mobile identifiers data sources. Use the following
integration codes, exactly as specified below:
Audience Manager receives a tremendous amount of data every day. This affects the amount of time it takes to
process your data and generate report results. The content in this section describes how these time intervals affect
your Audience Manager account. Also, the time frames and schedules described here are general guidelines only.
These schedules do not constitute Service-Level Agreements (SLAs) or commitments related to data delivery. Adobe
reserves the right to change the time frames and schedules at any time without notice.
Reporting Numbers
The following table lists and describes the time intervals in our general and real-time reports.
Real-Time Data Real-time numbers for today are for the hours 00:00 to 23:59:59 UTC from yesterday.
General Report The data in the General Reports depends on the successful completion of other job processes
Data and the amount of data received for a particular day. Most of the time, General Report data
should be updated by 15:00 UTC each day.
Reference 445
Inbound File Ingestion File processing starts at 06:00 UTC and 18:00 UTC. These procedures ingest data
(offline data) and prepare it for delivery.
File delivery times vary because they are affected by the total amount of customer
data that needs to be processed.
Outbound (Export) Files File processing and delivery takes place daily. However, processing and delivery are
affected by the total number and size of these files. In some cases, there may be a
delay in file processing for as long as 24-hours. When this happens, Audience Manager
will send 2 files for a particular day instead of 1. We will notify our customers in the
rare case where Audience Manager has to stop processing a file altogether. Given
these conditions, it is difficult to estimate delivery times for outbound data.
To determine if you've received a complete set of files, check the timestamp and look
for any missing days. This is a 13-digit, UNIX UTC timestamp that records the time
when the file was created. See Real-Time Outbound Data Transfers.
Refer to this document for the complete list of Adobe Audience Manager IDs.
A key-value pair consists of two related data elements: A key, which is a constant that defines the data set (e.g.,
gender, color, price), and a value, which is a variable that belongs to the set (e.g., male/female, green, 100). Fully
formed, a key-value pair could look like these:
gender = male
color = green
price > 100
The following sections contain more information:
Standard and Serialized Key-Value Pairs
Keys, Delimiters, and Separators
Standard and Serialized Key-Value Elements
(standard)
Audience Manager passwords expire every 30-days. Refer to this section for password requirements and how to
recover a lost or forgotten password.
Password Requirements
To be valid, your Audience Manager password must meet the following requirements:
Requirements Description
For information about resetting your password, see Edit Your Account Settings.
Account Lockout
Accounts are locked after 5-failed log in attempts. Contact your company's Audience Manager administrator or a
Partner Services representatives to unlock your account.
Lost/Forgotten Password
Click the Forgot password link from the login page to reset your password. You will receive an automated email
with a temporary password that expires in 24 hours. Click the link in the email to access your account and reset your
password.
Describes the components of an Audience Manager segment, the expressions used to set audience qualification
criteria, and how data is transmitted in an event call.
Composition and Purpose
Reference 450
Audience Manager data consists of signals, traits, segments, and related qualification rules. The data elements and
rules combine to create segments. Segments organize site visitors into related groups. The following table defines
the three principal components in an Audience Manager segment.
Signal
Signals are the smallest data units in Audience product=camera
Manager and are expressed as key-value pairs. price>1000
The key is a constant that defines a data set (e.g., type=digital SLR
gender, color, price).
The value is a variable related to the constant (e.g.,
male/female, green, 100).
Trait
Combinations of one or more signals. From the available signals, you could
create a "High End Camera Browser"
Boolean expressions and comparison operators let
rule expressed as:
you create trait qualification rules.
product=camera AND price>1000
Create precise qualification requirements with
combinations of traits and trait groups.
Segment
Users who share a set of common attributes and From the available traits and signals,
qualify for related traits. you could create a segment rule
expressed as:
Boolean expressions, along with recency/frequency
requirements, let you create segment qualification (product=camera AND
rules. type=digital SLR) OR
(price>1000)
Create precise qualification requirements with
combinations of trait and segment rules.
Build Traits and Segment Rules With Visual Tools and Code Editors
Clients manage traits and segments with visual tools and code editors in the Audience Manager user interface. The
visual tools let you create rules using search features, pop-up options, dropdown menus, and drag and drop
functionality.The code editors provide advanced users with a way to programmatically develop audience segmentation
criteria.
An event call sends data from your website to Audience Manager. The call contains signal, trait, and segment data
in an HTTP request. The event itself is everything after the /event part of a URL string. As shown in the example
below, this process requires only a single event call to pass in multiple variables to Audience Manager.
http://<domain>/event?product=camera&price>100
Reference 451
Supported Browsers
Lists the browsers supported by the Audience Manager user interface. Cookies and JavaScript must be enabled on
all browsers.
Unless indicated otherwise, Audience Manager is supported on the latest versions of the following browsers.
Chrome
Edge
Firefox
Internet Explorer (version 11 or greater)
Note: In January, 2016, Adobe ended support for Internet Explorer 9 and 10.You can continue to use earlier
browser versions, but Adobe will not test against earlier versions and will not fix any issues with them. As a
result, your browser experience may degrade over time and you run a security risk by using an obsolete
browser version. Adobe recommends that you upgrade to a supported version.
Safari
Other browsers may work, but are not supported by our technical and product teams. If you're having trouble working
with Audience Manager, make sure you're using a current, updated, and supported browser.
System Components
A high-level tour of the major components and data flows in the Audience Manager system.
Introduction
This guide provides a basic overview of the main components that power Audience Manager. It is written for:
Non-technical and technical readers.
Current Audience Manager customers curious about how it all works.
Potential Audience Manager customers who need to evaluate this system as part of a due diligence or request for
proposal process.
This guide tries to strike a balance between general descriptions and a deep dive. However, some things are
proprietary so we're just not going there. After all, there's more to special sauce than just mayonnaise and ketchup.
We need to keep the pickles a secret. As always, you can check with your Audience Manager consultant if you have
any questions.
Contents
SFTP/S3
The SFTP/S3 publishers receive synchronized ID data from the Outbound Feed Converter. When these files are
ready, the SFTP/S3 publishers send this data to a destination specified by the client.These files contain synchronized
ID data with a one-to-many mapping of Audience Manager user IDs (UUID) to:
Device ID/data provider IDs (DPUUID)
Qualified segment IDs
Trait IDs
Reference 453
Audience Manager customers do not have access to features that directly control the SFPT/S3 publishers. Customers
use this service indirectly when they create and send data to destinations. The SFTP/S3 system is, essentially, an
automated job process that runs at scheduled intervals.
IRIS
In Greek mythology, Iris is a figure who travels and delivers messages rapidly. The IRIS system is a namesake that
reflects the characteristics of this figure from the ancient world. In modern terms, IRIS is a low-latency, high-frequency
cookie synchronization and data transfer service.
IRIS works with the same type of data as the SFTP/S3 system. However, IRIS is different because it sends data to
destinations in real time rather than at set intervals. This is a separate system because the SFTP/S3 publishers
can't send data to an HTTP destination and they're not designed for real-time data transfers.
There are no UI controls that let customers work directly with IRIS. Customers work with IRIS indirectly when they
create and send data to destinations, and for other processes that require rapid data transfers.
The following example contains real-time segment data from IRIS. Keep in mind this is sample data only. Each
customer may have different formatting requirements so the contents can vary.
{
"ProcessTime": "Tue Jul 21 19:12:45 UTC 2015",
"Client_ID": "111111",
"AAM_Destination_Id": "22222",
"User_count": "5",
"Users": [
{
"AAM_UUID": "28272096202945091600036434734793744071",
"DataPartner_UUID": "CAESEFdv5pk-Lurd8vL9Yfb3qFg",
"Segments": [
{
"Segment_ID": "1200598",
"Status": "1",
"DateTime": "Tue Jul 21 19:12:12 UTC 2015"
}
]
},
{
"AAM_UUID": "35183292386788708387827965829455926157",
"DataPartner_UUID": "CAESEF_d8blvZjchQ2WTzdB65yk",
"Segments": [
{
"Segment_ID": "1306742",
"Status": "1",
"DateTime": "Tue Jul 21 19:12:15 UTC 2015"
}
]
},
{
Reference 454
"AAM_UUID": "28012470144260632050402316345856327572",
"DataPartner_UUID": "CAESEEPfHBiRjhkzvBPXQ-0MFRE|UzCESAAABOnFeHJy",
"Segments": [
{
"Segment_ID": "1306742",
"Status": "1",
"DateTime": "Tue Jul 21 19:12:33 UTC 2015"
}
]
},
{
"AAM_UUID": "18981483751565214534184221210627150539",
"DataPartner_UUID": "CAK4NDH0ESEE6NBEhoWDkB7s7ZY|VPYFQQAAASXPElL0",
"Segments": [
{
"Segment_ID": "1306742",
"Status": "1",
"DateTime": "Tue Jul 21 19:12:36 UTC 2015"
}
]
},
{
"AAM_UUID": "04761851136483019318109155624251711702",
"DataPartner_UUID": "CAESEDkM5aSaKMV8MfaBhgSspmE|VYnTNwAAASzvVhxy",
"Segments": [
{
"Segment_ID": "1306742",
"Status": "1",
"DateTime": "Tue Jul 21 19:12:42 UTC 2015"
}
]
}
]
}
Creates and manages device IDs and authenticated profile IDs. This includes identifiers such as data provider IDs,
user IDs, declared IDs, integration codes, etc.
Checks the PCS for additional traits a user has already realized prior to a real-time event call. This lets the DCS
qualify users based on real-time data and historical data.
Writes log files and sends those to analytics systems for storage and processing.
DCS Manages Demand Through Global Server Load Balancing (GSLB)
The DCS is a geographically distributed and load-balanced system. This means Audience Manager can direct
requests to and from a regional data center based on the geographic location of a site visitor. This strategy helps
improve response times because a DCS response goes directly to a data center that contains information about
that visitor. GSLB makes our system efficient because relevant data is cached in servers closest to the user.
In an event call, geographic location is captured in a key-value pair returned in a larger body of JSON data. This
key-value pair is the "dcs_region":region ID parameter.
As a customer, you engage with the DCS indirectly through our data collection code. You can also work directly with
the DCS through a set of APIs. For sample code, event calls, responses, and more information about working with
the DCS, see:
DCS Integration
Real-Time Data Transfers With the DCS API
Profile Cache Servers (PCS)
The PCS is a large database (basically, a huge server-side cookie). It stores data received for active users from
server-to-server transfers and the DCS. PCS data consists of device IDs, authenticated profile IDs, and their
associated traits. When the DCS receives a real time call, it checks the PCS for other traits a user may belong to
or qualify for. And, if a trait is added to a segment at a later time, those trait IDs are added to the PCS and users
can qualify for that segment automatically, without a visit to a particular site or app. The PCS helps deepen Audience
Manager's understanding of your users because it can match and segment users in real time or behind the scenes
with new and historic trait data. This behavior gives you a more complete and accurate picture of your users than
from real-time qualifications alone.
Reference 456
There are no UI controls that lets our customers work directly with the PCS. Customer access to the PCS is indirect,
through its role as a data store and data transfers. The PCS runs on Apache Cassandra.
As indicated previously, the PCS stores trait IDs for active users. An active user is any user who has been seen by
the edge data servers from any domain during the last 14-days. These calls to the PCS keep a user in an active
state:
/event calls
/ibs calls (ID syncs)
The PCS flushes traits if they're inactive for 17-days. These traits aren't lost however. They're stored in Hadoop. If
the user is seen again at another time, then Hadoop pushes all of their traits back to the PCS, typically within a
24-hour period.
These server systems handle privacy and user opt-out requests. User cookie information is not collected in the log
file if a user has opted out of data collection. For more information about our privacy policies see the Adobe Privacy
Center.
Inbound Server-to-Server
These are systems that receive data sent in by various server-to-server integrations with our clients. See the
documentation on sending audience data for more information.
Log Files
The PCS creates and writes data to the log files. These are sent to other database systems for processing, reporting,
and storage.
Hadoop
In Audience Manager, Hadoop is the master database that contains everything Audience Manager knows about a
user. For example, when the Profile Cache Servers create log files that contain data about your users, it sends that
data to Hadoop for storage. Other important Hadoop elements include:
Hive: A data warehouse for Hadoop. Hive manages ad hoc queries to the data stored in Hadoop.
HBase: A very large Hadoop database. It processes and manages inbound and outbound data, trait rules, algorithmic
modeling information, and performs many other functions related to storing and moving data to different systems.
Customers do not have direct access to these systems. However, customers do work with them indirectly as these
components store important data about their site visitors.
Reference 457
Snowflake
Snowflake is a massive cloud database. It provides data to many of the dashboard graphs and their related text
boxes that display the % change for each item in the graph. If you use Audience Manager and look at the dashboard
reports, you're interacting with data provided by Snowflake.
This is by no means a comprehensive list, but some common dashboard reports that Snowflake is responsible for
include:
Daily Trait Variation Report
Delivery and Performance Report
All the overlap reports (see the Interactive Reports section for information about each overlap report).
Unused Signals Report
SOLR
SOLR is an open-source database and server system from Apache. It provides robust and fast search capabilities
over our large data sets. As an Audience Manager customer, you can see SOLR in action when you build segments.
It provides data to the Estimated Historic Segment Size report. SOLR is ideal for this role because of its speed.
For example, SOLR is able to update the historic size data as you build rules and add new traits to a segment.
Reference 458
Tableau
Audience Manager uses Tableau to display data in the Interactive and Overlap Reports and the Audience Optimization
Reports. The interactive reports display performance and overlap data for traits and segments. Instead of using
numbers arranged in columns and rows, they return data using different shapes, colors, and sizes. Additionally, you
can choose individual or groups of data points and drill down into the report results for more details.These visualization
techniques and report interactivity help make large amounts of numeric data easier to understand.
Control Database
Client Portal
The client portal is the primary user interface (UI) for tag and data management. Customers use the portal to work
with tags, build traits and segments, set up destinations, and monitor campaign performance with reports.
DIL/TIM Container
The DIL container helps deploy Audience Manager data collection code to your website. TIM is the deprecated Tag
Insertion Manager. It is no longer used by Audience Manager. Instead, you use Dynamic Tag Management to
configure and generate container code that you place on pages in your inventory. The ATM container works with
the Data Information Library (DIL) to collect data from your site and send it to Audience Manager.
Akamai
Audience Manager uses Akamai to host and deliver container code from our own tag management platform known
as TIM (Tag Insertion Manager). However, code deployment with TIM is being phased out in favor of Adobe Tag
Management.
Control Database
The control database:
Processes client input from the portal (for example, creating traits and destinations).
Transmits data to Akamai, which includes data used to build the container template and destination publishing
iFrame.
Returns data for UI reporting systems.
Colors define the type of data that flows in and out of Audience Manager. Green is client data, blue is customer data
(people visiting your site), and orange is data used for reporting.
For system descriptions and summaries see the data action, collection, processing, and tag management sections.
Reference 460
The following diagram illustrates the Audience Manager edge data center environment.
Reference 461
These elements identify code options and variables used throughout the help documentation. Generally, you would
not include these symbols or style elements in your code or data files. They're visual indicators only.
Convention Explanation
variable Variables appear in italics. Substitute the appropriate value for the variable name.
For visual clarity, sometimes variables and other code elements appear between < >
brackets. You do not need to use these symbols in your code.
Convention Explanation
< > Sometimes variables and other code elements appear between < > brackets. These
are used to improve clarity in long code blocks. Unless specified, do not include these
symbols in a data file name or its contents.
Audience Manager uses Coordinated Universal Time (UTC) across its entire UI.
Unless otherwise specified, all the dates and date ranges you can select in the Adobe Audience Manager UI are
Coordinated Universal Time (UTC). For example, in the Create Destination flow, when mapping segments to your
destination, the start and end date you select are midnight UTC. The same applies for all the dates in Audience
Manager.
Audience Manager and the Marketing Cloud ID service make calls to and receive data from the demdex.net domain.
This may seem like Adobe is working with an unusual third-party domain, but this is not the case. This section
describes the elements in a demdex.net call.
demdex.net This is a legacy domain controlled by Adobe. It reflects Audience Manager's original,
pre-acquisition name (Demdex). Adobe acquired Demdex in 2011 and re-branded the
company as Audience Manager. It is difficult to change this domain because it is entwined
deeply with Audience Manager, the ID service, and our installed user base. See History and
Background.
You may see other prefixes attached to legacy demdex.net calls (e.g., dcs.demdex.net,
fast.demdex.net, etc.). Regardless of the prefix, a call to something.demdex.net is always
a call to Adobe and not to some unknown or suspicious third-party domain.
dpm DPM is an abbreviation for Data Provider Match. It tells internal, Adobe systems that a call
from Audience Manager or the ID service is passing in customer data for synchronization
or requesting an ID. This is the most common demdex.net call you'll see from Audience
Manager or the ID service.
Audience Manager : A DPM call from Audience Manager sends data to the Data Collection
Servers and Profile Cache Servers. See Data Collection Components.
Reference 463
ID service : A DPM call from the ID service is a request for a visitor ID. See Cookies and
the Marketing Cloud ID Service and How the Marketing Cloud ID Service Requests and
Sets IDs.
Note: ID service customers can change the DPM prefix in the domain name. See
audienceManager Server and audienceManagerServerSecure.
The visitor authentication status in Audience Manager determines if the new trait information is written to the visitor's
authenticated profile or to the device profile, where the data was collected from. Audience Manager handles the
visitor ID authentication statuses UNKNOWN and LOGGED_OUT in event calls in the same way.
Beginning with Marketing Cloud ID service v1.5+, the setCustomerID method includes the optional AuthState
object. AuthState identifies visitors according to their authentication status. Audience Manager handles the realized
traits differently, depending on the authentication status passed in the call and the Profile Merge Rule you use for
segmentation.
Contents:
Request Read information from the authenticated profile Write new traits to the authenticated profile
value
0 Yes, if the Authenticated Option Merge Rule = "Last No, the trait data is added to the device profile.
Authenticated Profiles".
Sample call (the request value corresponding to the authentication status is highlighted):
http://sample_customer.demdex.net/event?d_cid=123%01sample_id%010&d_sid=123456
Reference 464
Request Read information from the authenticated profile Write new traits to the authenticated profile
value
1 Yes, if the Authenticated Option Merge Rule = Yes, the trait data is added to the device profile.
"Current Authenticated Profiles" or "Last
Authenticated Profiles".
Sample call (the request value corresponding to the authentication status is highlighted):
http://sample_customer.demdex.net/event?d_cid=123%01sample_id%011&d_sid=123456
Request Read information from the authenticated profile Write new traits to the authenticated profile
value
Sample call (the request value corresponding to the authentication status is highlighted):
http://sample_customer.demdex.net/event?d_cid=123%01sample_id%012&d_sid=123456
Note: Audience Manager performs an ID synchronization between CID and UUID in all three cases.
FAQ 465
FAQ
Frequently asked questions about Audience Manager features, functions, and common issues.
API FAQ
Why does DIL make event calls with GET and POST methods?
DIL passes data to Audience Manager with a GET or POST method based on the length of the query string of the
event call. This behavior is built in to GET and POST methods by default. It is not specific to Audience Manager.
DIL makes event calls with GET when a URL contains 2048 characters or less. A GET event call includes data in
the URL as query string parameters, which are passed in as key-value pairs.
DIL makes event calls with POST when a URL contains more than 2048 characters. A POST event call includes data
in the body of the request. DIL puts data into key-value pairs and passes information as form data rather than in
the URL query string.
Although each method passes data in a different way, this does not affect functionality. For example, with either
method, Audience Manager still sends data to destinations, ID syncs works normally, and you can create traits from
data signals.
The REST APIs let you work programmatically with most Audience Management features and functions that are
available in the user interface.
Contact your Partner Solutions representative to obtain API access credentials. Our APIs use OAuth 2.0 standards
for token authentication, authorization, and renewal. See OAuth Authentication for more information.
Yes, the test segments have different segment IDs. For destinations with Auto-fill Destination Mapping or segments
sent to Google, Audience Lab will handle the mapping values just like the destinations normally would.
Can the same conversion trait be associated with multiple test groups?
Yes, this is allowed. Think of a case of one test using a male segment associated to conversion X and one test using
a female segment associated to conversion X. It doesn't matter that both tests are driving conversions since they
are testing two different audiences.
Let's say a test group is using an authenticated profile for the test segment split. The authenticated profile
is linked to 4 Audience Manager UUIDs. When the visitor exhibits a conversion trait from one of the four
UUIDs, does Audience Lab count this as one or four conversions?
What if the visitor from the case above first exhibits the conversion trait from one of the four UUIDs linked
to their authenticated profile and then also exhibits the conversion trait from two other UUIDs linked to the
authenticated profile? Does this case count as one or three conversions?
In this case, Audience Lab counts three conversions, one for each device that has exhibited the authentication trait.
Can a user have Segment: Read-Only access, yet also Audience Lab test segment creation access?
See Create Segment Test Groups for information on how to use Audience Lab with RBAC privileges.
Amazon S3 Storge
File Sizes
Data Retention
Amazon S3 Storge
Where is my CDF file stored on Amazon?
Your CDF file is stored in the aam-cdf root directory on an Amazon S3 server. This default bucket is managed by
Audience Manager. See also Customer Data Feed File Naming Conventions.
Yes. Customers get access their own storage space only. You will have read-only access to your storage bucket.
You will not have write access.
A missing file means Audience Manager was not able to process your CDF files for that hour. This usually happens
when our servers get behind in processing CDF files. In this case, your file is not lost. It will appear in a later hourly
directory after our system has a chance to catch up. See also, Customer Data Feed File Processing Notifications.
File Sizes
What sort of file sizes should I expect? How big is an average CDF file?
It is difficult to estimate file sizes. And, each file can be a different size. Sizes will vary from hour to hour and day to
day. If you're going receive CDF files, it helps to be prepared to manage a lot of data.
How many files will I receive?
Again, it is difficult to estimate this. However, if you're going receive CDF files it helps to be prepared to manage a
lot of data.
FAQ 467
Data Retention
How long do you store CDF files?
No. CDF files are generated for the present day only. We cannot generate files for days prior to your implementation.
Traits onboarded via Inbound are populated by Inbound the same way they get populated by DCS. There are a few
different ways to tell that traffic came from Inbound:
Can you provide me with a list of IP addresses I can white-list for dpm.demdex.net?
Unfortunately, we cannot. These IPs are assigned dynamically, by geographic region, through Amazon Web Services.
As a result, Audience Manager does not control the range of IPs that can be assigned to this address.
Can you provide me with an IP address I can whitelist for your outbound FTP server?
What are the code placement and page load requirements for a DIL/Analytics Data Integration?
To bring Analytics data into Audience Manager, load DIL after the s_code module but before the s.t() function.
For example, place your code, or make sure it loads, in this order:
1. Analytics s_code
2. Audience Manager DIL module
3. Analytics s.t() function
As a best practice, set up your Audience Manager-Analytics integration with either of these 2 methods:
Put DIL directly in the s_code.
Serve DIL and the s_code through Adobe Tag Manager.
Why are my Analytics variables missing from an Audience Manager event call?
You must use Analytics version 20.2 (or higher) and the Adobe AppMeasurement AS library version 3.5.2 (or higher)
to work with DIL. If you don't know your Analytics or AppMeasurement version, check the Analytics call that gets
made from the page. Version information shown below:
Yes. The DIL module helps you collect page data even if you're not using Analytics. When set up properly, DIL can
capture data from and about:
Meta tags
URLs and URL headers
Search engine types
Keywords
Additionally, clients can deploy a simple onsite object and populate it with key-value pairs that you want DIL to collect
data on. This lets you add and remove specific audience data points on your site without any Audience Management
updates. Work with your Partner Solutions representative to properly set this up and ensure the DIL module references
the page object correctly.
Yes. DIL can collect some Google Analytics (GA) elements and pass that data to Audience Manager. See:
GA.submitUniversalAnalytics
GA.init
Can I get raw data from Audience Manager and how granular is it?
Yes, Audience Manager can provide you with data collected for users we've seen on your inventory. This includes:
The unique user ID (UUID) assigned by Audience Manager
Trait and segment IDs
Unused signals
Time stamps
Page URLs
I want to collect data on one site and target users via a DFP on a different site. Do I need to deploy code on
the other property if I don't want to collect data from that location?
Yes. Audience Manager DIL code must be on the other site's page to target ads to a user. To target a user in the
ad server, we need to send segment information to DFP before the creative loads. To do this, Audience Management
code must be on the page where you want to target the user. The code identifies the user and sends that information
to DFP. If Audience Manager code is absent from the target page, then we cannot send segments to DFP and target
the user based on that data. Without DIL, Audience Manager cannot get segment information to DFP.
Each provider brings something unique to the table, so the answer depends on what you're looking for. We can
enable overlap reporting (at no cost) to help you understand which provider may work best for you.
FAQ 469
How does Audience Manager set cookies and pass variables to DFP?
Audience Manager sets 2 cookies: One sends segment variables to the DFP ad tag and the other sets our unique
user ID (UUID), which is also read by DFP. Adding the UUID to the ad tag means we can do user-level reporting
and audience discovery.
Can we send a DSP information about points in the conversion funnel reached by a user?
Yes. We can send funnel data, but the DSP must have the technical capability to use it. A DSP must confirm they
can handle multiple segments. If they cannot, we may need to create specific segments to pull a user out of other
segments based on their conversion progress (e.g., completed step 1 and 2 but not step 3). You may want to send
this information to a DSP so they can retarget users, direct them to a specific landing page, or display specific
creatives.
How can I confirm that data sent via FTP has been picked up by Audience Manager?
A file has been picked up when the extension changes from .sync to .processed. When this happens, the file is
in the ingestion queue. Also, your account manager can confirm when a file has been uploaded.
Frequently asked questions about bringing offline data into Audience Manager.
Can you summarize the onboarding process?
The onboarding process consists of 2 core components described in the Technical Specifications for Inbound Batch
Data Transfers. These involve:
ID synchronization
Inbound Data File (.sync file or .overwrite file)
Below is a list of questions and answers you might find helpful after reviewing the documentation.
Note: The examples in this section are simplified or shortened for brevity and demonstration purposes. Refer
to the online documentation for detailed specifications about file formats and syntax.
Work with your data provider to format the daily inbound data file according to Adobe specifications.
Transfer a test data file to Adobe for format verification.
Work with your Adobe consultant to produce a taxonomy suitable for interpreting the contents of the data file.
In the staging/development environment, confirm that the ID sync is configured to properly pick up the data provider's
visitor ID and transfer it to the Audience Manager servers in realtime.
Deploy DIL/ID sync to production. The ID sync will already be configured as a module within the DIL code by your
Adobe consultant.
Transfer production data files to Audience Manager. Given the dependencies on ID sync mappings, it might make
sense to begin transferring data up to one week after production-code deployment, although you can start transferring
the data files as soon as code goes into production.
Can I upload an inbound data file (.sync or .overwrite file) before deploying Audience Manager code into
production?
If the data provider is configured to use Profile Link for cross-device targeting, the data available for targeting shortly
after an ID sync identifies to the matching Audience Manager visitor ID.
If the data provider is not configured to use the Profile Link feature, Audience Manager processes only the data
for visitor IDs in the inbound data file that have been previously synced/matched back to an Audience Manager
visitor ID.
Consider the following use cases in which the data provider is not configured to use Profile Merge:
Case 1 On Monday, a visitor identified in the CRM database as visitor ABC logs in, which initiates a client-side
ID sync. Audience Manager stores the mapping of visitor ABC to Audience Manager visitor 123.
On Tuesday, the CRM database transfers a data file (.sync) to the Audience Manager server with
the following record:
ABC "gender"="male","luxury_shopper"="yes"
Case 2 On Monday, the CRM database pushes a data file (.sync) to the Audience Manager server with the
following record:
DEF "gender"="female","wine_enthusiast"="yes"
Audience Manager does not have a record of this visitor (or an associated visitor ID) so this record
is not processed.
On Tuesday, visitor DEF logs in. This action initiates the first client-side ID sync for that visitor. This
action maps visitor DEF to Audience Manager ID 456. However, this visitor does not have CRM data
associated with their profile. As a result, Audience Manager does not go back and reprocess old
files.
On Wednesday, the CRM database pushes another data file to the Audience Manager server with
the following record:
DEF "gender"="female","wine_enthusiast"="yes","dma"="paris"
How long does it take before data from an uploaded file is available for targeting?
Data is available for targeting after 24-36 hours. Also, do not interpret the "successful upload" email as a statement
that the data is available. This only means that Audience Manager has picked up the file and completed the first
step of processing.
How often should I send files and should these be full or incremental files?
As a best practice, send an incremental file once per day for new visitors and for visitors whose data has changed.
Many Audience Manager customers send a full file once per month. However, these file intervals and increments
are flexible. You should send data in increments and at times that make sense for you.
FTP files are removed after they've been processed. S3 files are removed after 30-days. Files that cannot be
processed due to format, syntax, or other errors are removed. See also, Privacy and Data Retention FAQ.
Full: A full file overwrites all of your existing visitor profiles and replaces them with the data in your file. Full files
are identified by the .overwrite tag appended to the file name. You can use a .overwrite file to reset visitor
traits or remove stale, obsolete traits.
Note: The .overwrite files only overwrite Audience Manager profile data associated to this data provider.
In other words, all Adobe Analytics data associated to the visitor remains intact after a .overwrite file has
been processed.
Incremental: An incremental file appends new data to your existing visitor profiles. Incremental files are identified
by the .sync tag appended to the file name. Sending in an incremental file does not erase or overwrite existing
profiles.
The following use cases demonstrate how these file types affect stored visitor profiles.
For more information about full and incremental file types, see:
Amazon S3 Name and File Size Requirements for Inbound Data Files
FTP Name and File Size Requirements for Inbound Data Files
What happens if I send in a file with IDs for visitors that have never performed the on-page ID sync?
FAQ 472
During processing, Audience Manager simply skips that record and moves on to the next. If a DPID (Data provider
ID) is set up as a cross-device DPID, data that is ingested before an ID sync is saved and is available for use shortly
after the ID sync occurs.
What is the time stamp, what is it for, and can you provide an example?
Time stamps are used for logging and record keeping. They are required by the syntax used for a properly formatted
inbound file name. See:
Amazon S3 Name and File Size Requirements for Inbound Data Files
FTP Name and File Size Requirements for Inbound Data Files
Your Adobe consultant will assign a three-digit or four-digit DPID to your particular data source. This ID is unique
and does not change.
Yes, see:
File Compression for Inbound Data Transfer Files
Amazon S3 Name and File Size Requirements for Inbound Data Files
FTP Name and File Size Requirements for Inbound Data Files
The primary key in my data source database is an email address. Is that considered personally identifiable
information?
Yes. Audience Manager does not store email addresses in our database. Visitors should be assigned a random ID
or a one-way-hashed version of the email address prior to initiating ID syncs.
Are the data file contents case-sensitive? How about the ID sync?
There are two basic components of a data file: A Unique User ID (UUID) and profile data, usually in the form of
key-value pairs or codes. The UUID is case-sensitive. Generally, profile or key-value data is not case-sensitive.
As best practice, we recommend Amazon S3 because the process is simpler. Audience Manager transfers FTP
files to S3 regardless, so the process is more streamlined if you drop the files on Amazon S3 yourself. Amazon S3
is also replicated and distributed, so it is generally safer and more reliable than an FTP server. For more information,
see Amazon S3: About.
Privacy FAQ
Data Retention FAQ
FAQ 473
Privacy FAQ
How does Audience Manager use cookies and what cookies does it set?
Yes. Audience Manager works with clients who have international properties and inventory. The EU has strict privacy
laws, but Audience Management has clients who use first-party data for audience targeting in Europe. Furthermore,
many EU properties disclose that they collect data, which satisfies privacy laws. Audience Manager can support
targeting to EU audiences, but it is your responsibility to comply with local privacy regulations.
While still an open question in the US, regulators in Europe consider IP addresses as personally identifiable information
(PII). As a result, companies that collect IP addresses in the EU are subject to strict data processing requirements.
To support expansion into the EU, and help reduce compliance requirements for our customers, we remove IP
addresses from log files. Also, this change addresses where we believe industry self-regulation and legally required
regulations are moving within the United States. Removing IP addresses is a proactive change that will help Audience
Manager (and our partners) comply with existing and future PII-related legislation.
After 120-days of user inactivity across all customers, Audience Manager deletes user
data from our back-end servers. If Audience Manager records user activity within this
120-day cycle, we will keep this data keep this data for another 120-days.
After 14-days of user inactivity across all customers, Audience Manager deletes user
data from our edge servers. If Audience Manager records user activity in within this
14-day cycle, we will keep this data for another 14-days. If the user becomes active
again after the 14-day period, there will be a delay between that first new page view
and when the user becomes actionable. It takes 6-18 hours to get the full profile back
out to the edge center after more than 14-days of inactivity.
Raw logs are data received by an edge server via HTTP calls or from onboarded files
sent in to Audience Manager.
FAQ 474
CRM-level profiles Data is kept indefinitely, but customers can set an expiration period by setting a
(authenticated profiles) time-to-live interval on their traits.
Inbound data This is inbound data you send to Audience Manager by FTP or directly to an Amazon
S3 directory. See the Inbound Customer Data Ingestion FAQ.
The Organization ID is a unique ID that identifies your organization to Audience Manager and the Adobe Marketing
Cloud. It consists of a case-sensitive, 24-character alphanumeric string followed by @AdobeOrg. For example, an
Organization ID looks like this: 1FD6776A524453CC0A490D44@AdobeOrg. The Organization ID is used by Audience
Manager's DIL API, the Marketing Cloud ID service, and other Marketing Cloud solutions. Users with Administrator
permissions can find the Organization ID on the Adobe Admin Console. See the Administration - User Management
FAQ.
Note: The Bulk Management Tools tools are not supported by Audience Manager. They're provided for
convenience and as a courtesy only. For bulk changes, we recommend you work with the Audience Manager
APIs instead.
Can Audience Manager reduce the need for third-party tags or pixels and improve page load times?
If Audience Manager is integrated with your third-party data partner, you can replace their pixels and tags with a
server-to-server ID call to Audience Manager. In this case, Audience Manager would fire a single ID call the first
time we see a user and synchronize that information with your third-party partner. This eliminates the need to make
multiple pixels call from every page. Reducing pixel calls can improve page load times.
Your Data Feed and all the traits contained in the feed appear as subfolders and traits in Audience Manager. Go to
Manage Data > Traits and expand the 3rd-Party Data folder to view your traits or create segments and models with
this data.
Contents:
A device graph is a set of ID mappings that defines groups of anonymous devices. It associates these devices to a
person or household based on common elements in the signals collected from each device. These signals help
identify devices at the individual or household level.
What are some common use cases for using an external device graph in a Profile Merge Rule?
The main objective of using a device graph in a Profile Merge Rule is to evaluate and qualify multiple devices
belonging to a single person or household for a specific segment. The segment itself may have multiple uses for
example, targeting an audience of prospects with and ad served by a DSP or personalizing a customers on-site
experience via an on-site personalization platform. See External Device Graph Use Cases.
Does Audience Manager provide global support for external device graphs?
No. External device graphs are available in the United States and Canada only.
How often does Audience Manager update external device graph data?
Once a week.
In Audience Manager, device graphs appear as configuration options when you create a Profile Merge Rule.Through
your Profile Merge Rules, these device graphs help Audience Manager:
Merge multiple device profiles together. This creates a single superset of traits.
Evaluate the trait superset for segment qualification (rather than evaluating each device profile individually).
Add qualified devices to available segments.
When qualifying a device for a segment using a Profile Merge Rule, Audience Manager merges and reads the current
device profile and a maximum of 3 additional device profiles linked by your selected external device graph option.
FAQ 476
Which devices qualify for a segment when using a device graph in a Profile Merge Rule?
The devices Audience Manager merges and reads are the same devices that are qualified for a segment.
Note: For external device graphs, Audience Manager stores the mapping between devices at the platform
level and selects 3 without evaluating their relationship to the devices seen in your instance of Audience
Manager.
Which devices can qualify for a segment using a Profile Merge Rule that contains a device graph?
To qualify for a segment, devices must have been seen by Audience Manager on our edge data servers after the
segment was created. Additionally, the edge servers:
Where can Audience Manager send segments that have been qualified by a Profile Merge Rule that uses a
device graph?
Audience Manager can send segments to a destination in batch files or in real-time. And, as noted in the FAQ entry
above, To qualify for a segment, devices must have been seen by Audience Manager on our edge data servers
after the segment was created.
Currently, Audience Manager does not remove (unsegment) devices from segments with a Profile Merge Rule
using a device graph. To help ensure that a device is properly qualified for segments using this type of Profile Merge
Rule, avoid the following when you create segment qualification criteria:
As a workaround to this temporary issue, create simple segments which do not use these operators and apply the
operators to unsegment users in the destination platform itself. For more information, see Profile Merge Rules and
Device Unsegmentation Processes.
Related reference includes Boolean Expressions in Trait and Segment Builder and Working With Comparison
Operators in Trait Builder.
If a destination can un-segment devices, will devices be removed from segments by Profile Merge Rules
that use a device graph?
No. Currently, this is unsupported for Profile Merge Rules that use a device graph option (e.g., Profile Link, the
Adobe device graph, and any other third-party device graph available to you as a device option). However,
unsegmentation is supported by Profile Merge Rules that use the Current Device Profile option.
If I build a segment with a Profile Merge Rule that uses a device graph and the segment is using both real-time
and on-boarded data, will my segment be updated as the on-boarded data changes?
FAQ 477
No. Currently, Audience Manager evaluates segments with a Profile Merge Rule that uses a device graph in
real-time only. Updates made to on-boarded traits after the segment has been evaluated will be used to qualify the
segment when the device is next seen by our edge data servers. This assumes the device profile is still active in
the edge servers and the on-boarded data has been made available to those systems. See also, the Privacy and
Data Retention FAQ.
Do segment size estimates include devices that qualify for a segment based on connections provided by a
Profile Merge Rule that uses a device graph option?
No. See the definitions for the Estimated Real-Time Population and Estimated Total Population in Trait and Segment
Population Data in Segment Builder.
Does Addressable Audiences include devices that qualify for a segment based on connections provided
by a Profile Merge Rule that uses a device graph option?
Yes.
The trait frequency is defined by the sum of the number of qualifications for a specific trait across multiple devices.
To help you understand this, take a look at the following use case.
Actions Audience Manager reads and merges the device profiles for Device A and Device B. From this,
we see the following:
Device A has qualified for Trait 1 three times. It has a frequency of 3 for Trait 1.
Device B has qualified for Trait 1 five times. It has a frequence of 5 for Trait 1.
Results Audience Manager sums the frequency for Trait 1 and uses 8 (3 + 5 = 8) to decide segment
qualification. Device A and Device B qualify for Segment 1 because it has a frequency of 8.
Yes. Reports return data at the Profile Merge Rule level. Report data is updated daily. Data is based on the devices
seen in your account, not those linked by an external device graph. See Report Metrics for Profile Merge Rules.
Can I see the number of devices qualified for a specific segment in real-time with Profile Merge Rules that
use a device graph?
FAQ 478
Yes. The real-time population metric captures segment qualifications for the current device (the device seen in
real-time) using the profiles from all of the devices linked by the external device graph.
Segment 1 built on these traits and qualification logic: Segment 1 = Trait A and Trait B and Trait
C.
3 device profiles: Device 1 (current device), Device 2 (device graph), Device 3 (device graph).
Device 1 : Trait A
Device 2 : Trait B
Device 3 : Trait C
Results Given the previous elements, the total population for Segment 1 is one.
In this case, the Profile Merge Rule uses all the devices and their traits to decide segment
qualification. This means Devices 1, 2, and 3 qualify for Segment 1, but, as noted above, only
Device 1 is included in the segment population because it is a real-time device. Devices 2 and 3
belong to a device graph, which, in this case, does not contain real-time data and is not included
in the report.
Can I see the total number of devices qualified for a specific segment with a Profile Merge Rule that uses a
device graph?
Yes. The total segment population metric includes the additional devices that have qualified for a segment based
on the connections from a device graph.
Segment 1 built on these traits and qualification logic: Segment 1 = Trait A and Trait B and
Trait C.
3 device profiles: Device 1 (current device), Device 2 (device graph), Device 3 (device graph).
Device 1 : Trait A
Device 2 : Trait B
Device 3 : Trait C
Results Given the previous elements, the total population for Segment 1 is three (3).
FAQ 479
In this case, the Profile Merge Rule uses all the devices and their traits to decide segment
qualification. This means Devices 1, 2, and 3 qualify for Segment 1 and all three are included
in the total population.
Reporting FAQ
Sometimes, after you upload traits, the Trait Graph doesn't show any results or shows lower than expected numbers.
This happens when the volume of data we receive is so great that the inbound processing job cannot finish ingesting
this information until after the reporting deadline for that day. As a result, this data is sent to the reporting system
late and won't show up in the 1-day reporting interval which is used for plotting the Trait Graph. However, you can
view this data in the 7, 14, 30, and 60-day report intervals in a Trend or General Report on the following day.
Some segments are missing from an Overlap report. Where are they?
To help reduce computational demand, these reports omit statistically insignificant data from the results. Your
segments are not missing, they're just dropped because they do not yield meaningful results or useful pools of users
that you can target. See also:
Data Sampling and Error Rates in Selected Audience Manager Reports
Counting Unique Users in Overlap and General Reports.
If I run an email marketing campaign, how can I determine if redirected users come to my site from that
campaign or from other sources?
Append a campaign-specific query string to the URL of the site section you want to monitor. Next, set up a trait rule
to capture this variable. For example, if your URL passes in a campaign ID like this,
www.test123.com/electronics?campaign=123, then create a trait rule to capture that data from the h_referer
variable with a trait rule that looks for a header like h_referer = 'campaign=123').
What is the difference between real-time and total segment population counts?
Real time: The number of unique users who are part of the segment and active on your properties during a set
time period (i.e., Audience Manager must have recorded activity for that user for the specific period of time).
Total segment population: An aggregation of all users who are currently classified in that segment.
Why is data available for total fires for traits but not segments?
Total fires correspond to page loads. Total trait fires provide the number of times that specific trait has fired. This
number will always be equal to, or greater than, your unique user count. By contrast, segments are audience profiles
that represent groups of users. Segments don't correlate to page loads or views because they're tied to logic that
classifies users based on rules, not individual traits.
I have a segment consisting of just one trait. When I look at Reporting metrics, their counts don't match.
Why is that?
See .
FAQ 480
I Inbound a file and my Inbound receipt shows a high number of successfully processed records, but
reporting shows much lower numbers. Why?
In the backend, onboarded data gets attached only to users that are still active in AAM (user must have had recent
DCS activity in the past 120 days). Therefore, if you onboard data for users that have already expired in AAM,
Inbound might tell you that a certain number of user records were onboarded, but if these users have not had any
recent activity, this data is dropped when it reaches our User Profile Store and reporting will surface that.
Why are the trait uniques for my cross-device onboarded traits much higher than the total number of
onboarded records?
If you onboard a file for a cross-device data provider keyed off the customer ID, Audience Manager performs a
lookup to get all device IDs that are associated with each of the onboarded customer IDs. Audience Manager then
assigns the onboarded traits to the device ID associated with the customer ID.
As an example, suppose you have onboarded 100 records. For each of these customer IDs, on average, AAM has
associated three device IDs. As a result, the trait that was onboarded is assigned to 300 device IDs.
There are two reasons why a single cross-device customer ID can be associated with multiple device IDs:
Users are logging in to the same cross-device account from multiple computers/browsers.
Users are clearing their cookies. Note: Abandoned cookies are deleted after 120 days of user inactivity.
Why are Total Fires for my onboared traits always 0?
Total fires correspond to page loads. Total trait fires provide the number of times that specific trait has fired in realtime.
This number is calculated for rule-based traits only. Onboarded traits always show Total Fires as 0.
Targeting FAQ
To target users I've never seen on my site with third-party data, should I use third-party data in Audience
Manager or in a DSP?
The answer depends on your goals. For example, if your campaign is designed to find new clients with third-party
data, then work directly with a DSP. Remember, Audience Manager synchronizes data with a third-party data provider
only when we see that user. If we have never seen a user before, our system will not have any information for that
site visitor. For campaigns that only want to use third-party data to target users who have never visited any of your
properties, then create those segments through the DSP.
Audience Manager lets you aggregate users and market to them based on shared attributes or traits. However, to
comply with industry regulations, Audience Manager customers may not send personally identifiable information
(PII) to our systems. As a result, you cannot use email addresses, individual names, physical addresses, etc. for
targeting.
We recommend you use a server-to-server connection to exchange data with your preferred retargeting platform.
Audience Manager exchanges data with most of the major DSPs through server-to-server connections.
Server-to-server data transfers help prevent other actors from intercepting your data and re-selling that audience
information.
Is the Audience Manager unique user ID (UUID) tied to an ad server's unique user ID by ID synching directly
on the page?
No. ID synchs are not made on the page for on-site publishers or servers. The Audience Manager UUID is inserted
into the u= field of the ad server log files. This happens as segment gets passed in for targeting. The DIL code
module performs this function. This is the same mechanism that allows us to map the server's user ID to an Audience
Manager user for segment performance reporting. However, if an ad server is present on site, then we synch IDs
directly on the page.
Does Audience Manager count a user who logs on from different devices as one unique user or different
unique users?
Declared ID Targeting helps Audience Manager identify a visitor across multiple devices with a single unique identifier.
However, from a targeting or destination perspective, this is still 2 (or more) users because DSPs cannot reconcile
those multiple IDs.
Can Audience Manager identify a user from display and mobile devices.
Can I score users with data collected online and retarget them based on this model score?
Yes. Audience Manager can provide data files to help you score users, but you must work with other vendors or
software to analyze and rank this information. Send this data to Audience Manager in the form of key-value pairs.
We can take this information and append it to existing user profiles. Contact your Partner Solutions representative
to review this process.
What are the cookie deletion rates over a given 1 - 2 month period?
Cookie deletion is difficult to measure. Most cookie deletion comes from a few visitors who delete cookies frequently.
However, most browser cookies are stable for at least 30 days, even though some may have a limited life. Some
studies suggest upper-funnel targeting that is greater than 30 days would effectively eliminate 7% of the browser
target audience over a 30-day period. As you know, 30 day campaigns for a given creative message are standard
in the industry. From what weve seen, that 7% drop-off is accurate.
Cookie deletion has an adverse effect on reach and frequency calculations. As a result, we stress the value of
behavioral data when trying to understand the true nature of consumer trends for display campaign planning. Our
clients can leverage Audience Manager segment overlap reports, optimal impression frequency reports, and unique
user trends over specific date ranges to be more scientific about campaign planning and optimal date ranges for
running campaigns.
The user interface lets you determine the cookie expiration interval. You can set cookies to expire after n number
of days or never.
It depends. Cost is based on unique users. If a campaign results in net new users, then yes, this will cost more. If
your campaign reaches places where we're already collecting data, then there's no additional cost. If your campaign
FAQ 482
runs on related sites where there is significant overlap, there will be additional cost for the new unique users we
see.
2017 Documentation Updates 483
July, 2017
Topic Description
CSV Files for Overlap Reports Revised to note that string data is enclosed in double-quotes " ".
Profile Merge Rules and Device Revised and updated to include information about unsegmentation and how
Graph FAQ device graphs affect merge rules and reporting.
Profile Merge Rules and Device New content that describes how unsegmentation works with Profile Merge
Un-Segmentation Processes Rules.
Trait and Segment Population Revised with new definitions that account for how Profile Merge Rules affect
Data in Segment Builder reporting numbers.
Audience Marketplace for Data New and revised content for data feed subscription workflows.
Buyers
June, 2017
Topic Description
API Requirements and Revised content and included new information about creating a generic, API-only
Recommendations user.
Folder Traits A folder trait allows you to capture all the users and activities from its associated
folder and any child folder.
Folder Traits: About Folder traits let you automatically aggregate traits that reside within the same
folder and all child folders into a targetable segment.
Create a Folder Trait A folder trait is created automatically when you create a new folder in your
taxonomy.
Edit a Folder Trait The Edit workflow allows you to change the data source for folder traits.
2017 Documentation Updates 484
Topic Description
Delete a Folder Trait Delete a folder trait by deleting the storage folder that the trait belongs to.
Trait Summary View Surfaces two new metrics in the Trait Summary View: Unique Trait Realizations
and Total Trait Population.
Usage Limits Added Folder limits and Folder Trait limits to the documentation.
Run a General Report Updated to include the new metrics Unique Trait Realizations, Total Trait
Realizations, Total Trait Population. We also added new day ranges to the
reporting look-back window.You can now select a 1, 7, 14, 30, 60, 90-day range
or lifetime.
Run a Trend Report Updated to include the new metrics Unique Trait Realizations, Total Trait
Realizations, Total Trait Population. We also added new day ranges to the
reporting look-back window. You can now select a 1, 7, 14, 30, 60 or 90-day
range.
Trait and Segment Population Changed a metric to Total Trait Population from Unique Trait Realizations.
Data in Segment Builder
Remove Traits from a Segment Instructions about how to remove traits from a segment using Segment Builder.
Data Feed Deactivation: Why It Revised with more information about why feeds are deactivated and what you
Happens and How to Respond should do when this happens.
May, 2017
Topic Description
File Compression for Inbound Data
We increased the documented optimal and maximum file sizes for compressed
Transfer Files
files.
Audience Lab Use Cases A new section in our documentation, highlighting several use cases for the
Audience Lab feature.
2017 Documentation Updates 485
Topic Description
Compare Models in Audience Lab You can use several different types and sources of models in Audience
Manager. Audience Lab offers an easy way to compare your customers'
conversion rates, across your active models.
Testing Creatives Across Use Audience Lab to measure the number of conversions a creative is driving
Destinations across different destinations. This use case also allows you to measure the
conversions of the creative against naturally occurring conversions.
Profile Merge Rules and Device Added a new FAQ to help answer common Profile Merge Rule and device
Graph FAQ graph questions.
Understanding TraitWeight Revised content to account for the changed weighting model. The new model
weights traits on a 0% to 100% scale rather than just on a 0 to 1 scale.
Models Summary View
April, 2017
Topic Description
Outbound Hadoop Sequence Files Export data from Audience Manager into your own Hadoop instance using a
native binary Hadoop Sequence File format (SEQ).
URL Format for Passing Data to DCS HTTP response calls now contain the tid field. Use this field for debugging
the DCS purposes in case of incidents.
Send Batch Data to Audience Added information on the Production and Beta environment locations for the
Manager Overview Amazon S3 service.
Segment Performance Report Added a note, clarifying that 7-day and 30-day look-back periods are only
available for Sunday Date Through dates.
Unique User Reach
Customer Data Feeds Significant revisions include new information and a complete rewrite and
reorganization of this documentation.
Topic Description
Trait and Segment Population Data Revised content to include information about this redesigned UI feature.
in Segment Builder
Understanding Calls to the Added a new doc on why Audience Manager makes calls to the demdex.net
Demdex Domain domain.
March, 2017
Topic Description
Variable Prefix Requirements Updated the Key Variable Prefixes with _p, identifying private parameters in
Audience Manager.
Prefix Requirements for Key Updated the Key Variable Prefixes with _p, identifying private parameters in
Variables Audience Manager.
Create a Segment Added further search and filter capabilities to the Browse All Traits advanced
search.
Trait List View UI improvements to the way you can search and filter traits in the Traits
Dashboard.
Overlap Reports: Update Schedule Specified the cutoff time for segment creation as 12 AM Thursday UTC so that
and Minimum Segment Size the users are included in the Overlap Reports for that particular week.
Profile Link This section contains new and revised content to support the Profile Link and
third-party device graph options.
February, 2017
Topic Description
DCS Error Codes, Messages, and Added Integration Warnings to DCS Error Codes.
Examples
Outbound Data File Name: Syntax Added optional file name element PID-ALIAS in the Outbound file.
and Examples
2017 Documentation Updates 487
Topic Description
Segment Summary View Added 1, 14, 90-day and lifetime look-back periods for real-time and total
segment population.
Using DNS Prefetch with Different Describes how to implement DNS prefetch to help reduce page load times.
Marketing Cloud Solutions
DIL create Revised description and added related links to the containerSNID property of
DIL.create.
Audience Manager API Code Revised with new content related to Swagger and migrated API methods.
Migration
January, 2017
Topic Description
Usage Limits Added maximum audience size and advice on how to reduce it to usage limits
documentation.
Audience Optimization Reports Revised section to include new descriptions and images of updated reports.
Name and Content Requirements Added ID sync sample files and added a more precise explanation around how
for ID Synchronization Files the ID sync process works.
Models Summary View Updated the models summary page to include available model details and
controls.
Index of IDs in Audience Manager Updated with the expected format for mobile device IDs (DAID) handled by
Audience Manager.
Amazon S3 Name and File Size Added a note advising that the inbound data validation process will mark empty
Requirements for Inbound Data files as invalid and will not process them.
Files
Product Features and Functions Added new entry that describes the Marketing Cloud Organization ID, including
FAQ information on how to find it.
Topic Description
Previous Years
Links to Audience Manager release notes and documentation changes prior to 2017. For an archive of older changes
at the Marketing Cloud level, see the previous release notes.
A list of new and revised Audience Manager documentation released in 2016. Includes minor updates or changes
to the Audience Manager guide that might not be included in the Marketing Cloud release notes.
December, 2016
Topic Description
Understanding TraitWeight Documented an extra step in the algorithmic discovery process. This step
explains the evolution of algorithmic traits over several data processing cycles.
Data Sampling and Error Rates in Revised to include new information and for clarity and style.
Selected Audience Manager
Reports
Traffic DIL in Google Tag Manager After a Google update in May 2016, you can load DIL code in the custom
(GTM) HTML section of a tag. You no longer have to host the code remotely.
Data Collection and Product Includes a new entry about white-listing Audience Manager IP and FTP
Integration FAQ addresses.
Privacy and Data Retention FAQ Updated and revised the original doc to include privacy content.
CSV Files for Overlap Reports You can request a .csv file for an Overlap Report when that report reaches its
1-million record limit. Files are available for segment-to-segment,
segment-to-trait, and trait-to-trait overlap reports.
GA.submitUniversalAnalytics Documentation that describes a new DIL method that lets you send data to
Audience Manager from Google's Universal Analytics.
November, 2016
Topic Description
Visitor Authentication States in Audience Manager handles the visitor ID authentication statuses UNKNOWN and
Audience Manager LOGGED_OUT in the same way. The document provides more information on
how we handle setCustomerID event calls.
2017 Documentation Updates 489
Topic Description
CID Replaces DPID and DPUUID You can now use Customer ID integration codes for mobile identifier data
sources. Use the DSID_20914 CID_IC for Android devices and DSID_20915
CID_IC for iOS devices.
Index of IDs in Audience Manager Refer to this document for a complete list of Audience Manager IDs.
Audience Lab FAQ Frequently asked questions about the Audience Lab feature.
Date Ranges in Addressable New content that describes how time intervals work for Addressable
Audiences and Destinations Audiences and Destinations.
Addressable Audience Metrics Updated descriptions for new and revised report metrics.
Destinations Home Page New content that describes features on the Destinations landing page.
October, 2016
Topic Description
OAuth 2.0 Integration for Real-Time Added the capability of securing your real-time outbound data transfer through
Outbound Transfers the OAuth 2.0 protocol. Contact your Adobe Audience Manager consultant to
get started.
Data Feed Deactivation: Why It Fixed incorrect header names provided in the deactivation email attachment.
Happens and How to Respond
Import DCM Data Files Into Added note to remind customers to check their file format with their DCM
Audience Manager account manager.
GA.init Revised to note that GA.init() does not work with the latest version of
Google's analytics code, analytics.js.
Amazon S3: About Added encryption-at-rest for batch outbound data transfers.
Profile Merge Rule Options Defined Revised to include more information about the Adobe Marketing Cloud Device
Co-op.
2017 Documentation Updates 490
September, 2016
Topic Description
Privacy and Data Retention FAQ Modified the demdex cookie's and the partner cookie's time-to-live (TTL) value
to 180 days to comply with French CNIL regulations.
Cookies used in the Marketing Cloud Modified the demdex cookie's and the partner cookie's time-to-live (TTL) value
to 180 days to comply with French CNIL regulations.
Understanding the Data Integration A general overview of the Data Information Library (DIL).
Library (DIL)
Inbound Data File Contents: Syntax, Updated the invalid characters list in trait IDs for inbound data files.
Invalid Characters, Variables, and
Examples
Time Zones in Audience Manager Audience Manager uses Coordinated Universal Time (UTC) across its entire
UI.
Audience Manager API Code Added links to Segment Test Group APIs & Data Feed Request API.
Migration
August, 2016
Topic Description
Audience Lab Create mutually exclusive test segments in Segment Test Groups to compare
and measure effectiveness of different destinations.
DCS Error Codes, Messages, and Added new customer-facing error codes to the index.
Examples
secureDataCollection Control how DIL makes data collection calls with HTTP or HTTPS.
API FAQ Updated content that explains why DIL uses GET and POST methods to send
data in an event call.
2017 Documentation Updates 491
Topic Description
Real-Time Outbound Data Transfers Updated with additional requirements and information.
July, 2016
Topic Description
Getting Started With Bulk A new bulk management template, v0.4.2 is available for download.
Management
Audience Optimization Reports Updated the Audience Optimizationreports with Cross Channel Conversion,
Role-Based Access Control, Conversion Groups, and the Reported Conversion
Traits report.
Cross Channel Conversion The Cross Channel Conversion option in the Audience Optimization reports
allows you to attribute offline conversions to served online impressions or
clicks.
Reported Conversion Traits This report shows you all the traits labeled as conversion traits for a conversion
group at a certain date.
Geotargeting With Platform-level Updated the keys list with the latest values.
Keys
June, 2016
Topic Description
Server Side Forwarding Server-side forwarding replaces DIL code with the
Audience Management Module as the data collection
and transfer mechanism for Audience Manager.
Capturing Campaign Impression Data via Pixel Calls Updated to include passing mobile IDs with d_cid.
April, 2016
Topic Description
Profile Merge Rules Dashboard Revised to show new Merge Rule cards on the
dashboard.
Profile Merge Rule Options Defined Revised to include new report metrics.
Report Metrics for Profile Merge Rules New documentation defines the report metrics and graphs
for Profile Merge.
Audience Manager Segments in Analytics Share Audience Manager segments with Analytics in
real-time.
March, 2016
Topic Description
Working with Comparison Operators in Trait Builder Added a new named operator, Matcheswords. It let's you
specify a matching word patters without using a regular
expression.
February, 2016
Topic Description
Deactivate a Subscriber's Data Feed Describes how Audience Marketplace data providers
deactivate a subscriber's feed.
Data Feed Deactivation: Why It Happens and How to Describes what an Audience Marketplace data buyer
Respond can expect if a provider revokes access to a data feed.
DCS Error Codes, Messages, and Examples Added error 172 for blocked cookies.
Name and Content Requirements for ID Synchronization Revised content to improve clarity. New section about
Files how the file names and file content IDs map to each other.
2017 Documentation Updates 493
Topic Description
Amazon S3 Name and File Size Requirements for Revised content to include syntax for Android and iOS
Inbound Data Files codes in the file names.
January, 2016
Topic Description
Send Segments to a Google AdWords Remarketing List Instructions on how to send segment data to a Google
AdWords remarketing list.
Visitor Profile Viewer Added a note that says access to this feature requires
admin permissions.
Making DCS API Calls Revised text to include the d_mid variable.
Supported Variables
Capturing Campaign Impression Data via Pixel Calls Added new key and macro entries for d_mid and
d_region.
Data Files for Audience Optimization Reports Added new description for Event Type.
Understanding the Data Provider Billing Report New documentation that lists and defines the items in an
Audience Marketplace billing report.
Understanding the Plan Details Page in Audience New documentation that describes the plan information
Marketplace shown in a buyer's subscription details page.
2017 Documentation Updates 494
A list of new and revised Audience Manager documentation released in 2015. Includes minor updates or changes
to the Audience Manager guide that might not be included in the Marketing Cloud release notes.
November, 2015
Topic Description
Geotargeting With Platform-level Keys Updated with links to a downloadable list of region IDs.
Password Requirements, Locked Accounts, and Revised to include new password requirements.
Forgotten Passwords
Billing and Impression Allocation for CPM Data Feeds Instructions on how to allocate impressions for different
CPM Data Feeds.
Billing and Impression Allocation for Flat Fee Data Feeds Instructions on how to allocate impressions for different
flat fee Data Feeds.
Discounts for Data Providers Discounts let data providers reduce the price of a data
feed for selected buyers.
Discounts for Data Buyers Buyers can request or subscribe to discounted data feeds.
October, 2015
Topic Description
CID Replaces DPID and DPUUID Update your code to use d_cid or d_cid_ic instead of
d_dpid and d_dpuuid. The DPID and DPUUID variables
will continue to work, but you should consider them
deprecated. This includes DPID and DPUUID variants
without the d_ prefix.
URL Variables and Syntax for Declared IDs Revised text to include the d_cid and d_cid_ic key-value
pairs.
Declared ID Targeting
Private Data Feeds A private data feed is an option that lets providers limit
buyer access to their data. Data providers and buyers
2017 Documentation Updates 495
Topic Description
DCS Error Codes, Messages, and Examples A list and descriptions of error codes and messages
returned by the DCS.
September, 2015
Topic Description
Data and Metadata Files for Audience Optimization Format and content requirements for bringing data into
Reports the Audience Optimization reports.
Capturing Campaign Impression Data via Pixel Calls Text revisions and updates. Also, included new key-value
pairs required to use and see readable data names in
the Advertising Analytics reports.
Capturing Campaign Click Data via Pixel Calls Text revisions and updates. Also, included new key-value
pairs required to use and see readable data names in
the Advertising Analytics reports.
August, 2015
Topic Description
Bulk Management Tools The Bulk Management Tools let you create and manage
multiple objects at once with single operation. You can
use Bulk Management Tools to work with data sources,
derived signals, destinations, folders, segments, and
traits.
Profile Merge Customer Enablement Analytics customers need to set an integration code when
using the Master Marketing Profile and passing declared
IDs through the Visitor ID service to Audience Manager.
Topic Description
System Components Updated text and new images that explain how various
Audience Manager systems work and how data flows
through our system.
July, 2015
Topic Description
Documentation links and cross-references. Updated obsolete links. Clicking a cross-reference should
take you to the correct document instead of a redirect
notification.
Import DCM Data Files Into Audience Manager Bring your DoubleClick Campaign Manager data into
Audience Manager.
DCS Integration Use DCS code as an API for real-time data transfers.
June, 2015
Topic Description
May, 2015
Topic Description
Topic Description
Understanding Wild Card Permissions Added information about Wild Card Permissions and
how to use them.
April, 2015
Topic Description
Reporting FAQ Added a new FAQ that explains why Total Fires for onboarded traits always displays
as 0.
Geotargeting With Added information about targeting in the United Kingdom and Netherlands Antilles.
Platform-level Keys
March, 2015
Topic Description
Reporting FAQ Added a new FAQ that explains why the number of
successfully processed records might differ when
comparing the Inbound receipt and reporting in AAM.
Added a new FAQ that explains why the trait uniques for
my cross-device onboarded traits are higher than the
total number of onboarded records.
February, 2015
Topic Description
How Data Delivery and File Processing Times Affect Updated the times for daily inbound file ingestion and
Reports outbound file export.
2017 Documentation Updates 498
Topic Description
Recency and Frequency Added the following information to the Limitations and
Rules section:
For example:
frequency([1000T]) <= 5
For example:
January, 2015
Topic Description
Folder API Methods Changed the code sample to include the folder count property.
Inbound Customer Data Clarified the amount of time is takes for inbound data to be propagated to the edge.
Ingestion FAQ
Significantly edited topic.
General Reports Added section explaining how numbers in General Reports are generated.
Reporting FAQ Added information explaining why there could be a difference between real-time
segment population and the unique values.
Profile Merge Customer Added additional step to explain how to add the use of Declared IDs to DIL and
Enablement the Mobile SDK.
Recency and Frequency Added bullet explaining that you can configure frequency requirements without
configuring recency requirements by leaving recency blank.
Outbound Data File Contents: Added information about removed segments in outbound files.
Syntax and Parameters
If There's a Problem
Customer Care is prepared to help you solve any issues that might arise. Provide as much of this information as
you can when contacting Customer Care. This will help the team understand and resolve your issue.
Basic Information
For technical issues or to log a bug, contact Customer Care.
Telephone: 1-800-497-0335
For toll-free numbers outside the United States, see our regional Customer Care contact numbers site. When asked
to select an option for your product, press 4 to contact the Audience Manager team.
Email: [email protected]
Please have the following information ready before contacting us.
Item Description
Company name.
Audience Manager sub-domain (if known). The sub-domain is the URL of the
domain that sends data collection events to Adobe (e.g.,
https://myCompany.demdex.net).
Steps to Reproduce Include as much detail as possible, including any URLs needed to duplicate the
problem as well as the expected result. Your description should contain enough
detail that somebody unfamiliar with Audience Manager should be able to follow
your steps or procedures and reproduce the problem.
Priority Assign a priority to this issue. The priority range is from P1 (most important) to P4
(least important).
Business Impact Describe how this issue affects your business. For example, is this issue causing
revenue loss or rendering the product unusable? Have you been working around
this issue?
In Case of an Outage
If you suspect there is an outage, first check the Marketing Cloud System Status page (http://status.adobe.com)
This has a record of all outages, incidents and maintenance for Marketing Cloud Solutions, including Audience
Manager, and includes latest updates from our Tech Ops team. If you still require assistance, please ensure you
know the following in addition to the information listed above when you contact Customer Care:
Data Privacy
Describes Audience Manager integration and compliance with generally accepted best practices related to consumer
privacy and opt-out procedures.
This section contains the following information:
Consumer Privacy Protection
Data Privacy
Collection of IP Addresses
Data Privacy
See the Adobe Privacy Center.
Collection of IP Addresses
Adobe has enabled processes and offers settings that allow customers to use Audience Manager in compliance
with applicable data privacy laws.
The IP address of a visitor to a customers website is transmitted to an Adobe Data Processing Center (DPC) where
the IP address may be stored. Depending on the network configuration for the visitor, the IP address does not
necessarily represent the IP address of the visitors computer. For example, the IP address could be the external
IP address of a Network Address Translation (NAT) firewall, HTTP proxy, or Internet gateway.
Replacement of Last Octet of the IP Address: Adobe has developed a new privacy by design setting that can
be enabled by Audience Manager Consulting. When this setting is enabled, the last octet (the last portion) of the IP
address is immediately hidden when the IP address is collected by Adobe. This anonymization is performed prior
to any processing of the IP address, including before an optional geo-lookup of the IP address.
For example:
Help, Privacy, and Legal 502
123.45.67.89
is changed to
123.45.67.0
When this feature is enabled, the IP address is made sufficiently anonymous so it is no longer identifiable as personal
information. As a result, Adobe Audience Manager can be used in compliance with data privacy laws in countries
that do not permit the collection of personal information. Obtaining city-level information will likely be significantly
impacted by the obfuscation of the IP address. Obtaining region- and country-level information should only be slightly
impacted.
Note: Contact your Audience Manager Consulting representative to enable the IP obfuscation feature.
GeoSegmentation: If customers enable the replacement of the last octet of the IP address, the remaining values
of the IP address can still be utilized for geo-segmentation and reporting in Audience Manager. If the last octet of
the IP address has not been obfuscated, the full IP address is used. Customers can use the GeoSegmentation
feature that allows the customer to map out visitor location by geographic area in either case, but with some slight
loss of precision when IP obfuscation is being used. GeoSegmentation data is granular only to the city level or zip
code level, and not to the individual level.
Information to help you contact Adobe and to understand the legal issues concerning your use of this product and
documentation.
Legal
Published by Adobe Systems Incorporated.
Adobe and the Adobe logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the
United States and/or other countries. A trademark symbol (, , etc.) denotes an Adobe trademark.
Help, Privacy, and Legal 503
All third-party trademarks are the property of their respective owners. Updated Information/Additional Third Party
Code Information available at http://www.adobe.com/go/thirdparty.