Glossary

    Click-Through Rate: What It Measures and Where It Breaks in Cold Email

    The short answer

    Click-through rate divides clicks by a denominator that changes with the channel. Google defines the advertising form as clicks divided by impressions; email CTR uses messages delivered. In cold outbound the metric is weakened further, because scanners click too and the message was asking for a reply.

    Key takeaways

    • A CTR without a stated denominator is a claim rather than a number.
    • Security scanners and link checkers generate clicks indistinguishable from human ones.
    • Delivered includes junk-folder placement, so a low CTR often means unseen rather than unwanted.
    • Unique clicks and total clicks produce materially different rates from the same data.

    Click-through rate is the proportion of people shown something who then click it. Google's advertising documentation states the arithmetic plainly for the paid-media case: clickthrough rate is "the number of clicks that your ad receives divided by the number of times your ad is shown: clicks ÷ impressions = CTR". In email the denominator changes, because there are no impressions: CTR is normally clicks divided by messages delivered.

    That difference in denominator is the first thing to establish whenever the number appears, because "CTR" from an advertising platform, an email platform and a search console are three different measurements sharing an abbreviation. None of them is wrong, and comparing them is.

    The variants worth telling apart

    Advertising CTR is clicks over impressions, as above. It measures whether a creative earns attention in a feed or a results page, in a context where the audience was shown the thing whether they wanted it or not.

    Email CTR is unique clicks over messages delivered. It answers what proportion of people who received something clicked a link in it, on the assumption that everything delivered was also seen, which is the assumption most of the trouble comes from.

    Click-to-open rate, often abbreviated to CTOR, is unique clicks over unique opens. It is meant to isolate the message from the subject line, on the theory that only people who opened had a chance to click. It inherits every problem the open metric has, which since mail clients began prefetching images on recipients' behalf is a substantial inheritance.

    Search CTR is clicks over impressions in a results page, and it belongs to a different discipline entirely, with its own benchmarks that mean nothing here.

    The practical rule is that a CTR without a stated denominator is not a number, it is a claim, and it should be treated as one until somebody says what it was divided by. Any comparison across teams, tools or benchmarks needs the denominator named first, and a surprising share of disagreements about performance dissolve the moment somebody does that.

    1. Step 1Delivered

      The message was accepted. This says nothing about which folder it landed in.

    2. Step 2Seen

      A person opened the message. Open tracking measures this badly.

    3. Step 3Clicked

      A link was followed, by a person or by a scanner.

    4. Step 4Acted

      Something happened that matters. This is the only step with commercial meaning.

    The chain a click depends on, and where each step can fail independently.

    Where the metric misleads

    Automated clicks are counted as clicks. Security products, link scanners and mail-client previewers follow links in messages to check them. Those requests are indistinguishable from a person clicking, unless the platform filters known scanner behaviour, and in B2B environments running security gateways they can be a meaningful share of recorded clicks. A CTR that jumps when a campaign happens to hit a heavily gatewayed segment is measuring the gateway.

    Tracked links require rewriting, and rewriting has a cost. Measuring clicks means routing every link through a redirect domain. That changes what the recipient sees, since in a plain text message the redirect URL is displayed literally, and it adds a domain whose reputation now sits inside your messages. Some senders reasonably decide that measuring clicks is not worth carrying a tracking domain, particularly for cold outbound where the message is meant to read as personal.

    In cold outbound, a click is a weak signal and rarely the goal. A first message to a stranger is asking for a reply, not for a click. Recipients who are interested often reply without clicking anything, and CTR is blind to them. Optimising for the metric pushes copy toward link-heavy messages, which increases scanner exposure and generally reduces the thing you actually wanted.

    The rate hides its own denominator. CTR is computed over delivered messages, and delivered includes everything the receiving server accepted, including everything routed to a junk folder. A campaign with poor placement produces a low CTR that reads as a copy problem, and no amount of rewriting will move it, because the messages are not being seen. Any rate computed over a filtered population describes the survivors, and the number you read tells you nothing about how the filtering went.

    Merge fields interact with links in ways the rate cannot show. A message whose link or anchor text is assembled from data fields can render badly for a subset of recipients, and that subset is invisible in an aggregate rate. If a tenth of a list receives a malformed link, CTR moves by an amount indistinguishable from noise while a tenth of the audience sees something broken. The rate is an average and averages are exactly the wrong instrument for finding a defect that affects a minority.

    Benchmarks are only comparable when the definitions are. Published figures differ on unique versus total clicks, on whether scanner traffic is filtered, and on the denominator itself. Comparing your number against a benchmark computed differently produces a confident wrong conclusion, which is worse than having no benchmark.

    Reasonable uses
    • Comparing two link placements in one campaign, same period and list
    • Measuring a landing page's pull where the click is the intended action
    • Watching for a sudden change against your own history
    • Advertising, where impressions are a real denominator
    Unreliable uses
    • Judging cold outbound, where a reply is the intended action
    • Comparing against a benchmark computed with another denominator
    • Inferring interest, when scanners click too
    • Diagnosing copy, when the cause is usually placement
    What CTR is good for, and what it is routinely asked to do instead.

    What this means when you are running outbound

    Decide what the message is asking for, and measure that. A cold email asking for a reply is measured by replies, by the proportion of those that are positive, and by meetings booked. Those are further down the chain, harder to inflate and directly connected to revenue. Clicks are an intermediate signal that happens to be easy to count.

    If a link is genuinely the point, a case study, a page that answers the specific question the message raises, then clicks are the right measure and it is worth carrying a tracking domain to see them. Set that up deliberately: use a dedicated subdomain rather than a shared tracker, so the domain's reputation is yours, and accept that the redirect will be visible in a plain text message. A shared tracking domain is the same inherited-reputation problem as a shared sending pool, arriving through a route nobody thinks to inspect, and a tracking domain that appears on a blocklist puts a listed URL inside every message you send.

    If a reply is the point, consider not tracking clicks at all. It removes the rewriting, removes the tracking domain, and removes the temptation to optimise a proxy. What you lose is a number that was measuring scanners as much as people.

    The unique-versus-total trap

    One implementation detail changes the number enough to be worth its own note. Total clicks counts every click event; unique clicks counts each recipient once. The gap between them is large in exactly the environments B2B outbound sends into, because a security gateway may follow every link in a message and a curious reader may open the same link three times.

    Reporting total clicks over delivered messages can therefore produce a rate above what any sane reading of "proportion of people who clicked" would allow, and it is not a bug in the platform, it is the definition doing what it says. Two teams comparing performance, one on unique and one on total, will disagree indefinitely and both will be right about their own number.

    Pick unique for anything describing people, keep total only for load or link-placement questions, and write down which one your reporting uses. It is a five-minute decision that prevents a recurring argument.

    Reading a bad number correctly

    When CTR falls, the diagnosis is almost never the copy first. Work through the chain in order.

    Check placement before content, because a rate computed over delivered messages cannot distinguish a message nobody wanted from a message nobody saw. Compare the campaign against siblings on the same sending inventory: if they are healthy, the sending side is fine and the difference is in this campaign's list or message. Check whether the segment is unusually gatewayed, which moves the number in both directions by adding scanner clicks and by filtering more heavily. Check whether the denominator changed, because a list with a different composition produces a different rate without anything about the campaign changing.

    Then, and only then, look at the message, and look at it against the right outcome. The click rate benchmarks are useful for that comparison provided you match the definition, and reply-focused measurement is usually the more honest lens for cold outbound.

    Making CTR mean something
    • Yes: The denominator is stated whenever the number is quoted
    • Yes: Unique clicks are distinguished from total clicks
    • Yes: Known scanner traffic is filtered, or the exposure is acknowledged
    • Yes: Placement is checked before the copy is blamed
    • Depends: A tracking domain, if used, is one you control
    • No: Comparing your CTR against a benchmark with a different denominator
    Most disputes about this number are really disputes about its denominator.

    The short version

    Click-through rate is clicks over a denominator, and the denominator is the whole argument. In advertising it is impressions; in email it is messages delivered; in a click-to-open rate it is opens, which are themselves unreliable.

    For cold outbound the deeper problem is that a click is not what you asked for. The message asks for a reply, so replies, positive replies and meetings are the measures that carry meaning, and clicks are an easily-counted proxy that scanners also generate. Measure the outcome you actually want, state your denominators, and check placement before blaming copy. If the underlying issue is that messages are not being seen, that belongs to authentication, list quality and deliverability rather than to the rate.

    RevenueFlow runs cold email and LinkedIn outreach for B2B teams, one message per campaign, measured on replies and meetings. See how the campaigns work.

    Metric definitions verified as of August 2026 against Google's published advertising documentation. Verify current definitions with the source before relying on them.

    Questions

    Frequently asked questions.

    Frequently asked questions
    How is click-through rate calculated?
    In advertising, Google documents it as clicks divided by impressions. In email there are no impressions, so CTR is normally unique clicks divided by messages delivered. Click-to-open rate uses opens as the denominator instead. All three share an abbreviation and measure different things, so the denominator has to be stated.
    What is a good click-through rate for cold email?
    The question is less useful than it looks, because published benchmarks differ on unique versus total clicks, on whether scanner traffic is filtered, and on the denominator itself. Comparing your figure against one computed differently produces a confident wrong conclusion. Compare against your own history, on a consistent definition.
    Why should cold outbound not optimise for clicks?
    Because a first message to a stranger is asking for a reply, not a click. Interested recipients often reply without clicking anything, so the metric is blind to them. Optimising for it pushes copy toward link-heavy messages, which increases scanner exposure and generally reduces the outcome you actually wanted.
    My CTR dropped. Where should I look first?
    Placement, not copy. The rate is computed over delivered messages, which includes everything routed to a junk folder, so poor placement produces a low CTR that reads as a copy problem. Compare the campaign against siblings on the same sending inventory: if they are healthy, the difference is in this campaign list or message.