A Retentive QA tool for Klaviyo

Find broken links and dead discount codes in your Klaviyo flows.

Flows keep sending for months after anyone last opened them. Retentive scans every live flow and every draft or scheduled campaign, follows each link, and checks each discount code against your Shopify store, so a 404 or an expired code is found by you instead of a customer.

  • Every live flow scanned
  • Codes verified in Shopify
  • Runs every 12 hours to weekly

How to check a Klaviyo account for broken links and expired codes

One scan covers the whole account. Schedule it and it keeps covering it.

  1. Step 1

    Connect Klaviyo and Shopify

    Connect Klaviyo to scan links. Connect Shopify too and every discount code found in an email is looked up in your store.

  2. Step 2

    Run a scan

    Scan live flows, draft and scheduled campaigns, or both. Signal reads every email, follows every link and collects every discount code.

  3. Step 3

    Fix what broke

    The report lists each broken link and each dead code with the email it lives in. Every scan is saved to the brand's history.

Clicking through flows vs a Signal scan

A flow built last year still sends today. Nobody clicks through it again until a customer complains.

Checking by hand

  • Open every flow email and click every link, one by one
  • Look up each discount code in Shopify separately
  • Miss the code that is valid today but ends before the send
  • Do it again next month, if anyone remembers

With Signal

  • Every live flow and scheduled campaign scanned in one run
  • Each code looked up in Shopify automatically
  • Codes that expire before the scheduled send are flagged
  • Scans repeat on their own, every 12 hours to weekly

Built for the emails nobody rereads

Every link followed

Each link is requested and its answer recorded: working, broken, server error or timed out. Checkout and cart links that block bots are marked as expected, not as broken.

Discount codes checked in Shopify

Codes found in your emails are looked up in Shopify: missing, expired, not active yet, or active. Without a Shopify connection a code is marked unverified, never guessed.

Expires before the send

The check nobody does by hand: a code that works today but ends before the campaign's scheduled send time is flagged before the campaign goes out.

Scheduled scans

Run it every 12 hours, every day, every 3 days or every week, on flows, campaigns or both. Every run lands in the same saved history.

What each result means

Signal never guesses. When it cannot verify something, it says so.

ResultMeaning
Broken linkThe page answered with a client error, such as a 404
Server errorThe page answered with a server error
Timed outThe page did not answer in time
UnverifiableThe site blocked the check; common and expected on checkout and cart pages
Code missingNo discount with that code exists in Shopify
Code expiredThe discount has ended
Not active yetThe discount is scheduled to start later
Expires before sendActive now, but it ends before the campaign's scheduled send
UnverifiedNo Shopify connection, so the code could not be looked up

Frequently asked questions

How do I find broken links in Klaviyo flows?

Run a Signal scan on the account. It reads every live flow email, follows every link, and lists each broken link with the flow and email it lives in. Schedule the scan and it repeats on its own.

Can it tell if a discount code in an email has expired?

Yes, when Shopify is connected. Each code found in an email is looked up in Shopify and reported as active, expired, missing or not active yet. Without Shopify, codes are marked unverified instead of guessed.

What does "expires before send" mean?

The code is active today, but its end date falls before the scheduled send time of the campaign it appears in. The email would arrive with a code that no longer works.

Which emails does it scan?

Live flows and draft or scheduled campaigns, the emails that will still reach customers. You can scan flows, campaigns or both.

Can it run automatically?

Yes. Schedule scans every 12 hours, every day, every 3 days or every week. Each run is saved to the brand's history next to the scans you run by hand.

Why are some checkout links marked unverifiable?

Checkout, cart and account pages often block automated requests while working normally for real shoppers. Signal marks them as unverifiable and flags them as expected, so they do not bury the links that are actually broken.

Scan every flow before a customer finds the 404.

Signal ships inside Retentive, next to the Email Checker, the Slicer and Klaviyo analytics. One Klaviyo connection powers all of it.

About Signal, the Klaviyo link and discount code checker

Signal is Retentive's link and discount code checker for Klaviyo. It scans a Klaviyo account's live flows and its draft and scheduled campaigns, follows every link in every email, and checks every discount code it finds against the brand's Shopify store.

It exists because flows are set-and-forget by design. A welcome series or a post-purchase flow keeps sending for months, and the product page it links to can be deleted and the code it offers can expire long before anyone opens the flow again. The revenue loss is silent: no bounce, no error, just a customer who hits a 404 or a code that says it is invalid.

Every link gets a verdict (working, broken, server error, timed out or unverifiable) and every code gets one too (active, expired, missing, not active yet, or expires before the scheduled send). Codes are only ever verified against Shopify; without that connection they are reported as unverified rather than guessed. Scans can run on demand or on a schedule of every 12 hours, daily, every 3 days or weekly, and every run is saved.

Signal is one tool inside Retentive, a Klaviyo intelligence platform. Teams that scan links with Signal typically proofread copy with the Retentive Email Checker, from the same dashboard.