Audience Resolution and Marketing Relationship Standardization

To support Customer 360 and AI-driven analytical use cases, the CDM introduces a standardized approach to modeling marketing relationships and resolving audience participation across multiple execution levels.

Campaign participation is captured via contact history, while offer and product relationships are derived through campaign and offer metadata. Campaigns are not always executed at a customer level and may instead target different audience levels such as customer, account, or device. However, these multi-level relationships are often represented through JSON structures or implicit joins.
Note: During campaign creation, products must be added at the offer level. After the campaign is created, the product information is retrieved by joining the following tables:
  • UA_OFFER
  • UA_OfferAttribute
  • UA_AttributeDef

These tables are used to derive and populate the product values associated with the campaign.

Challenges Addressed

  • Complex downstream queries due to lack of standardized relationships
  • Poor performance for analytical workloads
  • Difficulty for AI agents to generate accurate and consistent SQL
  • Inconsistent handling of campaign participation across different audience levels

Solution: Standardized Approach

A normalized bridge table captures valid Campaign → Offer → Channel → Product combinations, while customer exposure is derived by mapping campaign participation to customer identifiers through a configurable audience resolution layer.

The Audience_map table abstracts the underlying audience level by treating campaign inputs generically and resolving them to customer identifiers based on predefined criteria. This enables the system to support campaigns executed at multiple levels while ensuring that all downstream outputs are consistently aligned to a customer-centric view.

Audience Resolution Configuration

As part of metadata population (Foundation Setup Step 3), the following configurations must be completed to enable audience resolution:

  • Populate Audience_map table with mapping rules for all supported audience levels (customer, account, device)
  • Define resolution priority and transformation logic for each audience type
  • Configure Campaign–Offer–Channel–Product bridge relationships in metadata
  • Validate that all campaign participation data can be resolved to a customer identifier
Important: Failure to configure audience resolution correctly will result in inconsistent Customer 360 aggregation and inaccurate analytical outputs for Flowchart 360 and ML feature generation.

Example — Account-Level Campaign Resolution

The following example shows how a campaign executed at account level is resolved to a customer identifier via the Audience_map table.

  1. Source campaign participation record:

    audience_level = ACCOUNT | audience_id = ACC_001234

  2. Audience_map lookup resolves to customer:

    ACC_001234 → party_id = P_98765 (as per the audience criteria for audience table)

Result: Customer 360 aggregation uses party_id P_98765. Campaign contact and response are attributed correctly to the unified customer profile.