Execution History
Execution History is the record of every sync BPP has run. One entry per run; inside it, one row per destination push that run performed.
That grouping is the thing to understand first. A single audience or signal run pushes to every destination configured on it, and each destination can succeed or fail independently. Execution History shows the run as one line with its overall outcome, and expands to show what happened at each destination.
Where to find it
Two places, showing the same data through the same filters:
- The Execution History tab on an audience, signal, or Profiles Sync detail page — scoped to that one record.
- The standalone run history page — every run of that kind across your workspace: Audience Sync History, Signals Run History, Profiles Sync History.
You can reach the standalone page from the list view's row actions, or from an audience's or signal's analysis view via Open Execution History.
The summary
A four-part header describes the runs currently in range, so you don't have to add up a table to know how things are going.
| Figure | What it shows |
|---|---|
| Success rate | Share of runs in range that completed without errors, with the completed-run count underneath. |
| Runs in range | How many runs the current filters match, over the resolved date range, plus the total number of destination pushes those runs performed. |
| Items processed | Records successfully pushed, out of how many were attempted, with the failed count underneath — tinted red only when it is non-zero. |
| Last run | How long ago the most recent run in range executed, with its exact timestamp. |
Below it, a status distribution bar breaks the runs down by outcome, with a legend and counts.
Runs and destination pushes are different counts, and both are shown deliberately. One run pushing to three destinations is 1 run and 3 destination pushes. A success rate is per run; item counts aggregate across pushes.
Filtering
Search matches the record name or the execution reference — the identifier of the underlying job execution. Paste a reference from a support conversation and you land on that exact run.
Status chips filter by outcome, each showing its own count:
| Chip | What it means |
|---|---|
| Complete | The run finished and every destination push succeeded. |
| Partial | The run finished, but at least one destination push failed. |
| Error | The run failed. |
| Running | A run is currently in progress. |
Profiles Sync has no Partial chip: a Profiles Sync run pushes to a single destination, so it has no partial outcome.
Connection Type narrows to a platform — Google Ads, Meta Ads, and so on. Not available on Profiles Sync, where the destination never varies.
Previews shown / Previews hidden controls whether Preview Mode runs appear in the list. They are included by default; hide them when you are auditing what actually reached a platform and rehearsals are just noise.
More filters are available behind the advanced filter link, including the date range.
Reading a run
Each row shows Status, Name, how many Destinations the run pushed to, the Execution Date, and Items — sortable by date and by item count.
Expand a run to see one row per destination, on the same grid: its own status, the destination name and type, a Preview badge if that push was a rehearsal, and its processed of total item count with a bar showing how much went through. Where an export file was produced, a Download CSV action appears on the destination row; download links are short-lived, so click again if one has expired.
From an audience's or signal's history, a destination row also links back to its record: the destination name opens the record's Destinations tab, and — for Google Ads, Meta Ads and Microsoft Ads destinations — the item count opens that destination's analysis.
Opening the run behind a status
The status badge at the top of an audience or signal detail page, and each destination's status on the Destinations tab, link straight to the run that produced them. Execution History then shows only that run, with the banner Showing the run that explains this status. Click View all runs, or change any filter, to go back to the full list.
Destination status
A destination push carries its own status, which is also what the destination row on the detail page shows:
| Status | What it means |
|---|---|
| Ready | Configured, enabled, and waiting for the next scheduled run. |
| Running | A sync is currently in progress. |
| Complete | The last push completed. Some records may still have been rejected individually: when a significant share was rejected (15% or more), the status shows a warning icon, and its tooltip breaks the rejections down. |
| Error | The last push failed. Hover the status for the explanation. |
Partial Complete is never a destination status: on an audience or signal (and as the Partial outcome of a run) it means that at least one destination failed outright while the others succeeded — not that a destination rejected some of its records.
Reading a status
Hover a status — on a list's destination icons, on the Destinations tab, or on a row here — to see what it means in plain language.
When a push failed, the tooltip names the kind of failure, explains it, and suggests what to do:
| Failure | What it means | What to do |
|---|---|---|
| Temporary system issue | BPP couldn't reach a service it depends on to complete the push. Usually resolved automatically on the next scheduled run. | Nothing. If it keeps recurring across several runs, contact support. |
| Compliance issue | The export was blocked to prevent sending data that doesn't meet BPP's data-handling requirements. | Review the destination's field mapping — an identifier field may be missing its required hashing. |
| Configuration issue | Something in the destination's setup — a field mapping, a missing value — prevents the export from running. | Check the destination's field mappings and connection settings. |
| Unexpected error | BPP hit an error it has no specific explanation for yet. | If it keeps recurring, contact support with the technical details. |
When a push completed but rejected some records, the tooltip shows how many items were processed out of the total and how many failed, then one line per rejection reason — how many items it affected, what it means and where to fix it (for example a Google Click ID that Google couldn't find, or a Meta batch rejected as a whole).
Every explanation keeps the original error one click away: Show technical details reveals the category, time and raw message, and Copy for support copies them as plain text, ready to paste into a support request.
Reading your results
- Complete with some failures is normal — the majority pushed successfully and some records were individually rejected (e.g., an invalid email format). Hover the destination's status for the rejection reasons, and open the destination's analysis for what the platform reports.
- Error means the whole push failed before or during delivery — typically a connection issue, API error, or configuration problem. Fix the underlying cause; the next scheduled run retries automatically.
- Items processed vs attempted gives the effective coverage for that push. A consistently low ratio is a data quality problem worth investigating, not a transient one.
- The platform accepting a push is not the platform recording it. Execution History reports what BPP delivered. To see what the destination actually did with it, use Conversion Analysis for signals or Audience Analysis for audiences.
Retry behaviour
BPP does not retry a failed run mid-cycle. The next scheduled daily run attempts the data again.
For signal syncs, the latest event date marker only advances on a successful or partial-complete run. If a run fails entirely, BPP retries all the same events on the next run — nothing is lost.
Running on demand
Use Run Now on an audience, signal, or Profiles Sync to trigger a run outside its schedule. Manual runs are rate-limited to 5 per hour per record, and Preview Mode runs count toward the same limit.