You Can Edit a Live Customer.io Campaign Without Rebuilding It. Here's What Silently Strands or Double-Sends People Mid-Journey
Between 1982 and 1986, engineers replaced the entire roadway of the Golden Gate Bridge without ever closing it. The original concrete deck had corroded, so they cut it out in 747 sections and dropped in lighter orthotropic steel panels, working across roughly 401 nights. Traffic kept crossing every day. Nobody built a second bridge alongside the first and waited to switch everyone over. They swapped the deck panel by panel while the cars kept moving.
That is the right mental model for editing a live Customer.io campaign. Most operators do the opposite. They see an always-on campaign with people in it, get nervous about touching anything, clone the whole thing, edit the clone, and switch triggers over. Now they have two half-running versions, split reporting, and a cohort stranded in the old one. The clone was supposed to be the safe move. It was the risky one.
Customer.io documents, precisely, what happens to everyone currently waiting when you change each part of a workflow. That documentation turns "don't touch it" into a rulebook. This post is that rulebook: the edits that are safe, the edits that instantly push a cohort forward, and the ones that silently strand or skip people. Read it and you can make most changes in place, with the traffic still flowing.
Why cloning a live campaign is usually the riskier move
Cloning splits your problem in two instead of solving it. The moment you stand up a copy and point new entrants at it, you are running two campaigns that share a purpose but not their metrics. Open rates, conversions, and unsubscribes now live in two places. If your entry rules overlap even slightly, the same person can land in both copies and get the same message twice. Anyone already mid-journey in the original keeps going there, so you are maintaining the thing you were trying to retire. When something looks wrong a week later, you cannot tell whether it is the old version, the new one, or the seam between them.
The instinct behind cloning is that a live campaign is fragile. It usually is not. What is fragile is a single campaign carrying too much. If your instinct to clone comes from a twelve-step monster that nobody wants to touch, the fix is not a careful copy. It is architecture: breaking that workflow into three smaller ones that each do one job and are safe to edit on their own. Smaller campaigns are the reason most in-place edits are boring rather than frightening.
So before you clone, ask what you are actually changing. In most cases Customer.io will tell you exactly what happens to the people inside, and you can just make the edit.
What happens when you change a delay or a time window
Shortening a delay re-evaluates everyone waiting in it, and some of them jump forward immediately. Customer.io's worked example is a delay cut from 7 days to 5. Everyone sitting in that delay gets re-assessed; anyone who has already waited longer than the new period—more than 5 days—moves straight to the next action, and everyone else keeps waiting out the remainder. So someone who was six days into a seven-day wait does not wait the extra day. They advance the instant you save. The official guidance on editing live workflows spells this out.
Lengthening a delay is the calm one. People currently waiting simply keep waiting until the new, longer period has elapsed. Nobody is pushed anywhere.
Deleting a delay moves everyone to the next action, and this is where an edit can fire a message you did not expect. If the item after the deleted delay is another delay or a time window, people wait as that item requires. But if the next item is a message, an attribute update, or a webhook, it triggers immediately. Delete a delay that sits in front of an email and you can send that email to a waiting cohort the moment you click Save.
Time windows follow the same logic. If you narrow or widen a window, people adapt to the new one; if the window was shut before your change and is open now, everyone who was waiting moves forward. Say it is Monday at 09:30 and a window only allowed sending on Tuesdays and Thursdays. Open it for Mondays too and the waiting cohort proceeds at once. Open it for Mondays from 10:00 and they are scheduled to move in thirty minutes instead of waiting until Tuesday. Delete a window entirely and everyone waiting on it moves to the next action straight away.
What happens when you move, delete, or edit a message
Editing a message never re-sends it to someone who already received it. This is the single fact that removes most of the fear. Fix a typo, swap an image, rewrite a subject line. People who have already been sent that message will not get it again, even if you change its content or move it to a different position. The change applies to everyone who reaches the message from now on.
Deleting a message advances the people queued behind it. Anyone waiting in a delay or time window before the message you removed moves to the next action after it, if there is one. They are not stranded at the gap; they carry on down the workflow.
Moving a message has the same "already received" protection. Drag it earlier or later and the people who were sent it in its old position will not be sent it again in the new one. One quiet exception is worth knowing: if the message is set to Queue Draft, Customer.io will not draft another copy for people who already have a draft, even if that draft was deleted.
Editing and moving messages often set an attribute along the way. If you use attribute-update actions to record where someone is, it is worth reading why journey attributes belong on the journey, not the customer profile. It keeps your live edits from leaving stale state behind on the person.
The Save button that does not autosave
A live campaign does not autosave a message. You must click Save. In a draft campaign, Customer.io saves your message edits as you go. In a live campaign it does not—your changes only take effect when you click Save. Navigate away without saving and the campaign keeps sending the old version, and you will think you fixed something that is still going out wrong.
There is a useful pairing here. Once you save a message, Customer.io automatically updates any drafts already queued for it so they reflect your change. What it cannot do is reach back and change a message that has already been sent. Save updates the future and the pending, never the past.
Send behaviour: Send Automatically, Don't Send, and Queue Draft
Customer.io gives every message one of three sending behaviours, and each one treats in-flight people differently. Set a message to Send Automatically and people receive it as soon as they reach it. Set it to Don't Send and they skip it, moving straight to the next action if there is one—so yes, switching an item to Don't Send pushes people forward rather than holding them. Set it to Queue Draft and Customer.io prepares the message under Drafts for you to send by hand, while people keep advancing through the workflow whether or not the draft is ever sent.
That last behaviour is where campaigns silently strand people, for three documented reasons. First, new messages default to Queue Draft, not Send Automatically. Add a message to a live campaign, forget to switch it, and it quietly queues drafts that nobody sends while people file past it. Second, drafts are only stored for 30 days—queue them and forget, and Customer.io deletes them. Third, if you delete a draft, Customer.io will not re-draft that message for the same person in the same journey. The message is simply gone for them.
One more nuance for live campaigns. Switching a message from Queue Draft to Send Automatically only applies to future arrivals; you still have to send the existing drafts by hand so the people already past that point get their message. The behaviour change does not sweep up the backlog for you.
Letting unsubscribed people into a live campaign
You can send to unsubscribed people, but only deliberately and only for the right reasons. By default Customer.io sends campaign messages to subscribed people only. If you are using global unsubscribes rather than the subscription centre, you will see two options: All subscribed people, or All subscribed and unsubscribed.
Where you flip that switch matters. Change it at the campaign level and unsubscribed people start receiving the whole campaign. Change it at the message level and they start receiving only that one message. This is the distinction that trips people up: campaign-level opens the floodgates, message-level opens a single door.
Two caveats the docs are firm about. A person's global subscription status covers email, push, SMS, and WhatsApp, but not in-app messages—in-app has its own targeting rules and the global unsubscribe does not apply to it. And you should only send to unsubscribed people when the message is genuinely transactional, like a password reset, and you respect the anti-spam laws that apply to your audience.
The edits that still need a rebuild
Some changes do call for stopping rather than editing in place, and the clearest is changing a live campaign's trigger or filter. Customer.io does not re-evaluate existing drafts when you change entry criteria. People who no longer match your new trigger still have a draft sitting ready to send. If you must change the trigger or filter, the documented path is to stop the campaign, delete the existing drafts, make the change, and restart. That way you are not left sorting who should and should not receive a queued message.
Structural re-sequencing is the other case. If you are re-ordering half the steps, splitting one path into three, or changing the shape of the journey, in-place editing gets harder. It means holding every rule in this post in your head at once, for every person in flight. That is the moment to question the design instead of the edit. Long sequences are usually the culprit, and the honest answer is often fewer emails, not a rebuilt twelve.
And if the real change is about who leaves the campaign and when, that is not a rebuild at all. It is exit conditions, a native lever for pulling people out of a journey the moment they meet a condition. Reach for the right tool before you reach for a clone.
Frequently asked questions
If I shorten a delay from 7 to 5 days, what happens to someone who has waited 6 days?
They move to the next action immediately. Shortening a delay re-evaluates everyone waiting in it, and anyone who has already waited longer than the new period moves forward at once. Six days is past the new five-day mark, so that person advances the moment you save, rather than waiting the old extra day.
If I delete a message, do the people queued behind it get the next one?
Yes. Anyone waiting in a delay or time window before the deleted message moves to the next action after it, if one exists. Deleting a message does not strand the people queued behind it; it advances them down the workflow.
Will editing a message's content re-send it to people who already received it?
No. People who were already sent a message will not receive it again, even if you change its content or move it to a different position. Your edit only affects people who reach the message after you save. Customer.io cannot update a message that has already been sent.
Does setting an action to "Don't Send" push people forward?
Yes. When you set a message or action to Don't Send, people skip it and move to the next action in the workflow, if there is one. It does not pause or hold them.
Do I need to click Save when I edit a message in a live campaign?
Yes. Customer.io autosaves message edits in a draft campaign but not in a live one. In a live campaign your changes only take effect when you click Save. If you navigate away without saving, the campaign keeps sending the old version.
What happens to people if I switch an action to Queue Draft?
They keep moving. Queue Draft prepares the message under Drafts for you to send manually, and people advance to the next action whether or not the draft is ever sent. On a live campaign, switching to Send Automatically later only affects future arrivals—you still have to send the existing drafts by hand.
Why is a new message I added to a live campaign not sending?
Because new messages default to Queue Draft, not Send Automatically. A message left on Queue Draft prepares drafts for manual sending while people file past it, so nothing goes out on its own. Open the message settings, switch it to Send Automatically, and send any drafts that have already queued.
Do queued drafts expire?
Yes. Customer.io only stores drafts for 30 days, then deletes them. If you queue drafts and do not send them within that window, they are gone, and the people who should have received those messages never will unless you act in time.
If I delete a draft, will Customer.io recreate it?
No. Once you delete a draft, Customer.io will not re-draft that message for the same person in the same journey. Deleting a draft is effectively deciding that person will not get that message.
What happens if I lengthen a delay instead of shortening it?
Nobody is pushed anywhere. People currently waiting in the delay simply continue to wait until the new, longer period has elapsed. Lengthening a delay is one of the safest edits you can make on a live campaign.
If I delete a delay, can it send the next message immediately?
Yes. When you delete a delay, people move to the next action. If that next item is another delay or a time window, they wait as required. But if it is a message, an attribute update, or a webhook, it triggers immediately—so deleting a delay in front of an email can send that email to the waiting cohort at once.
If I change a live campaign's trigger or filter, does it re-evaluate existing drafts?
No. Changing a trigger or filter does not touch drafts already queued, so people who no longer match your criteria still have a sendable draft waiting. If you need to change entry criteria, the documented approach is to stop the campaign, delete the drafts, make the change, and restart.
Does the global unsubscribe apply to in-app messages?
No. A person's global subscription status covers email, push, SMS, and WhatsApp, but not in-app messages. In-app messages have their own targeting rules, so a globally unsubscribed person can still be eligible for them.
Can I let unsubscribed people into a live campaign, and should I ever?
You can, by changing the subscription preference from "All subscribed" to "All subscribed and unsubscribed"—at the campaign level for the whole campaign, or at the message level for a single message. You should only do this for genuinely transactional messages, like a password reset, and only where you respect the anti-spam laws that apply to your audience.
Is it safe to edit a live campaign at all?
Mostly, yes. Editing message content, lengthening delays, and turning link tracking on or off are low-risk. Shortening or deleting delays and deleting messages move people forward, sometimes immediately. Changing a trigger or filter is the one change that warrants stopping and restarting rather than editing in place. Knowing which bucket a change falls into is the whole game.
Sources
- Edit workflows in live campaigns. Customer.io Docs. Retrieved 27 July 2026.
- Sending behavior options (Queue Draft). Customer.io Docs. Retrieved 27 July 2026.
- Global unsubscribes. Customer.io Docs. Retrieved 27 July 2026.
- The history of the Golden Gate Bridge. TheCivilEngineer.org. Retrieved 27 July 2026.
Want this working in your Customer.io workspace?
It's what we do all day for SMBs—strategy, automations, deliverability and hands-on execution.
See how we work as a Customer.io agency →

