Required Datapoints
- New Users by Source
- Total New Users
- UTM / Channel Attribution
Organic Acquisition Rate measures the percentage of new users or customers acquired through unpaid channels, such as SEO, content, social shares, or direct traffic. It helps quantify inbound performance and CAC efficiency.
Organic Acquisition Rate is a key indicator of growth efficiency and brand pull, reflecting how well non-paid channels like SEO, referrals, or word-of-mouth drive sign-ups or user acquisition.
The relevance and interpretation of this metric shift depending on the model or product:
A rising organic acquisition rate shows your brand and content strategy are working in tandem. A declining trend may suggest dependency on paid channels or discoverability gaps.
By segmenting by cohort — such as channel source, keyword cluster, device, or geography — you reveal patterns for optimizing SEO, improving UX, or investing in organic loops.
Organic Acquisition 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 |
|---|---|
| SEO Strategy | SEO Strategy requires thorough research, strategic prioritization, and continuous optimization of website and content initiatives. It gives teams a clear plan for where to focus, how to sequence work, and what to measure. Relevant KPIs include Branded Search Volume and New Visitors. |
| Content Planning | Content Planning focuses on systematically defining, organizing, and sequencing content assets to align with the buyer journey and overall go-to-market strategy. It gives teams a clear plan for where to focus, how to sequence work, and what to measure. Relevant KPIs include Organic Acquisition Rate. |
| Website Optimization | Website Optimization is a continuous process focused on improving a company’s website to maximize its effectiveness within the go-to-market strategy. It improves performance by removing friction, testing changes, and scaling what works. Relevant KPIs include Organic Acquisition Rate and Visitor-to-Sign-Up Conversion Rate. |
| Keyword Targeting | Keyword Targeting is the strategic process of identifying, analyzing, and refining the keywords and search terms most relevant to target buyers and user personas. It gives teams a clear plan for where to focus, how to sequence work, and what to measure. Relevant KPIs include Organic Acquisition Rate. |
5,600 new users
2,240 from organic channels
Formula: 2,240 ÷ 5,600 = 40% Organic Acquisition 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('UserAcquisition', { sql: `SELECT * FROM user_acquisition`,
measures: { totalNewUsers: { sql: `total_new_users`, type: 'sum', title: 'Total New Users', description: 'Total number of new users acquired through all channels.' }, organicNewUsers: { sql: `CASE WHEN utm_channel = 'organic' THEN new_users ELSE 0 END`, type: 'sum', title: 'Organic New Users', description: 'Number of new users acquired through organic channels.' }, organicAcquisitionRate: { sql: `100.0 * ${organicNewUsers} / NULLIF(${totalNewUsers}, 0)` , type: 'number', title: 'Organic Acquisition Rate', description: 'Percentage of new users acquired through unpaid channels.' } },
dimensions: { id: { sql: `id`, type: 'string', primaryKey: true, title: 'ID', description: 'Unique identifier for each acquisition record.' }, utmChannel: { sql: `utm_channel`, type: 'string', title: 'UTM Channel', description: 'Channel through which the user was acquired.' }, acquisitionDate: { sql: `acquisition_date`, type: 'time', title: 'Acquisition Date', description: 'Date when the user was acquired.' } }});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