# Turn your catalog into a relevant video story

Your catalog already contains the products, imagery and details a campaign needs. Connect those inputs to an Engage workflow so the creative can feature the right product, message and offer for an audience. Keep your own business rules in control of what is selected.

![Conceptual catalog-to-video illustration: two product collections become distinct audience-relevant video compositions.](/assets/audience-products-20261112.a7b925ac133b35387a6ebf9b33357b11a15e137aadf14ff239a8cd22d48323c5.2608ac52.webp)

*Conceptual illustration of catalog inputs and tailored creative.*

## Separate the selection from the storytelling

There are two decisions: **which product belongs in the message**, and **how that product appears in the video**. Your application or an explicit campaign plan can make the first decision. The creative workflow uses approved content inputs to make the second.

![An approved product catalog branches through explicit trail and travel audience rules to supplied product details, then distinct video and overlay outputs.](/assets/catalog-audience-map.5712219da02e33f47e0e04371b4490addefbb5088f0fd1b40a1066cadecb53f4.43c089e3.svg)

Source setup supports explicit field mappings for customer and product data. An upload, API import or webhook bridge supplies the mapped records through the authenticated import boundary. A source configuration does not itself connect to a third-party store or fetch its catalog.

## Example: one collection, two audiences

Suppose your system has already selected two audiences and approved the following creative mapping:

| Audience selected in your system | Product selected by your rules | Video treatment | Overlay content |
|  --- | --- | --- | --- |
| Trail enthusiasts | Approved trail shoe SKU | An outdoor story using the selected product's imagery | Product name and approved destination |
| Weekend travelers | Approved carry-on backpack SKU | A packing and travel story with the selected product | Product name, supplied offer text and approved destination |


These are illustrative business rules, not an API payload. The workflow must explicitly receive the selected product/content values it needs. A product record and a customer record do not automatically create a recommendation or join: define the mapping, selection and fallback behavior.

Here is a more concrete synthetic mapping. The retailer supplies every product and offer value:

| Explicit audience predicate | Selected SKU | `productName` | `priceText` | `ctaText` |
|  --- | --- | --- | --- | --- |
| `interest` equals `trail_running` | `trail-42` | Ridge Trail Shoe | $89 | Explore trail footwear |
| `interest` equals `weekend_travel` | `pack-17` | Waypoint Backpack | $69 | Explore travel gear |


Both rows can also require an explicit opt-in condition and the retailer's intended date window. A simple script can use the declared fields:

```text
Meet the {{productName}}. {{priceText}}. {{ctaText}}.
```

Map those fields into the selected story and artwork using the supported personalization contract. Supply the approved product image and destination separately where the workflow requires them. A missing interest, an unknown product or conflicting rules should follow the planned hold/fallback behavior. The sample prices and copy above are fictional supplied inputs, not live catalog data or inferred promotions.

## Make the product part of the creative

Use approved product imagery as a creative input, give the storyboard a clear product role, and review the generated scene before scaling it. An overlay can carry precise product text, a supplied price or a call to action while the underlying footage carries the story.

Treat source imagery, generated depictions and overlay text as separate review items. Check that the depicted product matches the intended item, the written details are current and the campaign is using approved claims. An attractive generated frame is not proof of exact product fidelity.

For reusable product cards and scene-attached artwork, see [smart overlays](/engage/overlays).

## A practical integration sequence

1. **Map the source.** Discover `journey_sources_create` and declare the product fields your workflow needs. Import permitted records using `journey_sources_import`.
2. **Keep selection explicit.** Supply the selected content values and audience/offer rules through the supported personalization plan. Do not assume the service invents a discount or chooses a product from unrelated records.
3. **Test the mapping.** Use `journey_personalization_test` on named samples. Inspect ready, held, excluded and missing outcomes before freezing the audience.
4. **Review the creative.** Prepare a sample, produce the selected scene inputs and inspect the actual product treatment and overlay.
5. **Freeze the reviewed inputs.** Keep the source revision, plan and sample outputs aligned before approving the next campaign action.


Use the schemas discovered by your authorized connection for exact fields. [Agentic workflows](/engage/agentic-workflows) maps the journey stages to tools; [API scope](/engage/release-status) explains the reference boundaries.

## Make audience rules predictable

The implemented personalization rules support explicit equality, set membership, numeric ranges and date windows, combined with all/any conditions. Supply approved output values such as `productName`, `priceText` and `ctaText` through the supported plan; the rules do not invent offers.

Keep rules unambiguous. When multiple rules match the same record, the workflow holds it rather than silently choosing a winner. A record with no matching rule, missing required values or unresolved selected output also needs a clear hold or supported fallback policy. Review the mapping test before freezing the audience.

## Plan for imperfect catalog data

| Condition | Decide before generation |
|  --- | --- |
| Product imagery is unavailable | Hold the record or use an explicitly approved alternative |
| A price or offer is missing | Omit it or use supplied fallback copy; do not invent a promotion |
| A product is no longer suitable | Update selection rules and review the affected creative |
| Localization changes the message length | Check the translated script, product label and overlay layout together |


You can keep the underlying customer selection in your own system and share the product/content inputs needed for the selected variation. See [security and privacy](/engage/security-and-privacy) for the data boundary, and [analytics](/engage/analytics) for the feedback loop after a campaign runs.