# Close the loop between creative and campaign results

Video generation is one part of a campaign. Use job status and render analytics to see what was produced, then connect supported delivery and business measurements to understand what happened next. Bring those findings back into the next brief, product selection or creative variation.

## Know which question each signal answers

| Signal | What it tells you | Where to look |
|  --- | --- | --- |
| Job state | Whether requested work completed, failed or partially failed | Job response and `jobs_get` |
| Video result | Which media and status a generation attempt returned | `campaign_results_list`, `campaign_results_get` |
| Campaign render analytics | Counts for render attempts and campaign recipients | `campaign_analytics_get` in the documented REST/MCP contract |
| Delivery outcome | Whether a supported delivery action has a confirmed result | The selected delivery workflow and its returned evidence |
| Views, clicks or conversions | What the audience did after delivery | Supported player/channel events or your own analytics integration |


Render analytics do not imply viewing, delivery, click or conversion tracking. An exported video is a media artifact; it is not an engagement event. Confirm the measurement contract for the channel or player you actually use.

## Go from production health to audience behavior

Where the campaign's configured analytics surface supplies viewing and CTA events, examine the signals that explain how the creative is working:

| Measurement | The question it helps answer |
|  --- | --- |
| Opens and plays | Are people reaching the experience and starting the video? |
| Unique completions | How many viewers reach the end under the configured completion definition? |
| Watch-depth retention | Where does the audience leave the story? |
| CTA interaction rate | Are viewers taking the next action offered by the measured surface? |


These measurements come from the supported product/player instrumentation, not the render-count endpoint below. Check the selected time range, event definitions and data freshness. Keep delivery acceptance, confirmed delivery, playback and business conversion as separate outcomes.

## Retrieve the documented campaign analytics

The campaign analytics operation in the reference uses the campaign ID and `analytics:read` authority:

```sh
curl --fail-with-body \
  "https://engage.shuffll.com/api/v1/campaigns/$CAMPAIGN_ID/analytics" \
  -H "Authorization: Bearer $ENGAGE_API_KEY"
```

In MCP, discover `campaign_analytics_get` and use its current input schema. Read the [REST reference](/engage/openapi) for the exact response fields; pair those counts with the individual [video results](/engage/workflows) when investigating a partial campaign.

An illustrative response matching that render-count schema:

```json
{
  "campaign_id": "11111111-1111-4111-8111-111111111111",
  "recipients": 100,
  "attempts": 100,
  "queued": 0,
  "running": 0,
  "recovery_required": 1,
  "succeeded": 97,
  "failed": 2
}
```

These are synthetic example values, not measured campaign performance. Here, the next operational task is to inspect the two failures and the uncertain attempt; no delivery or engagement rate can be inferred from these counts.

## A practical improvement loop

![A reviewed improvement loop from producing versioned creative to measuring render, delivery and instrumented viewer signals, choosing a change and reviewing the next variation.](/assets/campaign-feedback-loop.2720c2cc0f0abeb402fa92c428f54442112eb0585ca3d3dc5f0758157926ca34.43c089e3.svg)

1. **Write a clear hypothesis.** For example, a product demonstration may be more useful to one audience than a brand introduction.
2. **Keep versions identifiable.** Retain the audience/source revision, selected product or offer, creative version and resulting video IDs.
3. **Check production first.** Inspect failed or held records, completed results and render counts before interpreting performance.
4. **Join the available outcome data.** Use approved references to connect campaign variants to measurements from the supported delivery or analytics system.
5. **Choose a reviewable next change.** Adjust the opening, product, message, CTA or language; produce representative samples and inspect the new output.


This is an integration pattern for evidence-driven iteration. It does not imply built-in automatic A/B testing, causal attribution or an agent that autonomously changes a live campaign.

## Ask an assistant to help interpret, not invent

> Summarize render outcomes for this campaign. Separate completed videos from failures and distinguish any confirmed delivery metrics from render counts. Use the performance data I explicitly provide to suggest two creative hypotheses for the next campaign. Show the evidence and ask before making changes or generating media.


An assistant can organize the evidence it is authorized to read and prepare a new brief. If a measurement is unavailable, it should report that gap rather than turn a generated video or an accepted delivery request into a conversion claim.

For audience and product planning, see [catalog-driven campaigns](/engage/product-catalogs). For a data-minimizing way to keep the measurement join in your own system, see [security and privacy](/engage/security-and-privacy).