Putting a contact back into a campaign where they left off

Not sure if this a product or marketing question.

Here is the scenario, A contact is in a long term newsletter campaign that has 52 emails, 1 email sent per week for example. Each email has a call to action.

If the contact activates any of the calls to actions (eg book a demo), then they are moved into a new campaign to handle the demo and subsequent steps, while being removed from the newsletter campaign.

Question
If the demo campaign is unsuccessful in making a sale, I would like to return the contact to the long term newsletter campaign, at the point they were at when they were removed from the campaign - possible?

Solutions considered
Have the demo campaign re-assign the tag that moves them into segment that initiates the long term nurture newsletter campaign. If the emails are set to marketing the contact will not get the emails they have already been sent, and will only get the next email they have not been sent. Hassle with this is if the contact was 6 months into the campaign, it will take 6 months until they get to the point in the campaign where they will they will get their next email. So not a solution.

Or

Add a tag action step after each email sent in the long term nurture campaign. A tag called email 1 long term newsletter is added after send of email 1. A tag called email 2 long term newsletter is added after send of email 2 and the tag email 1 long term newsletter is removed. Basically the tag determines exactly where they are in the campaign. Then set a condition as the first step in the campaign to look for any of the 52 long term newsletter tags (if 52 emails). They will only have 1 of the tags. This method falls apart at this point. Simple logic says if email 32 long term newsletter tag is present use a jump to event action step to jump to email 33 step. But for this to work there would need to be 52 condition checks and 52 jump steps, 1 for each possible tag. Plus a shit load of tags.

There must be a simple creative way to achieve this?

@joeyk this might be a good topic for one of the Automation show shorts, if there is a neat solution?