Profiles Sync Export
A Profiles Sync export builds a one-row-per-user record from your data warehouse and writes it into the destination you control — a BigQuery table, or profiles/contacts in Klaviyo or Brevo. Unlike audience and signal syncs, it does not push to an ad platform.
How it works
On each run, BPP:
- Applies your filters to find the users to include. If there are no filters, it includes every user that has data in the tables you're exporting from.
- Reads your keys and attributes for those users from your user-level tables (user tables, AI model results/views, and summary tables).
- Combines everything into one row per user, matching each attribute to the right user — keys first, then attributes, renamed to the destination column names you chose.
- Writes the result to your chosen destination — replacing the BigQuery table, or upserting profiles/contacts (and list membership) into Klaviyo or Brevo.
- Records the run (rows written, timestamp, status) in Sync History.
How each run affects the destination
This differs by destination type:
- BigQuery — each run completely replaces the destination table with the current export.
- The table name is stable — downstream systems always point at the same table and get the latest data.
- Rows removed by a filter change (or users who no longer qualify) disappear from the table on the next run.
- The table is not appended to over time. If you need history, snapshot the table yourself downstream.
- Klaviyo / Brevo — each run only upserts matched users as profiles/contacts, optionally adding them to a list.
What's included
- One row per matched user. A user who matches your filters but is missing a particular attribute still appears in the table — that attribute is simply empty (null) for them.
- Only user-level data. Keys and attributes come from tables with one row per user. Event-table fields cannot be exported. See What can be exported.
- The columns you named. Each key and attribute uses the destination name you set when configuring the sync.
Scheduling
Profiles Syncs run daily by default. The sync must be in Ready status (enabled) for scheduled runs. You can also trigger a run on demand with Run Sync from the sync's detail page.
Empty results
If your filters match no users, there is nothing to export and the run completes successfully without writing rows. This is a normal outcome, not an error — check your filter conditions if you expected data.
Partial syncs
If some rows fail to write while others succeed, the sync moves to Partial Complete status. The rows that wrote successfully remain in the table. Review the status message for the cause.