Required Datapoints
- Total Active Users (or Sessions)
- Users Who Shared a Product Element
- Tracking of Share Actions (invites, exports, embeds, etc.)
Product Sharing Rate measures the percentage of users who share a part of the product experience with others—such as inviting teammates, generating shareable links, or embedding product outputs. It helps quantify virality and product-led acquisition.
Product Sharing Rate is a key indicator of viral growth potential and user-driven expansion, reflecting how often users share outputs, content, or access from your product to others.
The relevance and interpretation of this metric shift depending on the model or product:
A rising sharing rate signals strong network effects, utility, and trust. A stagnant rate may reflect underutilized collaboration features or unclear sharing value.
By segmenting by cohort — such as use case, feature touched, plan type, or industry — you unlock insights to enhance sharing UX, drive product-led invites, and fuel organic growth loops.
Product Sharing 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 |
|---|---|
| PLG Strategy | PLG Strategy focuses on Developing and executing a unified go-to-market strategy that combines product-driven growth tactics—such as frictionless onboarding, in-app guidance, and freemium models—with traditional sales approaches like outbound prospecting, account-based selling, and relationship management. It gives teams a clear plan for where to focus, how to sequence work, and what to measure. Relevant KPIs include Activation Conversion Rate and Activation-to-Expansion Rate. |
| Sharing UX Design | Sharing UX Design involves systematically sharing essential user experience (UX) design insights, principles, and best practices with cross-functional teams. It gives teams a clear plan for where to focus, how to sequence work, and what to measure. Relevant KPIs include Product Sharing Rate. |
| Freemium-to-Paid Expansion | Freemium-to-Paid Expansion is the strategic process of converting users from a free product tier to a paid subscription or plan. It helps teams translate strategy into repeatable execution. Relevant KPIs include Product Sharing Rate. |
| Social Integration | Social Integration involves the strategic use of social media platforms and online communities by sales, marketing, and product teams to interact with prospects, customers, and industry influencers. It helps teams translate strategy into repeatable execution. Relevant KPIs include Product Sharing Rate. |
6,000 monthly active users
1,620 shared a doc, report, or invite
Formula: 1,620 ÷ 6,000 = 27% Product Sharing 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('UserActivity', { sql: `SELECT * FROM user_activity`, measures: { totalActiveUsers: { sql: `user_id`, type: 'countDistinct', title: 'Total Active Users', description: 'The total number of unique active users.' }, usersWhoShared: { sql: `user_id`, type: 'countDistinct', title: 'Users Who Shared', description: 'The number of unique users who shared a product element.' } }, dimensions: { id: { sql: `id`, type: 'number', primaryKey: true }, userId: { sql: `user_id`, type: 'number', title: 'User ID', description: 'Unique identifier for each user.' }, actionType: { sql: `action_type`, type: 'string', title: 'Action Type', description: 'Type of action performed by the user.' }, createdAt: { sql: `created_at`, type: 'time', title: 'Created At', description: 'The time when the action was performed.' } }})cube('ProductSharing', { sql: `SELECT * FROM product_sharing`, measures: { shareActions: { sql: `action_id`, type: 'count', title: 'Share Actions', description: 'The total number of share actions performed.' } }, dimensions: { id: { sql: `id`, type: 'number', primaryKey: true }, actionId: { sql: `action_id`, type: 'number', title: 'Action ID', description: 'Unique identifier for each share action.' }, shareType: { sql: `share_type`, type: 'string', title: 'Share Type', description: 'Type of share action (invite, export, embed, etc.).' }, sharedAt: { sql: `shared_at`, type: 'time', title: 'Shared At', description: 'The time when the share action was performed.' } }})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