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)
- Duplicate the original loop.
- Create a one-off contact property (e.g.,
backfill_welcome_sep2025). - Change the duplicate loop’s trigger to “Contact updated” based on that property.
- Start the duplicated loop.
- Export the intended audience.
- Add the property to the CSV for those contacts.
- Re-import the CSV to update contacts and trigger the loop.
Step-by-step
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)”).
Create a one-off contact property
Add a new contact property to use exclusively for this backfill.Example:
Boolean:
Boolean:
backfill_welcome_sep2025 (true/false)Use a name that avoids collisions with any existing logic.Change the duplicate loop’s trigger
Select “Contact updated” as the trigger.Set the criteria to:
- was any
- is equal to
true
Export the intended audience from the original loop
From the main audience table, export the contacts who should be backfilled.
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).Re-import to update contacts and trigger
Import the CSV from the Import button on the Audience page.Confirm the column mapping so your backfill property maps 1:1 to the new contact property.Set the CSV import to trigger loops using the Trigger Loops toggle.Start the import.Your backfilled loop will begin triggering immediately.

