Cold Email Subject Lines Driven by a Buying Signal
Most subject-line advice optimises the sentence. This one starts a step earlier, with the observation that earns the sentence the right to exist.
Agencies and software companies selling to ecommerce stores
- →A subject line cannot manufacture relevance. It can only reveal that relevance already exists, which is why the observation matters more than the wording.
- →Four properties do the work: a dated event, a fact the reader can verify about their own store, no claim about their business, and no curiosity gap.
- →Seven signal types produce seven different openings — new Meta ads, rising ad count, product launch, email tool installed, social growth, newsletter cadence, store changes.
- →No open rates or reply rates appear in this post. We did not run a subject-line test, and a rate from our sending would not predict yours anyway.
- →The pool behind the examples: 4.1 million Shopify and WooCommerce stores across Europe and North America, 41,200 carrying a fresh signal in the last seven days, as of August 2026.
What a signal-keyed subject line actually is
A signal-keyed cold email subject line names something that happened at the recipient's store, recently, and it names it plainly. That is the whole mechanism. Cold email subject lines cannot manufacture relevance — they can only reveal that relevance already exists, and what supplies it is the observation sitting behind the sentence.
The disclosure belongs here rather than at the bottom. We build Keaz Signals, which sells ecommerce leads with live buying signals attached, and one of the things the product does is draft per-store copy from those signals. So we have an obvious interest in you concluding that the observation matters more than the wording. Read the rest with that in mind — the argument should survive it.
It is worth being precise about what is being claimed. Nothing here says phrasing is irrelevant. It says phrasing operates under a ceiling, and the ceiling is set by whether you know anything about this particular store that its owner would recognise as true and current. A beautifully phrased line about nothing in particular is still a line about nothing in particular. Most subject-line advice works below that ceiling, which is why it can be simultaneously correct and disappointing.
This post is about the step before the sentence: seven store events, what each one licenses you to say, and the four properties that separate a subject line the reader can verify from one that merely sounds specific.
What generic subject-line advice gets right
Most of it is sound. Keep it short, write like a person, skip the exclamation marks, do not promise what the body cannot deliver, avoid the words that trip filters — that is the accumulated result of a great many people sending a great many emails, and none of it is wrong. A signal changes none of it.
Four pieces of the standard advice are load-bearing, and they stay load-bearing whatever the line is about:
- Length. A subject line is read in a preview pane, usually on a phone, usually truncated. Short is not a stylistic preference, it is a constraint of the medium.
- Register. Sentence case, no title case, no marketing capitals. A line that looks like an email a colleague sent gets read as one. A line that looks like a campaign gets filed as one.
- Honesty about the body. A subject line that oversells what follows buys exactly one open, and spends the sender's credibility to get it.
- Filter hygiene. Certain words and certain punctuation patterns cost placement. Unglamorous, well documented by the people who run sending infrastructure, and worth respecting.
We follow all four and we discovered none of them. Where this post differs from the genre is not on the craft but on what the craft gets applied to. Generic advice takes the list as given and optimises the sentence, which is a reasonable division of labour — and for many senders it is the only division available, because the list genuinely is given. The rest of this is about what changes when it is not.
Four properties that make a signal-keyed subject line work
Four properties. A line that has all four tends to work; a line missing one tends not to. It needs a dated event, a fact the reader can check about their own store, no claim about their business, and no curiosity gap. The first two are supplied by the data. The last two are decisions the writer makes, and both are refusals.
- A dated event, not a stable attribute. "Runs Shopify" is true for years and says nothing about today. "Started running Meta ads nine days ago" is true for a fortnight. The date is the reason a cold message reads as observant rather than random, and it is also why the line expires — which is the useful part, because a fact that is only good for two weeks is a fact most of your competitors are not holding on the day it matters.
- A fact the reader can verify about themselves. The recipient should read the line and think: yes, that happened. That bar is higher than it sounds, and it rules out most inference. "Scaling fast" is a conclusion. "Your active ad count went from 4 to 19" is an observation. One invites an argument, the other does not.
- No claim about their business. The temptation with a good observation is to attach a diagnosis — that the launch must be going well, that the ad spend implies a budget, that the tool install means they are struggling with retention. All of that is guessing, and the reader knows their own situation better than the guess does. State the event and stop.
- No curiosity gap. Withheld information is the standard trick of the genre, and it works directly against a signal. If you already have a real reason to be writing, hiding it to manufacture intrigue trades a verifiable fact for a vague one. Say the thing.
The fourth is where signal-led practice and conventional practice most often part company, and it repays a moment's thought. A curiosity gap is a way of borrowing attention when you have nothing to spend. With a real observation you have something to spend, and spending it in the subject line is what buys the body a fair reading.
None of the four is a claim about performance. They are properties of a sentence, checkable by reading it, which is deliberate — see the section further down on the numbers this post does not contain.
Subject lines by signal type, and the observation behind each
Seven store events are detected across the pool, and each licenses a different opening. What follows pairs the observation with a line built only from what that observation supports — no diagnosis attached, nothing the recipient could not confirm by looking at their own store. The bracketed parts are where the store's own detail goes.
- New Meta ads running. The store had no active ads and now has some. That supports the fact of the launch and nothing about how it is going: "your new Meta ads" or "saw the ads went live last week".
- Active ad count rising. A count moved, and the movement is the fact: "4 to 19 ads in two weeks". A number the recipient can check beats any adjective describing it.
- Product launch. Something new appeared in the catalogue: "the new [product] page". Specific, checkable, and it demonstrates that a person looked at the store rather than at a row in a database.
- Email marketing tool installed. Klaviyo, Brevo or another retention tool went in: "since Klaviyo went in". That places the message inside a window when retention is demonstrably on someone's desk.
- Social growth. Followers or posting cadence moved on Instagram or TikTok: "your Instagram in [month]". Dated to the month, with no claim about why it moved.
- Newsletter activity. The sending rhythm changed: "your newsletter picked up". Whether that is a strategy or a one-off is not ours to assert, and the line does not need it.
- Store and site changes. The storefront was rebuilt or materially altered: "the storefront rebuild". The most self-evidently observed of the seven, and the hardest to fake.
Two things are worth noticing about the list as a whole. None of the lines contains a benefit, a question, or a number about our product. And none of them would survive being sent to a store where the event did not happen. That second property is the entire point: a subject line that only works when it is true is a subject line that cannot be mass-produced, and being unable to mass-produce it is most of why it works.
The Meta ads case has a fuller treatment of its own — how agencies find those stores in the first place, and what the ad-library view does and does not show, is in how Meta ads agencies find stores worth pitching. The full list of events currently detected, including the ones that may not match what you sell, is the buying signal catalogue.
How the sales agent drafts these, and the rails it works under
The sales agent drafts the line rather than filling a template. It takes the signal plus a knowledge base you write once — what you sell, to whom, in what words — and produces per-store copy from both. What stops that becoming volume for its own sake is a set of fixed rails that apply to every message it writes.
- At least 90 percent of each message specific to that store.
- No more than 90 words.
- At most one link.
- No spam trigger words.
- Capacity-bounded sending, and an automatic stop on reply.
The 90-word cap is the one that most shapes the subject line. A short body cannot carry a preamble, so the line and the first sentence have to do the same work, and any subject line that promises more than 90 words can deliver has already broken the message underneath it. The rails are also the honest reason access is capped per market: volume without them is how a sending reputation dies, and it would be our customers' reputation rather than ours.
The pool the examples come from is 4.1 million Shopify and WooCommerce stores across Europe and North America, re-scraped weekly, with 41,200 carrying a fresh signal in the last seven days, as of August 2026. Those figures move, so treat the date as part of the number. What the database holds is described on the ecommerce leads database page, and how the drafting works is on the sales agent page.
Sending itself is not ours. Campaigns are created in the customer's own Instantly workspace, so the domains, the mailboxes and the replies belong to the customer, with status and replies syncing back to us. Where that boundary sits, and why we rent the execution layer rather than build a second one, is in what a sales engagement platform does. The adjacent limit — that a data layer answers who well and when barely at all — is in what a sales intelligence platform knows, and the copy-generation piece under its more common label is in what an AI SDR actually automates.
On data protection the position stays narrow on purpose. We are GDPR-conscious by design, and responsibility for what you send stays with you. We will not claim more than that. A subject line is the most visible part of that responsibility, which is an argument for writing one you would be comfortable having quoted back to you.
Where a generic subject line is the better choice
Often, and in more situations than we would like. A signal-keyed subject line is only available when a signal exists, and there are several common cases where it does not. In those cases the craft advice from earlier is the whole toolkit — and it is a decent toolkit.
- You sell to anyone other than ecommerce stores. Our pool is Shopify and WooCommerce and nothing else. No signal we detect helps you write to a dental practice or a law firm, and no amount of store data changes that.
- Your market is outside Europe and North America. We do not cover it, and we are not going to describe a thin pool as a pool.
- You work LinkedIn. We have no LinkedIn signals, no LinkedIn sending, and no plans to add either. If that is your channel, this is not a close call — and a subject line is not really the relevant object there anyway.
- No signal fires in your segment often enough. This is the one people discover late. If your buyers are a slice of stores where little changes month to month, a signal-led approach produces a trickle, and a trickle does not fill a calendar. Build the segment, look at the live count, and find that out on day one rather than in month three.
- You need the records outside the system. We do not export. Leads move into campaigns and stay there. For a team whose CRM is the centre of the world that is a dealbreaker, and it should be.
- The event you want is one we have not shipped. Registry and firmographic triggers, and hiring signals, are marked planned on our own site — the polite way of saying they do not exist today. If your best opening line is "saw you are hiring a retention lead", we cannot give you that one.
There is also one limit that no subject line touches, ours included. Relevance gets a message read. It does not create the capacity to handle what comes back. The clearest sign this whole approach fits is paid sales capacity that is not fully booked; if your calendar is filled by referrals, better subject lines are not the purchase you need yet.
The open rates and reply rates this post does not contain
A post about subject lines is expected to end in a table of open rates. There is none here. The absence is deliberate, and it belongs in the text rather than in a footnote, because the reasoning is part of the argument.
We did not run a subject-line test. No A/B split across signal types, no measured lift from naming a date, no per-signal open rate. We could have produced a number that looked like one — the genre is full of them and very few carry a method — and it would have been the most persuasive dishonest sentence in the post.
Even a figure we did have would not do the job being asked of it. A rate produced by our copy, sent to our market, from our sending setup, is evidence about those three things. Your offer, your audience and your infrastructure are all different, and a vendor controls at most one of the three. Presenting our number as your forecast would be a category error dressed as data.
There are no comparisons against other products either — no claim that anyone else's subject lines perform worse, no coverage or freshness percentages about other databases. We have not measured them. A table of those figures either comes from someone who did the work and can show it, or from someone repeating a number they liked the look of, and ours would be the second kind.
What survives the subtraction is a structural claim: a line the reader can verify outperforms a line they cannot, because verification is the thing being borrowed when a stranger opens an email. The useful property of a structural claim is that you can test it yourself in a fortnight without trusting anyone's published figure. Signing up gives you 1,000 leads free, as of August 2026 — enough to build your segment, see whether a signal fires in it at a rate that matters, and read the lines the agent drafts before any of them go anywhere. What each tier includes is on the pricing page.
Sources
- Keaz Signals product pages, retrieved 2 September 2026: /ecommerce-leads-database, /signals, /sales-agent and /pricing. Source for the seven detected signal types, the sales-agent rails quoted in this article, the per-market access cap, the export limitation and the planned-but-unshipped triggers.
- Own pool figures, as of August 2026: 4.1 million Shopify and WooCommerce stores under watch across Europe and North America, re-scraped weekly, with 41,200 carrying a fresh buying signal in the last seven days. These numbers move; the date is part of the number.
- 1,000 free leads on signup, as of August 2026.
- Instantly, the platform our sending runs through: instantly.ai, retrieved 2 September 2026. Named here only as our own sending path; no measurement of their product is reported.
- Related reading on this blog: what a sales engagement platform does, what a sales intelligence platform knows, what an AI SDR actually automates and how Meta ads agencies find stores worth pitching.
- Measurement disclosure: no subject-line test, no A/B results, no open rates, no reply rates and no competitor performance figures are cited anywhere in this article. We did not run those measurements, so we do not report them. The reasons are in the section on the numbers this post does not contain.
Questions we get
How long should a cold email subject line be?
Short enough to survive a truncated mobile preview pane. That is a constraint of the medium rather than a style rule, and it applies whether or not the line is keyed to a signal. A signal does not buy you extra room — if anything it needs less, because a verifiable fact is shorter than a pitch.
Should I use the recipient's first name or company name in the subject line?
A name proves you have a database, not that you looked. An event proves you looked. If you have both, the event is the stronger thing to spend the line on, and merge-field personalisation is the pattern most recipients have already learned to discount.
Do you have open rates for these subject lines?
No, and we are not going to publish one. We did not run a subject-line test, so any figure would be invented. Beyond that, a rate from our copy sent to our market from our sending setup would be evidence about us rather than a forecast for you.
Which buying signals can I actually write a subject line from?
Seven, as of August 2026: new Meta ads running, active ad count rising, product launch, email marketing tool installed, social growth on Instagram or TikTok, newsletter activity, and store or site changes. Registry and firmographic triggers and hiring signals are marked planned on our site and do not exist today.
Does this work if I sell to businesses that are not ecommerce stores?
Not with our data. The pool is Shopify and WooCommerce stores in Europe and North America, so nothing we detect helps you write to a different kind of company. The four properties in this post still hold as craft advice, but you would need your own source of dated events.
Builds the signal pipeline behind Keaz Signals. Writes about what the store data actually supports, and what it does not.
Keep reading
Reading about signals is fine. Seeing yours is better.
Access opens per market, in order of signup. When your seat is ready you see which stores in your niche are moving and what we would send them.
Launch my agent