Required Datapoints
- Total Emails Delivered: The number of emails successfully sent to recipients.
- Spam Complaints: The count of emails marked as spam or junk by recipients.
**Spam Complaints **measure the number of recipients who mark your email as spam or junk after receiving it. This metric reflects how well your emails align with recipient expectations and can significantly impact your sender reputation.
Spam Complaints is a critical indicator of email list quality and message relevance, reflecting how often recipients mark your emails as spam — which directly impacts deliverability and sender reputation.
The relevance and interpretation of this metric shift depending on the model or product:
A high complaint rate puts your domain at risk and suggests you’re sending irrelevant or intrusive content. A low rate reflects good list hygiene and audience trust.
By segmenting by campaign, user segment, or engagement history, you can suppress risky cohorts and adjust frequency, tone, or opt-in clarity.
Spam Complaints informs:
These are the main factors that directly impact the metric. Understanding these lets you know what levers you can pull to improve the outcome
Actionable ideas to optimize this KPI, from fast, low-effort wins to strategic initiatives that drive measurable impact.
Activities commonly tied to improving or operationalizing this KPI.
| Activity | Description |
|---|---|
| Content Marketing | Content Marketing focuses on creating, distributing, and optimizing valuable content designed to attract, engage, and convert target audiences at every stage of the buyer journey. It helps teams translate strategy into repeatable execution. Relevant KPIs include Content Engagement and Engagement Metrics. |
| Email Frequency Review | Email Frequency Review focuses on Systematically analyze the timing, frequency, and sequence of sales and marketing emails sent to prospects and customers. It helps teams translate strategy into repeatable execution. Relevant KPIs include Spam Complaints. |
| List Hygiene | List Hygiene is the systematic process of reviewing, cleansing, updating, and validating contact and account information within sales and marketing databases. It helps teams translate strategy into repeatable execution. Relevant KPIs include Spam Complaints. |
An e-commerce brand sends a promotional email campaign:
This KPI is associated with the following stages in the AAARRR (Pirate Metrics) funnel:
This KPI is classified as a leading Indicator. It signals likely future performance and is used to predict outcomes before they fully materialize.
This role is directly accountable for the KPI and is expected to drive progress and decisions around it.
These roles contribute directly to performance and typically partner on execution, reporting, or optimization.
These leading indicators influence or contextualize this KPI and help create a multi-signal early warning system, improving confidence and enabling better root-cause analysis.
These lagging indicators support the recalibration of this KPI, helping to inform strategy and improve future forecasting.
How this KPI is structured in Cube.js, including its key measures, dimensions, and calculation logic for consistent reporting.
cube('EmailMetrics', { sql: `SELECT * FROM email_metrics`,
measures: { totalEmailsDelivered: { sql: 'total_emails_delivered', type: 'sum', title: 'Total Emails Delivered', description: 'The number of emails successfully sent to recipients.' }, spamComplaints: { sql: 'spam_complaints', type: 'sum', title: 'Spam Complaints', description: 'The count of emails marked as spam or junk by recipients.' } },
dimensions: { id: { sql: 'id', type: 'string', primaryKey: true, title: 'ID', description: 'Unique identifier for each email record.' }, recipientEmail: { sql: 'recipient_email', type: 'string', title: 'Recipient Email', description: 'Email address of the recipient.' }, deliveryDate: { sql: 'delivery_date', type: 'time', title: 'Delivery Date', description: 'The date and time when the email was delivered.' } }});Note: This is a reference implementation and should be used as a starting point. You’ll need to adapt it to match your own data model and schema