Sync Modes
Audience sync modes control how membership changes are propagated to the destination. When the audience is re-evaluated and the membership changes (new members join, existing members leave), the sync mode determines which of those changes are actually sent.
SignalSmith supports three sync modes: Mirror, Additive, and Subtractive.
Mirror Mode
Mirror mode keeps the destination in exact sync with the audience. Both additions and removals are sent.
Behavior
| Change Type | Action |
|---|---|
| New member joins audience | Added to destination |
| Existing member leaves audience | Removed from destination |
| Member’s field values change | Updated in destination |
How It Works
On each sync run, SignalSmith computes the full diff between the current membership and the membership snapshot from the last successful run:
Previous membership: {A, B, C, D}
Current membership: {A, C, D, E, F}
Diff:
Added: {E, F}
Removed: {B}
Stable: {A, C, D} (checked for field value changes)Mirror mode sends both the adds (E, F) and the remove (B) to the destination.
When to Use Mirror
- Ad platform audiences — Keep a Custom Audience or Customer Match list in sync with your real-time segment. When a customer no longer qualifies (e.g., they’ve already converted), they’re automatically removed.
- CRM campaigns — Maintain an accurate campaign member list that reflects current audience membership.
- Email suppression lists — Automatically add and remove customers from suppression lists based on their current status.
- Any use case where the destination should reflect the current state of the audience at all times.
Example
A “High-Value Active Customers” audience is synced to a Google Ads Customer Match list in mirror mode:
- Monday: 10,000 members synced (initial)
- Tuesday: 200 new members added, 150 removed (50 net increase)
- Wednesday: 100 new members added, 300 removed (200 net decrease — perhaps due to month-end churn)
The Google Ads list always reflects the current audience membership.
Additive Mode
Additive mode only adds new members to the destination. Members who leave the audience are not removed from the destination.
Behavior
| Change Type | Action |
|---|---|
| New member joins audience | Added to destination |
| Existing member leaves audience | No action (stays in destination) |
| Member’s field values change | Updated in destination |
How It Works
On each sync run, SignalSmith computes which members are new since the last run. Members who have left the audience are ignored — they remain in the destination.
Previous membership: {A, B, C, D}
Current membership: {A, C, D, E, F}
Diff:
Added: {E, F} → Sent to destination
Removed: {B} → Ignored (B stays in destination)When to Use Additive
- Ever-growing lists — When you want to build a cumulative list of everyone who has ever qualified. For example, “All customers who have ever made a purchase” — once someone buys, they should stay in the list even if you redefine the recency window.
- Seed audiences for lookalikes — When building seed audiences for ad platform lookalike modeling, you often want the largest possible seed. Additive mode ensures the seed only grows.
- Compliance and audit lists — When you need a record of everyone who has ever entered a segment, regardless of whether they still qualify.
- One-directional integrations — When the destination doesn’t support removals or when removing records would cause problems downstream.
Example
A “Purchased in Last 30 Days” audience is synced to an email list in additive mode:
- January: 5,000 members synced
- February: 3,000 new members added, 2,000 no longer qualify (but stay in the list)
- March: 2,500 new members added
The email list now has ~10,500 members (all customers who purchased in any 30-day window), not just the ~5,500 who currently qualify.
Additive mode causes the destination list to grow monotonically. Over time, this can lead to large lists that include many members who no longer match the audience criteria. Consider periodically reviewing and cleaning the destination list if size or relevance becomes a concern.
Subtractive Mode
Subtractive mode only removes members who leave the audience. New members who join the audience are not added to the destination.
Behavior
| Change Type | Action |
|---|---|
| New member joins audience | No action (not added to destination) |
| Existing member leaves audience | Removed from destination |
| Member’s field values change | No action |
How It Works
On each sync run, SignalSmith computes which members have left the audience since the last run. New members are ignored — they are not sent to the destination.
Previous membership: {A, B, C, D}
Current membership: {A, C, D, E, F}
Diff:
Added: {E, F} → Ignored (not sent to destination)
Removed: {B} → Sent as removal to destinationWhen to Use Subtractive
- Suppression lists — You have a pre-populated list in the destination (e.g., all customers) and want to remove people as they meet certain criteria (e.g., opted out, churned, or already converted).
- Exclusion audiences — Remove customers from a broad campaign list as they take a desired action (e.g., remove from “Abandoned Cart” campaign once they complete the purchase).
- Complement of an additive sync — Pair a subtractive sync on the same audience to another destination. One destination gets the adds, another gets the removes.
Example
A “Has Not Opted Out” audience is synced to an email platform in subtractive mode. The email platform already has the full customer list:
- When a customer opts out, they leave the “Has Not Opted Out” audience
- The subtractive sync removes them from the email platform
- When new customers sign up (and haven’t opted out), they are added to the audience but not synced — they were already in the email platform from a separate data flow
Comparison Summary
| Mirror | Additive | Subtractive | |
|---|---|---|---|
| Sends adds | Yes | Yes | No |
| Sends removes | Yes | No | Yes |
| Sends updates | Yes | Yes | No |
| Destination reflects | Current membership | All-time membership | Pre-populated minus departures |
| List growth pattern | Fluctuates | Monotonic growth | Monotonic shrinkage |
| Most common use case | Ad audiences, CRM campaigns | Seed lists, cumulative lists | Suppression, exclusion |
Choosing a Sync Mode
Ask yourself:
-
Should people be removed from the destination when they leave the audience?
- Yes → Mirror or Subtractive
- No → Additive
-
Should new audience members be added to the destination?
- Yes → Mirror or Additive
- No → Subtractive
-
Should the destination exactly match the current audience at all times?
- Yes → Mirror
- No → Additive or Subtractive depending on your needs
When in doubt, Mirror is the safest default. It keeps the destination in sync without surprises.
Next Steps
- Creating an Audience Sync — Step-by-step guide
- Audiences — Build and manage audience definitions
- Destinations — Configure destination connections