How to track competitor promotions and discount emails
TL;DR
Counting how often a rival emails you tells you almost nothing. The number that moves first is discount depth: how far a brand walks from free shipping to sitewide percentage off, and how many days the walk takes. Newsletrix scores promotion intensity on every email it ingests, so that walk becomes a time series you can read instead of a feeling you have in November.
Send volume is the wrong variable to track
Most attempts to track competitor promotions and discount emails stop at a tally. They sent 14 in November, we sent 9, someone puts it on a slide, and the team argues about cadence for an hour. The tally is real. It is also the output of a decision made six weeks earlier in a planning doc, so by the time you can count it the interesting part already happened.
Depth is the part that moves in real time. A brand sending 14 emails that never go past 15% off is running a plan. A brand sending 6 emails that end at 50% off sitewide with no exclusions is running out of options. Same inbox, same month, opposite stories. We published Black Friday competitor email volume benchmarks because the volume question is the one people ask first, but volume is the half of the picture that confirms what you already suspected rather than the half that warns you.
Here is the reading most teams get backwards. When a competitor hits 40% off before the middle of November, that is usually read around the table as aggression, as the rival going early to take the quarter. We read it the other way. Going that deep that early means inventory that will not move at full price, or a cash position that cannot wait for the last week of the month. It is a balance sheet showing through the creative.
The discount ladder and how fast a brand climbs it
Almost every consumer brand climbs the same five rungs. Free shipping or a small gift with purchase. Then a dollar-off or single-digit percentage. Then the 15% to 25% band, which is where most of the year lives. Then 30% and above with exclusions attached. Then sitewide, no exclusions, the rung nobody wants to stand on for long.
What matters is the climb rate. Three rungs in ten days means something went wrong with the forecast. A brand that has held the 15% to 25% band for four straight quarters has either genuine full-price demand or a merchandising team with the authority to say no, and both are worth knowing before you plan against them. The flat ladder is the harder competitor, even though the deep discounter looks scarier in a screenshot.
The honest cost: one quarter of data gives you a shape, not a baseline. You cannot say a brand went deep early until you know what early looks like for that brand. The calendar is close to worthless in month one and gets sharp in the second cycle. If that is too slow for the decision in front of you, this is not the tool for it.
What to capture from every promotional email
Eight columns per send, and you can fill them in about ninety seconds each. Send timestamp, converted to the recipient's local time rather than yours. The offer token exactly as written, so 40% off stays 40% off and does not get rounded into a category. The scope, meaning sitewide, one category, or a single product. The exclusions string, copied verbatim. The expiry language and the real deadline behind it. The code format. The sending platform. And whether the send was a campaign or an automated flow.
Two of those get skipped constantly, and they are the two that change the answer. Exclusions first: a 40% off with four excluded categories, no sale items and a minimum spend is a 22% off wearing a better subject line. Log the headline number and you build a calendar of fiction. Code format second. A human-readable code like FALL40 is a planned campaign that went to a list. A long per-recipient hash is a trigger firing on behaviour. The format tells you which machine produced the email before you read a word of it.
On the Newsletrix side this runs at ingest. Every email gets scored for promotion intensity on a 0 to 100 scale, built from four percentage-off patterns in the body text: constructions like 40% off, sale: 30%, save 25%, and up to 50% off. Pattern hits carry the heavy weight and are capped, so one email shouting about a sale in six places cannot pin the meter on its own. Promotional keyword hits add a smaller amount on top. The AI pass then stores the shape of the offer as labels, things like stackable, time-limited and threshold-based, alongside the specific products and their discount text.
That scoring has a blind spot we have not fixed, and you should know about it. The patterns are percentage-shaped. A brand running "$20 off your order" or buy-one-get-one never trips the pattern bucket, so its intensity score lands lower than the offer deserves. On dollar-off-heavy categories, furniture and appliances especially, read the subject line yourself and trust your column over the score. This is exactly why the eight columns stay manual instead of getting automated end to end.
Find out what platform is behind the send
Campaign naming conventions differ by platform, so the slug only reads properly once you know who sent it. The Newsletrix ESP detector fingerprints the sending platform from the message headers. To compare a competitor's offer token against your own before you write the counter-offer, drop both into the subject line tester.
Detect the sending platform →How to tell a campaign blast from an automated flow send
An abandoned-cart email offering 10% off is not a promotion. It fires on behaviour, it went to one person, and it has been running untouched since 2023. Log it in the promo calendar and your competitor looks like it discounts weekly when it discounts quarterly. That single mistake wrecks more competitor promo calendars than any other.
The cheapest tell is the utm_campaign value on the links. Humans name campaigns like humans: november-sale-2, bfcm-launch, spring-clearance-final. Systems name flows like systems: abandoned_cart_1, browse-abandonment, winback-30d. Flow slugs stay identical across recipients and across months, which is the giveaway once you have logged the same brand twice. Klaviyo tends to carry the flow name plus a message position, so you can often see which step of the sequence you landed in.
Platform identity comes from the headers, not the UTMs. Newsletrix reads the X-Klaviyo header, klaviyo.com and klaviyomail.com appearing in Return-Path or Message-ID, and the List-Unsubscribe domain. Mailchimp, Braze, SendGrid, Salesforce Marketing Cloud and Shopify Email each leave their own fingerprints in the same places. Worth doing because naming conventions are per-platform, so the slug only becomes readable once you know the sender. Our guide on how to find what ESP a company uses walks the header trail in detail.
Reading the pre-sale ramp
Brands tease before they sell, and the gap between the first teaser and the first live offer is one of the more useful numbers you can collect. Two or three days means a weekend sale nobody is nervous about. Ten to fourteen days, usually with an early-access step for subscribers, means real inventory and paid budget behind it. When that gap stretches year over year, the event got bigger.
Cadence step-ups are the second signal. Most brands go from roughly two sends a week to daily in the final 72 hours, which is unremarkable. What is worth logging is the day the step-up starts. Starting the daily push on day six of a ten-day window rather than day nine says the early numbers came in soft.
Then there are extension emails. "By popular demand, extended through Tuesday." Sometimes true. Usually it means the event missed its number and merchandising got one more day to close the gap. A brand that extends two consecutive events is not on a lucky streak. Watch the send hour on the final-day email too, because a last send arriving outside the sequence's normal window was generally added in a hurry.
Turning the calendar into a counter-move
The instinct is to sit on top of a rival's window and match the offer. That is the most expensive option available. Two placements work better. Land 48 hours ahead of a launch you can now predict, catching shoppers already in-market but not committed. Or wait for day two, when the inbox is saturated and their own open rates start sliding.
On matching depth, our position is firm. If a competitor's ladder climbs faster than yours every cycle, matching the number means funding their inventory problem out of your margin. Match the window instead. Being present during their event without being cheaper during their event captures the demand their spend created, and it does not teach your list to wait for 40%. That last part is the cost nobody prices in: every deep discount trains your buyers to postpone, and the training sticks for quarters.
Refreshing is lighter work than starting. Keep the tracking address alive, prune brands whose ladder has not moved in two cycles, add whatever your sales team keeps hearing about. Starting from nothing, building the competitor newsletter list comes first, then tracking competitor newsletters on an ongoing basis. The promo columns bolt onto that collection rather than replacing it. Teams weighing dedicated tooling usually land on our Panoramata comparison.
Start with six brands and one quarter. Six is small enough that you will keep doing it in week five, which is where most competitive research dies. The first genuinely useful sentence arrives at the end of the second cycle, when you can tell the room that a rival hit 30% off eleven days earlier than last year and put the receipts on the screen.
Frequently asked questions
How do I track competitor discount emails without subscribing with my work address?
Use a dedicated tracking address on a domain that is not your company domain, and subscribe through a browser session that is not signed into your own accounts. Plenty of brands segment by email domain, so a corporate address can land you in a different treatment group or get pulled out of the mainstream list entirely. A plain consumer-style address on a neutral domain gets you the send everyone else sees. Newsletrix collects from an IMAP mailbox, so any address you control works as the collection point.
What is discount depth and why does it matter more than send volume?
Discount depth is the size of the offer in a promotional email, running from free shipping at the bottom of the scale to sitewide percentage off at the top. It tells you more than send count because volume gets decided weeks ahead in a planning meeting, while depth is where a brand reacts to how the quarter is going. Two competitors can send the same number of emails in November and be in completely different financial positions. Depth also compares across brands in a way raw send counts never do.
How can I tell if a competitor email is automated or a manual campaign?
Check the utm_campaign value on the links. Manual campaigns carry human-written slugs with dates or event names in them, like november-sale-2 or bfcm-launch. Automated flows carry stable system slugs that repeat across recipients and rarely change, like abandoned_cart_1 or winback-30d. A discount code that is unique per recipient points to a flow as well, because blast campaigns almost always reuse one shared code.
How far ahead do brands tease a sale?
It varies with how much the brand has riding on the event. A weekend sale usually gets a two or three day teaser and nothing more. A brand running its biggest event of the year often opens a ten to fourteen day ramp, frequently with an early-access step reserved for subscribers. The length of that gap is a reasonable proxy for how much inventory and budget sits behind the event.
Is tracking competitor promotional emails legal?
Subscribing to a public marketing newsletter with an address you control and reading what arrives is ordinary competitive research. You are a recipient of a message the sender chose to broadcast to anyone who signs up. The real limits sit elsewhere: do not access an account that is not yours, do not scrape behind a login, and do not republish someone else's creative as your own. Check with your own counsel for your jurisdiction rather than treating a blog post as legal advice.