Required Datapoints
- Users Who Had First Contact (e.g., ad click, event attendee)
- Users Who Took Meaningful Action Afterward
- Action Definition (e.g., signup, session, conversion)
First Contact Engagement Rate measures the percentage of new users who engage meaningfully after their very first interaction with your brand or product. It helps assess how well your initial touchpoints drive further action.
First Contact Engagement Rate is a key indicator of top-of-funnel strength and early user journey performance, reflecting how initial interactions (ads, demos, content) spark meaningful user action like sign-ups, product exploration, or onboarding.
The relevance and interpretation of this metric shift depending on the model or product:
A rising First Contact Engagement Rate indicates strong messaging and user fit, while a decline may reflect misaligned CTAs, poor targeting, or early friction.
By segmenting by campaign, persona, or channel, you unlock insights to improve early conversion paths and traffic quality.
First Contact Engagement Rate 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 |
|---|---|
| Top-of-Funnel Strategy | Top-of-Funnel Strategy consists of coordinated marketing and sales activities aimed at generating awareness, attracting potential customers, and driving qualified leads into the early stages of the customer acquisition process. It gives teams a clear plan for where to focus, how to sequence work, and what to measure. Relevant KPIs include First Contact Engagement Rate. |
| Onboarding | Onboarding is the process of guiding new users or customers through the initial stages of adopting a product or service, ensuring they experience value as quickly as possible. It helps teams translate strategy into repeatable execution. Relevant KPIs include Active Feature Usage Rate and Breadth of Use. |
| Lead Follow-Up | Lead Follow-Up is the strategic process of proactively connecting with prospective customers after they express initial interest, such as by completing a form, signing up for a trial, or interacting with marketing content. It helps teams translate strategy into repeatable execution. Relevant KPIs include First Contact Engagement Rate. |
| Email Sequences | Email Sequences focuses on the strategic planning, creation, and scheduling of personalized email communications designed to engage prospects, nurture leads, and drive conversions. It helps teams translate strategy into repeatable execution. Relevant KPIs include First Contact Engagement Rate. |
This KPI is associated with the following stages in the AAARRR (Pirate Metrics) funnel:
This KPI is classified as a lagging Indicator. It reflects the results of past actions or behaviors and is used to validate performance or assess the impact of previous strategies.
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 this KPI and act as early signals that forecast future changes in this KPI.
These lagging indicators confirm, quantify, or amplify this KPI and help explain the broader business impact on this KPI after the fact.
How this KPI is structured in Cube.js, including its key measures, dimensions, and calculation logic for consistent reporting.
cube('UserEngagement', { sql: `SELECT * FROM user_engagements`,
joins: { Users: { relationship: 'belongsTo', sql: `${CUBE}.user_id = ${Users}.id` } },
measures: { usersWhoHadFirstContact: { sql: `user_id`, type: 'countDistinct', title: 'Users Who Had First Contact', description: 'Count of unique users who had their first contact with the brand.' }, usersWhoTookMeaningfulAction: { sql: `user_id`, type: 'countDistinct', filters: [{ sql: `${CUBE}.action_type = 'meaningful'` }], title: 'Users Who Took Meaningful Action', description: 'Count of unique users who took a meaningful action after first contact.' }, firstContactEngagementRate: { sql: `100.0 * ${usersWhoTookMeaningfulAction} / NULLIF(${usersWhoHadFirstContact}, 0)` , type: 'number', title: 'First Contact Engagement Rate', description: 'Percentage of users who engaged meaningfully after their first contact.' } },
dimensions: { id: { sql: `id`, type: 'number', primaryKey: true }, userId: { sql: `user_id`, type: 'number', title: 'User ID', description: 'Unique identifier for the user.' }, actionType: { sql: `action_type`, type: 'string', title: 'Action Type', description: 'Type of action taken by the user.' }, eventTime: { sql: `event_time`, type: 'time', title: 'Event Time', description: 'Timestamp of the user event.' } }});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