Skip to main content

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.

emailsegmentpredicted_ltvpropensity
john@acme.comBest Customer240.500.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 typeCan be used?Why
User tablesYesOne row per user (emails, country, CRM ID, …).
AI model results / viewsYesOne per-user output per model (e.g., a churn probability).
Summary tablesYesPre-aggregated per-user rollups (e.g., total orders).
Event tablesNoMany 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

StatusWhat it means
DraftConfigured but not yet enabled. No syncs run.
ReadyEnabled and scheduled. BPP syncs on its daily schedule.
RunningA sync is currently in progress.
CompleteLast sync completed successfully.
Partial CompleteSync completed but some rows failed to write.
ErrorThe sync failed. Check the sync for details.
SuspendedPaused by you. No syncs run until re-enabled.

In this section