Skip to main content

Legacy library cleanup

Get Permission for Old Testimonials

Most sites carry quotes nobody can trace back to a yes. They were pasted in by a previous marketer, lifted from an email in 2019, or agreed over the phone by someone who has since left. You do not need to delete the lot. You need one short campaign that asks every named customer, moves the confirmed ones into a proper approval flow, and retires the rest on a date you set.

  • A first ask that quotes their words
  • A reminder and a final notice
  • An option to refresh rather than just confirm

The problem, solved

Where a legacy library gets stuck, and how StoryProof moves it

  • Nobody knows who agreed to what

    The quotes are live, the person who added them left, and the only evidence is the website itself.

  • Chasing sixty people by hand

    Most will not answer the first email, and manual reminders fall apart by the second week.

  • Their quote mentions a product we retired

    A confirmed but outdated quote still describes something you no longer sell.

  • Confirmed and unconfirmed are mixed together

    Halfway through, nobody can say which quotes are cleared to stay up.

Flip the switch to see how StoryProof handles each one.

Campaign emails

Write the reconfirmation sequence

Three messages: the ask, a reminder and a final notice. Quote their own words so they can decide without hunting for the page.

Message
  1. Confirm or refresh

    Subject: Are you still happy for us to share this?

    Hi [Helen],
    
    A while ago you said this about us, and it appears on [our homepage]:
    
    “[Onboarding was painless and the team answered within the hour]”
    
    We are checking every testimonial on our site with the person who gave it. Could you let us know which suits you?
    
    1. Keep it as it is: reply “keep”.
    2. Replace it with something more current: use this link to write, record audio or record a short video: [your StoryProof link]
    3. Take it down: reply “remove”, no questions asked.
    
    If we do not hear from you by [30 November], we will take it down.
    
    [Marcus]
  2. Short version for close customers
    Hi [Helen], quick one. Your quote “[Onboarding was painless and the team answered within the hour]” is on [our homepage]. Still OK to keep it there? Reply keep, remove, or send a newer version here: [your StoryProof link]. Thanks, [Marcus]

Your entries are filled into the emails locally. Nothing is uploaded or saved.

A four week cleanup plan

Sample plan, not a real customer

Week 1: export every testimonial on the site into one list with the page it sits on, and mark each one traceable or untraceable.

Week 1: take down untraceable quotes straight away, since there is nobody to ask.

Week 2: send the first ask to every traceable customer, with a takedown date four weeks out.

Week 3: reminders go to anyone who has not answered. Confirmed quotes are tagged and kept.

Week 5: the takedown date passes. Unanswered quotes come down, and widgets now draw only from confirmed testimonials.

Takedown window
Four weeks from first ask
Status tags
confirmed, refreshed, removed, no reply
Default if silent
Remove

In StoryProof

Run the campaign in StoryProof

  1. 1

    Add traceable customers as contacts

    One contact per quote author, with a tag naming the page their quote sits on.

  2. 2

    Send the first ask by email

    Use the first ask above with your collection link, so anyone refreshing their quote can do it there and then.

  3. 3

    Let the reminders run

    On Pro or above, the follow-ups automation handles the reminder and the last email. Otherwise send the reminder template by hand.

  4. 4

    Approve refreshed versions

    New submissions arrive unpublished. Approve the ones you will use and tag them as refreshed.

  5. 5

    Rebuild widgets from the confirmed set

    On the takedown date, pick only confirmed and refreshed testimonials for each widget and remove any hard coded quotes left on the site.

What happens next: From here on, every new testimonial arrives through the link, so the cleanup does not need repeating.

Before you start

Before you start

What this does not cover, and what to check on your side. Better to know now than after launch.

  1. 01

    A reply to you is not a public record

    Save the “keep” emails somewhere your team can find them. StoryProof captures new submissions, not replies to your inbox.

  2. 02

    Silence means remove

    Treating no answer as agreement defeats the point of asking. Set the default before you send anything.

  3. 03

    Hard coded quotes need a developer

    Testimonials typed straight into your site’s HTML have to be removed there; changing a widget does not touch them.

  4. 04

    This is not legal advice

    If a quote is in regulated advertising, or a customer disputes it, ask someone qualified where you trade.

FAQ

Questions people ask

Short answers to what usually comes up next.

Do I need to remove testimonials I cannot trace?

If you cannot name the person or reach them, you cannot show they agreed. Taking those down is the cautious choice.

How long should the takedown window be?

Long enough for people back from holiday to reply. Three to four weeks with one reminder in between is a common shape.

What if a customer asks to change their quote?

Send them the collection link and publish the new version once it arrives. Do not edit the old one on their behalf.

Should I tell customers why I am asking now?

A short honest line works: you are checking every testimonial with its author. Most people appreciate being asked.

Can I keep the quote while I wait for an answer?

That is your call to make before the campaign starts. Many teams leave quotes up until the takedown date, then remove anything unconfirmed.

Still have a question? Ask the StoryProof team or book a demo.

Clean up the library once, properly

Ask every customer behind an old quote, bring the confirmed ones into StoryProof and show only those.

Last updated 2026-11-06.