Profiles Sync
Profiles Sync copies user-level attributes from your data warehouse into a BigQuery table you control. You choose the users, the identifiers, and the attributes, and BPP writes a clean, one-row-per-user table into your dataset on a schedule — ready for your CRM, BI tools, or any downstream system to read.
What you can use Profiles Sync for
- Feed a CRM or CDP — export customer identifiers alongside enriched attributes (AI model scores, segments, lifecycle stage) so your CRM always has the latest profile data.
- Activate AI model outputs — push predicted LTV, purchase propensity, RFM cluster, or interest scores into a table your other tools can query.
- Share enriched profiles with BI — hand your analysts a ready-made table of user attributes without giving them access to the full warehouse.
- Build downstream pipelines — point any BigQuery-based workflow at a stable table name that always holds the freshest export.
How Profiles Sync works
Each sync is defined by four things:
- Keys — the identifier columns that identify each user (email, phone, hashed email, a CRM ID, or any user ID). At least one is required. Keys become columns in the exported table so downstream systems can match each row back to a person.
- Attributes — the actual data you want to export (a segment, a campaign name, a predicted probability, a total, and so on). These come from your own user-level tables: user tables, Features Composer results, and AI model results.
- Filters — optional conditions that decide which users are included (e.g., only users with
probability > 0.1). If you set no filters, every user with data is included. - Destination — the BigQuery connection, the target dataset, and the name of the table to create.
You set all of this up in the platform UI, the same way you build an Audience. On each run, BPP applies your filters to find the matching users, reads the selected keys and attributes for those users, combines them into one row per user, and writes the result to your BigQuery table.
What comes out
The result is a BigQuery table with one row per matched user — your key columns first, then your attribute columns, each named exactly as you chose in the destination mapping.
| segment | predicted_ltv | propensity | |
|---|---|---|---|
| john@acme.com | Best Customer | 240.50 | 0.42 |
| … | … | … | … |
Every run fully replaces the table, so the table name is a stable target your downstream systems can always point at and trust it holds the latest export.
What can be exported
Profiles Sync produces one row per user, so every key and attribute must come from a user-level table — a table that holds at most one row per user. BPP enforces this, and the Keys and Attributes dropdowns only show fields that qualify.
| Table type | Can be used? | Why |
|---|---|---|
| User tables | Yes | One row per user (emails, country, CRM ID, …). |
| AI model results / views | Yes | One per-user output per model (e.g., a churn probability). |
| Summary tables | Yes | Pre-aggregated per-user rollups (e.g., total orders). |
| Event tables | No | Many rows per user — there's no single value to place in the user's row. |
If you need something derived from events (e.g., "total events in the last 30 days"), that value has to already exist as a column on a summary or model table. Profiles Sync reads existing per-user columns; it does not aggregate event tables itself. See Data Preparation for how user-level tables are set up.
Profiles Sync lifecycle
| Status | What it means |
|---|---|
| Draft | Configured but not yet enabled. No syncs run. |
| Ready | Enabled and scheduled. BPP syncs on its daily schedule. |
| Running | A sync is currently in progress. |
| Complete | Last sync completed successfully. |
| Partial Complete | Sync completed but some rows failed to write. |
| Error | The sync failed. Check the sync for details. |
| Suspended | Paused by you. No syncs run until re-enabled. |
In this section
- Create a Profiles Sync — step-by-step instructions.
- Manage Profiles Syncs — edit, pause, duplicate, and delete syncs.
- How Profiles Syncs Work — what happens during a run.
- BigQuery Destination — set up and use the BigQuery destination.