---
title: Federated Audience Composition (FAC) Use Case Scenarios
slug: truist-fac-hol/yjv3-federated-audience-c
docTags: 
createdAt: 2025-08-27T17:21:54.495Z
---

## Product documentations & Availability

Federated Audience Composition (FAC) in Experience Platform enables you to access and create audiences with corresponding high-value attributes from enterprise data warehouses, which enrich and supplement the real-time customer profile and audiences in Experience Platform for improved segmentation, targeting, activation, and delivery of impactful customer experiences. Using Federated Audience Composition, a virtual database is created by linking remote databases through metadata. This approach simplifies access, reduces duplication, and enhances end-user experience.

[Federated Audience Composition (FAC) Overview](https://experienceleague.adobe.com/en/docs/federated-audience-composition/using/home)

**[Federated Audience Composition (FAC) Tutorial](https://experienceleague.adobe.com/en/docs/platform-learn/tutorials/audiences/overview-of-federated-audience-composition)**

[Getting started with audience composition](https://experienceleague.adobe.com/en/docs/federated-audience-composition/using/compositions/gs-compositions)

[Federated Audience Composition FAQ](https://experienceleague.adobe.com/en/docs/federated-audience-composition/using/start/faq)

:::hint{type="info"}
Federated Audience Composition feature is enabled at sandbox level.

Enabling this feature creates product profile, of the format `ACP_FAC - <sandbox> - admin`, in Adobe Experience Platform product. Users need to be added to this product profile, to be able to access feature.
:::

***

## Retail scenario

### Database connection

**Name**: Luma Datasource

**Type**: Snowflake

### Entities & Relationships

**[📄 Luma - Data Model (v2.0)](https://adobe.sharepoint.com/\:x:/s/DemoSystemNext/EZIkhXHRSSxJuntApz-qi5wBfUUDb_KxXlmU37vmS8GATg?e=zQxA4G)**

![Luma (Retail) Data Model v2.0](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-J3nLf-2QJomVCYICDBsOl-20241206-072318.png "Luma (Retail) Data Model v2.0")

### Compositions



![](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX--ZEKpbM6X98P7MKzTGzvS-20241206-143432.png)

**Identity**: Email

**Result audience name**: Loyalist and Women Category (v2)

**Scheduled**: No

**Highlight**: Enrichment

- "Favourite Sub-Category" (CRM) contains "Women"
- "Loyalty status" (CRM) is True
- Having "Order value" > $1,500

**Create audience**:

*Customers whose category affinity is equal to women, and they are signed up for the loyalty program.*

**[Use-case 1: Loyalist and Women Category](https://experience.adobe.com/#/@demosystem4/sname\:public-luma/platform/federated-data/xtkWorkflow/13121)**



![](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-CwFwVYLdh-JrBLhIIydm2-20241206-143144.png)

**Identity**: Email

**Result audience name**: Birthday this month - Active orders, Birthday this month - No active orders

**Scheduled**: No

**Highlight**: Conditional split, Enrichment

- Birthdate falls in current month
- "Loyalty status" (CRM) is True

**Create audience**:

*Create audience of customers who have a birthday this month, if they have an active order, target them for a birthday offer that references their order status. However, if they do not have an active order, just target them with a birthday offer.*

**[Use-case 2: Birthday Month offers](https://experience.adobe.com/#/@demosystem4/sname\:public-luma/platform/federated-data/xtkWorkflow/13270)**



![](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-S0i_QtSjcquLwEqQmEMcw-20241206-141720.png)

**Identity**: Email

**Result audience name**: Luma Prime Member with Wishlist, Luma Prime Member with Recommendation

**Scheduled**: No

**Highlight**: Conditional split, Enrichment

- Total order value greater than $1000
- Based on linked "Wishlist" items split into two categories of audience.

**Create audience**:

*Prior Order History is greater or equal to $1000 and has consented to marketing communications. Additionally, with enrichment, we can also couple together this output with, “does a Wishlist exist?” for this specific user – this could warrant retargeting or offers being sent to that user when an item / product on their wish list changes price or stock levels.*

**[Use-case 3: Customer Avg. Order > $1000](https://experience.adobe.com/#/@demosystem4/sname\:public-luma/platform/federated-data/xtkWorkflow/13540)**

***

## FSI Scenario

### Database connection

**Name**: SecurFinancial Datasource

**Type**: Snowflake

### Entities & Relationships

**[📄 SecurFinancial - Data Model (v2.0)](https://adobe.sharepoint.com/\:x:/s/DemoSystemNext/EQ5XbtM91aRIo8ERm87-bSsBWS9xw1-OiiDt5cikK_bsaQ?e=TNoCg0)**

![SecurFinancial (FSI) Data Model v2.0](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-szkRxv9eigT_eFVcvbG0j-20241206-072517.png "SecurFinancial (FSI) Data Model v2.0")

### Compositions



![](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-IkkJjf1KpO8JDJfL7LRUX-20241206-143826.png)

**Identity**: Email

**Result audience name**: PREMIUM Card Upgrade Prospect

**Scheduled**: Yes, Once on weekdays

- "Consumer Credit score" (CRM) greater than 67
- "Recommendation" name contains "Premium Membership"
- "Recommendation" is valid i.e. "Valid up to" date is greater than today.

**Create audience**:

*Customers segment for premium card feature promotion.*

**[Use-case 1: PREMIUM Card Upgrade Prospects](https://experience.adobe.com/#/@demosystem4/sname\:public-securfinancial/platform/federated-data/xtkWorkflow/10600)**



![](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-k3tL_Db4PyKpMKLRf5lbK-20241206-143914.png)

**Identity**: Email

**Result audience name**: Co-branded Credit Card - High Propensity, Co-branded Credit Card - Low Propensity

**Scheduled**: Yes, Once on weekdays

- "Recommendation" contains "Co-branded credit card"
- "Recommendation" is valid i.e. "Valid up to" date is greater than today.
- Recent transactions of type "Request Card Replacement", "Apply Credit Card" etc. has product category "Credit Cards"

**Create audience**:

*Pre- approved for a co-branded credit card using the event types of either transaction, payment, or information*

**[Use-case 2: Co-branded Credit Card Eligibe](https://experience.adobe.com/#/@demosystem4/sname\:public-securfinancial/platform/federated-data/xtkWorkflow/10390)**

***

## Telco scenario

### Database connection

**Name**: CitiSignal Datasource

**Type**: Snowflake

### Entities & Relationships

**[📄 CitiSignal - Data Model (v2.0)](https://adobe.sharepoint.com/\:x:/s/DemoSystemNext/EebJdfVhaMBOmFY7HfZpZv0BQ0dmFZ-_qFMYhkKzyAcauw?e=yFRKSO)**

![CitiSignal (Telco) Data Model](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-onSa-34NpfixE5WEMC6-x-20250127-071945.jpg "CitiSignal (Telco) Data Model")

### Compositions



![CitiSignal - Cross sell (Transaction based) Workflow](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-PLKyy_bAEjl12gHttIzuI-20250130-143603.png "CitiSignal - Cross sell (Transaction based) Workflow")

- Target profiles with marketing consent.
- Enrich filtered audience with personalize attributes, such as, eligibility for fibre connection, propensity for device upgrade, number of devices owned, (aggregate) quarterly average order value etc.
- **Split the audience**:
  - High Pre-paid Transactions:
    `(``[Engagements/Items/Product/@PRODUCT_CATEGORY]``  equal to  ``Subscription Plans``) AND (``[Engagements/Items/Product/@PRODUCT_SUB_CATEGORY]`` included in (``Prepaid Plans, Data Add-ons, Entertainment Add-ons``)) AND (``[Engagements/@EVENT_DATE]``  greater than or equal to  ``6 months ago``) AND (Sum(``[Engagements/@TRANSACTION_AMOUNT]``) greater than ``500``)`
  - High Roaming Transactions:
    `(``[Engagements/Items/Product/@PRODUCT_CATEGORY]``  equal to  ``Subscription Plans``) AND (``[Engagements/Items/Product/@PRODUCT_SUB_CATEGORY]``  equal to  ``Mobile Roaming Plans``) AND (``[Engagements/@EVENT_DATE]``  greater than or equal to  ``6 months ago``) AND (Count(``[Engagements/@EVENT_ID]``) greater than or equal to ``3``)`
  - High Broadband Transactions:
    `(``[Engagements/Items/Product/@PRODUCT_CATEGORY]``  equal to  ``Subscription Plans``) AND (``[Engagements/Items/Product/@PRODUCT_SUB_CATEGORY]``  like  ``%Broadband%Plans%``) AND (``[Engagements/@EVENT_DATE]``  greater than or equal to  ``6 months ago``) AND (Sum(``[Engagements/@TRANSACTION_AMOUNT]``) greater than ``1500``)`
  - Complement:
    For rest of the target audience, check if they are eligible for fibre connection and have fibre connection related plans in last 6 months.
    Split condition:
    `(``[FIBRE_CONNECTION_ELIGIBLE]``  equal to  ``1``) AND (``[Wishlist/Items/Product/@PRODUCT_CATEGORY]``  equal to  ``Subscription Plans``) AND (``[Wishlist/Items/Product/@PRODUCT_SUB_CATEGORY]``  contains  ``Fibre``) AND (``[Wishlist/@CREATED_DATE]``  greater than or equal to  ``6 months ago``)`
- **Result audiences**: CitiSignal - Mobile Plan Upgrade Prospect (Transactions), CitiSignal - Roaming Plan Upgrade Prospect (Transactions), CitiSignal - Fibre Connection Prospect (Transactions)
- **Identity**: Email

**Create audience:**

Segment customers based on purchase / transactions on their subscription plans.

**[Use-case 1: CitiSignal - Cross sell (Transaction based)](https://experience.adobe.com/#/@demosystem4/sname\:prod/platform/federated-data/xtkWorkflow/13510)**



![CitiSignal - Cross sell (Plan usage based) Workflow](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-90aOeUOr8cG_QSKlEviWY-20250130-140251.png "CitiSignal - Cross sell (Plan usage based) Workflow")

- Target profiles with active Account and active Subscription.
- Enrich filtered audience with personalize attributes, such as, eligibility for fibre connection, propensity for device upgrade, number of devices owned, (*aggregate*) total number of devices associated to active accounts etc.
- **Split the audience**:
  - High Pre-paid Usage:
    `(``[Accounts/Subscription/Plan/@PLAN_TYPE]`` included in (``Talk-Time & Data, VAS``)) AND (``[Accounts/Subscription/Plan/@PLAN_SUB_TYPE]`` included in (``Mobile Bundle Plans, Mobile Talk-Time Plans, Prepaid Plans, Data Add-ons``)) AND ((``[Accounts/Subscription/Usage/@USAGE_DATE]``  on or after  ``last month``) AND ((Sum(``[Accounts/Subscription/Usage/@DATA_USAGE_MB]``) greater than or equal to ``10,000``) AND (Sum(``[Accounts/Subscription/Usage/@VOICE_USAGE_DURATION_SECS]``) greater than or equal to ``45,000``)))`
  - High Roaming Usage:
    `(``[Accounts/Subscription/Plan/@PLAN_TYPE]`` included in (``Talk-Time & Data, VAS``)) AND (``[Accounts/Subscription/Plan/@PLAN_SUB_TYPE]`` included in (``Mobile Roaming Plans, Data Add-ons, Entertainment Add-ons``)) AND ((``[Accounts/Subscription/Usage/@USAGE_DATE]``  on or after  ``3 months ago``) AND ((Sum(``[Accounts/Subscription/Usage/@DATA_USAGE_MB]``) greater than or equal to ``15,000``) AND (Sum(``[Accounts/Subscription/Usage/@VOICE_USAGE_DURATION_SECS]``) greater than or equal to ``30,000``)))`
  - High Broadband Usage:
    `(``[Accounts/Subscription/Plan/@PLAN_TYPE]`` included in (``Network, Satellite services, VAS``)) AND (``[Accounts/Subscription/Plan/@PLAN_SUB_TYPE]`` included in (``Broadband & Media Plans, Broadband Plans, Private LTE Network, Satellite Broadband Plans, Entertainment Add-ons, Media & Entertainment Plans``)) AND (``[Accounts/Subscription/Usage/@USAGE_DATE]``  on or after  ``3 months ago``) AND (Sum(``[Accounts/Subscription/Usage/@DATA_USAGE_MB]``) greater than or equal to ``10,000``)`
  - Complement:
    For rest of the target audience, check if they are eligible for fibre connection and have fibre connection related plans in last 6 months.
    Split condition:
    `(``[FIBRE_CONNECTION_ELIGIBLE]``  equal to  ``1``) AND (``[Wishlist/Items/Product/@PRODUCT_CATEGORY]``  equal to  ``Subscription Plans``) AND (``[Wishlist/Items/Product/@PRODUCT_SUB_CATEGORY]``  contains  ``Fibre``) AND (``[Wishlist/@CREATED_DATE]``  greater than or equal to  ``6 months ago``)`
- **Result audiences**: CitiSignal - Mobile Plan Upgrade Prospect (Usage), CitiSignal - Roaming Plan Upgrade Prospect (Usage), CitiSignal - Fibre Connection Prospect (Usage)
- **Identity**: Email

**Create audience:**

Segment customers based on subscribed plan usage.

**[Use-case 2: CitiSignal - Cross sell (Plan usage based)](https://experience.adobe.com/#/@demosystem4/sname\:prod/platform/federated-data/xtkWorkflow/13810)**



![CitiSignal - Plan subscription reminder Workflow](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-K0Vb4mAqHhk8QXo6XN8Qo-20250130-154845.png "CitiSignal - Plan subscription reminder Workflow")

- Separate branches to select target profiles based on active subscription account and inactive subscription account.
- Enrich filtered audience with personalize attributes, such as, eligibility for fibre connection, propensity for device upgrade, number of devices, (*collection*) recommendations etc. Must also include number of days due `DaysDiff(VALID_UPTO (target/Subscription/@VALID_UPTO), GetDate())`
- Convert the result to Profile record schema and perform deduplication based on `PROFILE_ID` / `EMAIL` / `EMAIL_SHA256`
- **Split the audience**:
  - Split the active account users by renewal due date:
    (*Assuming the NUM\_OF\_DAYS\_DUE already added in enrichment activity*)
    `(``NUM_OF_DAYS_DUE`` greater than 0) AND (``NUM_OF_DAYS_DUE`` less than 15)`
  - Complement:
    For rest of the target audience saved to experience platform
- In the **inactive account branch**, include **recommendation** using enrichment activity.
- **Result audiences**: CitiSignal - Upcoming bill due, CitiSignal - Bill Past Due, CitiSignal - Customer reengagement
- **Identity**: Email

**Create audience:**

Segment customers based on renewal of subscription plans & re-engage with customers using available recommendations.

**[Use-case 3: CitiSignal - Plan subscription reminder](https://experience.adobe.com/#/@demosystem4/sname\:prod/platform/federated-data/xtkWorkflow/14140)**

***

## Healthcare scenario

### Database connection

**Name**: Healthcare Datasource

**Type**: Snowflake

### Entities & Relationships

📄 **[Healthcare - Data Model](https://adobe.sharepoint.com/\:x:/s/DemoSystemNext/EcMnC91R-hZJtnAwTQvm5lYBhBH_WDtlXfm2RPAwaRicrw?e=DCrvtK)**

![Healthcare Data Model](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-RONvKxgzvO2FeJIbSicqj-20250227-143424.png "Healthcare Data Model")

### Compositions



![Healthcare prescription reminder](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-SnwdHwB1MhST4BZUTTDyE-20250227-173034.png "Healthcare prescription reminder")

- Target profiles, who have made a purchase in last 3 months and **marketing consent to "Share" data for personalization**.
- Enrich filtered audience with personalize attributes, such as, claims in last few months, offers redeemed, translate refill reminder (simple expression), number of checkups (aggregated value).
- Deduplicate target audience by prescription refill due days (i.e. refill due recent)
- **Split the audience**:
  - Refill due:
    `REFILL_DUE_IN_DAYS` greater than `0`
  - Refill past due:
    `REFILL_DUE_IN_DAYS` less than `0`
- **Result audiences**: Healthcare - Prescription due for refill, Healthcare - Prescription past due
- **Identity**: Email

**Create audience:**

Segment customers based on prescription due in few days or past due and provided consent to share data for personalisation.

**[Use-case 1: Healthcare - Prescription reminder](https://experience.adobe.com/#/@demosystem4/sname\:prod/platform/federated-data/xtkWorkflow/16810)**



![](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-LbrSF4cJf8oX9OHmDaBva-20250227-175800.png)

- Target profiles with scores related cardiac care, critical illness risk, propensity for healthcare family plans and **marketing consent to "Share" data for personalization**.
- Enrich filtered audience with personalize attributes, such as, claims in last few months, offers redeemed, number of prescriptions in last 3 months (aggregated value).
- **Split the audience**:
  - Cardiac care:
    `CARDIAC_CARE_PRODUCT_PROPENSITY` greater than or equal to `80`
  - Critical illness care:
    `CRITICAL_ILLNESS_RISK` greater than or equal to `40`
  - Family plan prospects:
    `HEALTHCARE_FAMILY_PLAN_PROPENSITY` greater than or equal to `50`
- **Result audiences**: Healthcare - Cardiac care patients, Healthcare - Critical care patients, Healthcare - Family plan prospects
- **Identity**: Email

**Create audience:**

Segment customers based on healthcare industry related scores and provided consent to share data for personalisation.

**[Use-case 2: Healthcare - Scorebased segment](https://experience.adobe.com/#/@demosystem4/sname\:prod/platform/federated-data/xtkWorkflow/16600)**



![Critical care audiences](https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-kyW3rnn1Qcx14wdYDU8AB-20250303-054658.png "Critical care audiences")

- Target profiles with health records in last 3 months, sponsered healthcare plan, identified with illness (*categoriesed as critical diseases*) and **marketing consent to "Share" data for personalization**.
  ( `REPORT_DATE` on or after `3 months ago` ) AND ( `CRITICAL` equal to `Yes` ) AND ( `HEALTHCARE_SPONSERED` is `true` ) AND ( `SHARE` is `true` )
- Change the resultant target dimension to match with Profile schema.
- **Split the audience**:
  - Cardiac care:
    `CARDIAC_CARE_TYPE` included in `Cardiology, Pulmonology`
  - Oncology care:
    `CARDIAC_CARE_TYPE` included in `Oncology, Emergency Medicine, Endocrinology`
  - Other critical diseases (*Type: Complement*)
- Perform data reconciliation, enrichment and deduplication activities to filter target and personalization attributes
- **Result audiences**: Healthcare - Cardiac patients prescription, Healthcare - Oncology patient care, Healthcare - Recommendation for clinical trial patients
- **Identity**: Email

**Create audience:**

Segment customers based on critical illnesses and clinical services opted by targets, along with consent to share data for personalization

**[Use-case 3: Healthcare - Critical Illness Care](https://experience.adobe.com/#/@demosystem4/sname\:prod/platform/federated-data/xtkWorkflow/16090)**

***

## Destination

While activating audience and enriched attributes, you could leverage existing "**Federated Audience Composition**" (Type: Adobe Applications) destination for *Demo System Next*, which is a **Snowflake** database; or, you may choose to create a new destination.

::Image[]{src="https://api.archbee.com/api/optimize/bAgVaanSi1tFmfc8PghaH/Z2THjxuqOROdP4ZIbQwyc_image.png" size="50" width="574" height="346" position="flex-start" caption="Use the new FAC destination icon, with Adobe logo." alt="Use the new FAC destination icon, with Adobe logo." showCaption="true"}

::::ExpandableHeading
## ✳️ Best Practices

:::hint{type="info"}
While creating federated database connection in Experience Platform, it is a good practice to refer "**Working schema**" property (*Working schema is the schema in the federated database, with required privilege for the connection user to create/manage tables*).&#x20;

By specifying a "**Working schema**" property for the federated database connection in Experience Platform, you're ensuring a cleaner and more organized database structure. This allows:

1. **Separation of Concerns**: Activation data tables will be created in a dedicated schema, keeping them separate from the original read schema.
2. **Cleaner Table Names**: The read schema will not get cluttered with the alphanumeric table names generated by the activation service, which helps maintain clarity and ease of navigation.
3. **Controlled Privileges**: The working schema will have the required privileges for the connection user to create and manage tables, ensuring proper security and access control.

This approach enhances the maintainability and readability of your database, which can be especially important in re-usable environments.&#x20;
:::

:::hint{type="warning"}
Do not refer the same audience label \ name in "**Save segment**" activity, in multiple composition workflows.

Reusing the same audience label or name in the "**Save segment**" activity across multiple composition workflows can lead to conflict / error and data integrity issues. To maintain clarity and avoid any potential conflicts, it's crucial to use unique labels or names for each segment within different workflows. This ensures that each segment is distinctly identifiable and correctly associated with its respective workflow.
:::

:::hint{type="warning"}
Once a "**Save segment**" activity is executed and the corresponding audience is created, it's essential not to add new attributes (audience mapping properties) or change the data types of existing attributes. This is particularly important because:

- **Consistency**: Changing data types or adding new attributes can lead to inconsistencies in the data, making it challenging to maintain and interpret.
- **Data Integrity**: Ensuring the data remains unchanged preserves the integrity of the audience segment, preventing potential errors or mismatches in subsequent workflows.
- **Stability**: Keeping the structure of the audience data stable avoids disruptions in any downstream processes or integrations that rely on the original schema.

**Compatibility**: Expressions and data transformations often depend on the original data types. Altering these can result in invalid expressions or incompatible data formats.&#x20;

(*Data type change usually occur in case of expressions*.)
:::

:::hint{type="success"}
When activating an audience using the federated destination category, tables with alphanumeric names are created. To easily identify the target table for a specific segment in the federated destination, it is recommended to include the segment name or a unique label during the data activation process.

Incorporate segment name / unique label (e.g. *static string expression like&#x20;*`"Prime membership prospect"`) in "**Save audience**" activity (*Audience mapping*) within composition workflow.&#x20;

Ensure the segment name or unique label is included as an attribute during the "Save audience" activity. This facilitates clear identification and association of the segment.

::Image[]{src="https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-fwwJyP__VpP4lLipMxYlC-20250214-153843.png" size="40" width="642" height="994" position="center" caption="Audience mapping in &#x22;Save audience&#x22; activity" alt="Audience mapping in &#x22;Save audience&#x22; activity" showCaption="true"}

If the segment name or unique label is captured as an audience attribute from the composition workflow, it can be added as a "**Calculated** (mapping) **field**" during the activation step. This attribute should be included to maintain clarity and ease of identification in the federated destination.

::Image[]{src="https://api.archbee.com/api/optimize/NXbLtbNUHqcezf3QGwYNX-wbqtXBfV69c2TdWXvPd0n-20250214-154811.png" size="74" width="1288" height="634" position="center" caption="Include unique label at activation" alt="Include unique label at activation" showCaption="true"}
:::
::::

