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 TypeAction
New member joins audienceAdded to destination
Existing member leaves audienceRemoved from destination
Member’s field values changeUpdated 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 TypeAction
New member joins audienceAdded to destination
Existing member leaves audienceNo action (stays in destination)
Member’s field values changeUpdated 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 TypeAction
New member joins audienceNo action (not added to destination)
Existing member leaves audienceRemoved from destination
Member’s field values changeNo 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 destination

When 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

MirrorAdditiveSubtractive
Sends addsYesYesNo
Sends removesYesNoYes
Sends updatesYesYesNo
Destination reflectsCurrent membershipAll-time membershipPre-populated minus departures
List growth patternFluctuatesMonotonic growthMonotonic shrinkage
Most common use caseAd audiences, CRM campaignsSeed lists, cumulative listsSuppression, exclusion

Choosing a Sync Mode

Ask yourself:

  1. Should people be removed from the destination when they leave the audience?

    • Yes → Mirror or Subtractive
    • No → Additive
  2. Should new audience members be added to the destination?

    • Yes → Mirror or Additive
    • No → Subtractive
  3. 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