Skip to main content
This is a temporary workaround while we build native backfill. The current flow is clunky and will get much better. Please still let us know you want native backfill so we can prioritize it.

When to use this

  • You have an existing loop that should have run for some contacts but didn’t.
  • You’re comfortable exporting and re-importing a contact list.

What you’ll do (high level)

  1. Duplicate the original loop.
  2. Create a one-off contact property (e.g., backfill_welcome_sep2025).
  3. Change the duplicate loop’s trigger to “Contact updated” based on that property.
  4. Start the duplicated loop.
  5. Export the intended audience.
  6. Add the property to the CSV for those contacts.
  7. Re-import the CSV to update contacts and trigger the loop.

Step-by-step

  1. Duplicate the loop
  • Open the loop you want to retroactively trigger.
  • Use Duplicate to create a copy. Rename it clearly (e.g., “Welcome Backfill (Sep 2025)”).
  1. Create a one-off contact property
  • Add a new contact property to use exclusively for this backfill. Example:
    • Boolean: backfill_welcome_sep2025 (true/false)
  • Use a name that avoids collisions with any existing logic.
  1. Change the duplicate loop’s trigger
  • Set Trigger to “Contact updated”.
  • Set the criteria to:
    • was any
    • is equal to true
For one-off backfills, set Trigger frequency to One time so a contact only enters once.
  1. Start the duplicated loop.
  2. Export the intended audience from the original loop
  1. Prepare the CSV for re-import
  • Open the CSV and add a new column with the property key you created.
  • Populate that column with true for every row you want to trigger.
  • Ensure the CSV still includes the primary identifier (either email or userId).
  1. Re-import to update contacts and trigger
  • Import the CSV.
  • Confirm the column mapping so your backfill property maps 1:1 to the new contact property.
  • Set the CSV to trigger loops (see trigger loops via CSV).
  • Start the import.
Your backfilled loop will begin triggering immediately.
After the backfill completes, consider removing or resetting the temporary contact property to avoid accidental future triggers.
I