Start with three to five email marketing metrics tied to one campaign decision: a primary outcome, a diagnostic metric, and a guardrail. For a product announcement, you might measure unique click rate as the primary outcome, click-to-open rate as a content diagnostic, and unsubscribe rate as a guardrail. Set the definitions, reporting window, and owner before the send, not after the dashboard is built.
The right measures depend on the business question. A growing list, a qualified lead, a purchase, and a message accepted by a mail server are different outcomes. Treating them as interchangeable creates reports that look precise but cannot guide a decision.
This guide turns those decisions into a practical measurement contract, with explicit denominators, attribution rules, validation gates, and a proposed reporting workflow. The implementation examples are illustrative designs, not claims about a native HubSpot schema or real-time integration.
Choose a small set of metrics that answers a business question
Choose the outcome first, then select measures that explain it without overwhelming the report. A practical campaign brief records the question, primary metric, diagnostic metric, guardrail, reporting window, and accountable owner.
| Campaign objective | Primary measure | Diagnostic or guardrail |
|---|---|---|
| List growth | Net list growth rate | New-subscriber source quality; hard-bounce and complaint rates |
| Lead generation | Qualified converters per delivered recipient | Unique click rate; lead quality or later sales progression |
| Engagement | Unique click rate or replies | Click-to-open rate; unsubscribes |
| Revenue | Attributed or incremental contribution | Revenue per delivered email; complaints and unsubscribes |
| Deliverability | Provider-specific inbox placement, where measurable | Hard bounces, spam rate, authentication, and delivery errors |
Use an outcome that matches the actual objective. A click is not a qualified lead, and attributed revenue is not proof that the email caused an incremental sale. HubSpot’s campaign performance documentation describes its own post-send measures and reporting conditions. Use the platform’s metric definitions rather than assuming a label means the same thing everywhere.
A metric is useful only when its decision, denominator, and owner are known.
Define the denominator before calculating a rate
Use one measurement contract for every report: record the numerator, denominator, unique-recipient or total-event rule, reporting period, attribution window where relevant, and metric-definition version. The formulas below use unique recipients unless they explicitly count events. “Delivered” means the ESP reports the message as accepted by the receiving server; it does not mean the message reached the inbox.
| Metric | Calculation | What it answers |
|---|---|---|
| Unique open rate | Unique opened recipients / delivered recipients | What share registered an open event? |
| Unique click rate | Unique clicked recipients / delivered recipients | What share of delivered recipients clicked? |
| Click-to-open rate | Unique clicked recipients / unique opened recipients | Among recorded openers, what share clicked? |
| Delivery-to-conversion rate | Unique converters / delivered recipients | What share of delivered recipients converted? |
| Click-to-conversion rate | Unique converters after a click / unique clicked recipients | What share of clickers converted? |
| Bounce rate | Bounced messages / sent messages | What share of attempted sends bounced? |
| Revenue per delivered email | Attributed revenue / delivered recipients | How much revenue was attributed per delivered recipient? |
Do not publish “CTR” without its denominator. HubSpot distinguishes click rate, based on recipients who clicked relative to recipients who received the message, from click-through rate, based on recipients who clicked relative to recipients who opened it. Other providers and benchmark reports may use CTR to mean clicks divided by delivered messages. Name the formula in the report, not just the acronym.
For unique-recipient measures, repeated opens or clicks from one recipient count once per send and event type. For conversions, decide whether the numerator is unique people or total conversion events. A person placing two orders is one unique converter but two orders; deduplicate on the conversion or order ID when reporting people or orders, respectively.
Measure action and engagement without overvaluing opens
Unique clicks, replies, landing-page activity, and completed actions are stronger evidence of response when they match the campaign goal. Click-to-open rate can help diagnose content among recorded openers, but it inherits the limitations of open measurement.
Apple Mail Privacy Protection can download remote email content in the background before a person engages with a message. As a result, an open event does not establish that someone read or acted on the email. Use opens for cautious trend comparisons within a consistent audience and platform; do not use open rate alone to judge success or define an inactive subscriber. Apple explains this behavior in its Mail Privacy Protection overview.
Use the term engagement rate only after defining the events included. For example, a team could define it as unique recipients who clicked or replied divided by delivered recipients. Keep the component events visible rather than presenting an unexplained blended score. Opens, clicks, replies, forwards, and page visits are not equivalent actions.
Use opens to identify directional change, not to prove attention. Let clicks, replies, conversions, and guardrail changes determine whether the campaign needs a content, audience, or deliverability intervention.
Connect conversions and revenue to a declared attribution rule
For a conversion rate, state whether the denominator is delivered recipients or unique clickers. Also define the conversion event, attribution model, and window. A seven-day delivery-to-conversion rate and a seven-day click-to-conversion rate answer different questions.
For revenue per delivered email, divide revenue attributed under the stated rule by delivered recipients. Record whether revenue is gross or net, which currency is used, and whether the value represents orders or unique purchasers. A tracked link or UTM value can help connect an email to a website visit, but redirects, consent choices, cross-domain checkout, and missing identifiers can interrupt the connection. HubSpot documents campaign UTM management; that capability alone does not provide a complete cross-system attribution pipeline.
Deduplicate orders using a stable conversion ID, preserve the original campaign values, and report the model and window alongside the result. Call a result attributed revenue, not incremental revenue, unless a lift test or other causal design supports the claim. HubSpot documents certain conversion and revenue reporting configurations, but availability depends on subscription and connected commerce data.
Keep list health and deliverability measures distinct
Calculate bounce rate as bounced messages divided by sent messages. Where the ESP provides the detail, split hard bounces, which commonly signal an invalid or unavailable address, from soft bounces, which are often temporary. Investigate rising hard bounces and review acquisition sources rather than relying on a universal bounce-rate target.
Complaint rate depends on the source of the complaint and its denominator. An ESP’s spam-report events and Gmail’s user-reported spam rate do not necessarily represent the same population. Google advises senders to keep user-reported spam below 0.1% and avoid reaching 0.3% or higher for applicable bulk-sender traffic. That 0.3% figure is Gmail-specific guidance with consequences, not an industry average or target. Consult Google’s sender guidelines and use Google Postmaster Tools for available provider-specific reputation and spam-rate information.
Track unsubscribes separately from list growth. A useful period-based calculation is (new valid opt-ins minus unsubscribes, complaint suppressions, and other removals) divided by the opening eligible list. Count each removed contact once, even if more than one suppression reason applies. A larger list is not necessarily healthier if it brings poor-quality acquisition or rising complaints.
Keep server acceptance separate from inbox placement. ESP delivery reporting describes whether a receiving server accepted a message; it does not prove inbox arrival. Inbox placement requires provider-specific or deliverability evidence where available. Validity reported 83.5% global inbox placement in its 2025 dataset, but results varied by provider and region. HubSpot also documents mailbox-provider delivery analysis, subject to plan requirements, in its email delivery analysis guidance.
Use benchmarks as context, not universal targets
A benchmark is useful only when its period, dataset, campaign type, geography, denominator, and unique-versus-total convention are sufficiently clear. Compare your own historical results first, using stable definitions and comparable audiences. Treat an external figure with missing methodology as directional context, not a target.
MailerLite reports 2025 medians of 43.46% open rate, 2.09% click rate, 6.81% click-to-open rate, and 0.22% unsubscribe rate. Its dataset covers more than 3.6 million campaigns from approximately 181,000 approved accounts, for December 2024 through November 2025. The same publisher identifies 42.35% as its 2024 open-rate figure, not its 2025 figure. These are results from MailerLite’s dataset, not a universal industry census. See its benchmark methodology and results.
For deliverability context, Validity’s 2025 report measured global inbox placement at 83.5%; provider and regional results differed. Do not compare that placement figure with ESP delivery rate or treat it as a universal target. Store the publisher, dataset dates, sample, metric definition, denominator, campaign types, geography, and retrieval date with any benchmark you use.
Build a reliable campaign reporting workflow
A practical workflow begins with documented ESP reporting or recipient-level events, then normalizes and deduplicates them before calculating metrics. HubSpot documents campaign reporting, recipient-level outcomes, and performance exports. Its exports are not a promise of real-time streaming or a universal warehouse feed. The following data design is an illustrative implementation recommendation, not a HubSpot schema.
| Trigger or source | Output and control | Destination and owner |
|---|---|---|
| ESP campaign events after a send | Unique clicks / delivered recipients; deduplicate by send, recipient, and event type | Campaign report; email operations investigates missing or repeated events |
| Tracked email visit followed by a declared conversion | Unique converters or orders, with attribution model and window | Analytics store; marketing analytics resolves missing IDs or duplicate orders |
| ESP delivery outcomes and available provider data | Separate hard and soft bounces; keep provider spam data distinct from ESP complaints | Deliverability dashboard and suppression process; deliverability owner investigates changes |
One row in the event store should represent one source event occurrence. A unique-recipient aggregate is a different grain: it represents a defined campaign, send, variant, audience, provider, reporting period, and metric definition. Do not mix raw events and campaign totals in the same row. For unique event counts, deduplicate by send ID, recipient key, and event type while retaining the source event ID for replay control.
Here is a hypothetical aggregate record. The values are illustrative, and the denominator is delivered recipients. Its scope includes the campaign, send, variant, audience segment, mailbox provider, reporting period, and metric definition, so it does not silently combine separate runs.
{
"campaign_id": "fall_product_update",
"send_id": "send_20261013_042",
"message_variant_id": "variant_b",
"audience_segment": " opted_in_us_prospects",
"mailbox_provider": "gmail",
"metric_name": "unique_click_rate",
"numerator_unique": 812,
"denominator_delivered": 10240,
"rate": 0.0793,
"reporting_period_start": "2026-10-13T00:00:00Z",
"reporting_period_end": "2026-10-14T00:00:00Z",
"metric_definition_version": "1"
}
For concurrent aggregation jobs, use a database-enforced unique key that includes campaign, send, variant, relevant audience and provider dimensions, reporting period, and metric-definition version. Write with a transactional upsert so a replay updates the same aggregate instead of creating a duplicate. A lookup-then-create sequence can race when workers run at the same time.
Use deterministic rules for event classification, deduplication, formulas, and threshold checks. AI is not needed for measurement. If a team uses AI to draft a narrative summary, feed it validated aggregates, keep it away from source-of-truth calculations, and require a person to review consequential recommendations. Teams reviewing their setup can explore HubSpot systems support; only defined, useful measures should be written to CRM systems.
Check data quality before publishing a result
Give the report a named reporting owner and assign a separate decision owner for changes to audience, content, or sending volume. If a source is incomplete or incompatible with the chosen definition, mark the result partial or quarantine it with a reason. Do not silently replace an accepted value.
- Campaign, send, message variant, source, metric definition, and reporting period are present.
- Event timestamps fall within the declared reporting window and use the expected timezone.
- Repeated source events are handled according to the unique-recipient or total-event rule.
- Numerators and denominators are non-negative, and bounded rates pass the intended deduplication checks.
- Conversion IDs are deduplicated; attribution model, window, revenue basis, and currency are recorded.
- Source completeness is confirmed, or the report is marked partial with a recorded reason.
- A named owner is responsible for unresolved exceptions and a separate owner approves consequential campaign decisions.
Consistent definitions make a small report more useful than a crowded dashboard. Review results against your own comparable history, investigate changes in the diagnostic and guardrail measures, and change the campaign only when the evidence supports a clear next step.
