Skip to content
KPI Library

Demo Request Rate

Demo Request Rate measures the percentage of site or landing page visitors who submit a request for a product demo. It helps gauge the effectiveness of messaging, targeting, and CTA clarity in generating sales interest.

Demo Request Rate is a key indicator of message-market fit and lead intent, reflecting how effectively your site and marketing convert interest into hand-raising behavior — typically a request to speak with sales or see the product.

The relevance and interpretation of this metric shift depending on the model or product:

  • In B2B SaaS, it highlights demand generation effectiveness and sales-readiness of inbound traffic
  • In PLG or freemium products, it reflects additional interest from users with advanced or enterprise needs
  • In complex enterprise solutions, it surfaces interest spikes tied to campaigns, analyst mentions, or press

A falling trend typically signals value proposition misalignment, CTA friction, or poor targeting, which helps teams optimize conversion paths, messaging clarity, and buyer experience.

By segmenting by cohort — such as traffic source, campaign, industry, or page variant — you unlock insights for improving ad targeting, revising landing pages, or reworking CTA placement.

Demo Request Rate informs:

  • Strategic decisions, like ICP refinement, funnel stage definitions, or brand messaging updates
  • Tactical actions, such as UX changes to high-traffic pages, A/B testing CTA copy, or content strategy pivots
  • Operational improvements, including routing automation, SDR workflows, or chatbot qualification
  • Cross-functional alignment, by connecting signals across marketing, sales, and growth teams, keeping everyone focused on pipeline quality and conversion-readiness

These are the main factors that directly impact the metric. Understanding these lets you know what levers you can pull to improve the outcome

  • Message–Intent Alignment on Site and Ads: If your content doesn’t speak to buyer pain, they won’t click “Book a demo.”
  • CTA Visibility and Placement: Bury the demo button, lose the conversion. Prominent CTAs = higher rates.
  • Form Friction and Perceived Time Commitment: Visitors hesitate to request demos if the form looks too long or the call feels too heavy.

Actionable ideas to optimize this KPI, from fast, low-effort wins to strategic initiatives that drive measurable impact.

  • If demo requests are low, A/B test headline variations above the fold focused on outcomes, not features.
  • Add one-click demo CTAs in high-scroll blog posts and product pages.
  • Run a test with calendar embed + live rep availability, reducing lag between interest and booking.
  • Refine form fields to auto-fill known data and reduce friction.
  • Partner with RevOps to create fast paths for ICP leads, skipping qualification delays.

Activities commonly tied to improving or operationalizing this KPI.

Required Datapoints

  • Total Number of Visitors to demo-eligible pages
  • Total Number of Demo Requests
  • Source Channel (optional)
  • CTA Variant or Test Version (optional)

Example

  • Monthly traffic to demo page: 8,000
  • Demo requests: 360
  • Formula: 360 ÷ 8,000 = 4.5% Demo Request Rate
Demo Request Rate=(Demo RequestsVisitors)×100\mathrm{Demo\ Request\ Rate} = \left( \frac{\mathrm{Demo\ Requests}}{\mathrm{Visitors}} \right) \times 100

Negative Influences

  • Form Friction and Perceived Time Commitment: Complex or lengthy forms deter visitors from completing demo requests due to perceived effort and time commitment.
  • Irrelevant Traffic: Attracting visitors who are not the target audience decreases the demo request rate as they are less likely to be interested in the product.
  • Poor Mobile Optimization: A site that is not optimized for mobile devices can frustrate users, leading to lower demo request rates.
  • Inconsistent Messaging: Discrepancies between ad messaging and landing page content can confuse visitors, reducing the likelihood of demo requests.
  • Lack of Trust Signals: Absence of trust signals such as security badges or privacy assurances can make visitors hesitant to submit demo requests.

Positive Influences

  • Message–Intent Alignment on Site and Ads: When the content on the site and ads aligns well with the visitor’s intent and addresses their pain points, it increases the likelihood of visitors requesting a demo.
  • CTA Visibility and Placement: Prominent and strategically placed call-to-action buttons significantly enhance the demo request rate by making it easier for visitors to take action.
  • Targeted Traffic Quality: Higher quality and more targeted traffic leads to a higher demo request rate as these visitors are more likely to be interested in the product.
  • Page Load Speed: Faster loading pages improve user experience, reducing bounce rates and increasing the likelihood of demo requests.
  • Social Proof and Testimonials: Displaying testimonials and social proof can increase trust and encourage more visitors to request a demo.

AAARRR Funnel Stage

This KPI is associated with the following stages in the AAARRR (Pirate Metrics) funnel:

Type

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.

Primary Owner

This role is directly accountable for the KPI and is expected to drive progress and decisions around it.

Leading

These leading indicators influence this KPI and act as early signals that forecast future changes in this KPI.

  • Unique Visitors: Unique Visitors quantifies the top-of-funnel audience size and directly influences the pool of users who could potentially request a demo. Growth or decline in unique visitors acts as an early signal for changes in Demo Request Rate.
  • Page Views on High-Intent Pages: The number of visits to high-intent pages (like pricing or demo pages) is a strong early indicator of sales-ready interest and directly drives the likelihood of demo requests.
  • Activation Rate: A higher Activation Rate signals more users reaching meaningful engagement, which typically results in increased demo requests as these users explore deeper value or become more sales-ready.
  • Marketing Qualified Leads (MQLs): The volume and quality of MQLs reflect upstream marketing effectiveness and are a precursor to demo requests, as MQLs are often nurtured toward requesting demos.
  • Trial-to-Paid Conversion Rate: While this is further down the funnel, a rising trial-to-paid rate usually follows increased demo requests, as more qualified and interested users are entering and converting through the funnel.

Lagging

These lagging indicators confirm, quantify, or amplify this KPI and help explain the broader business impact on this KPI after the fact.

  • Conversion Rate: Conversion Rate measures the overall effectiveness of turning interested prospects (including demo requesters) into customers, helping to contextualize whether increased demo requests translate into actual sales.
  • Branded Search Volume: Higher Branded Search Volume indicates increased brand awareness and demand, which often results from and contributes to higher demo request rates, confirming successful awareness and demand generation.
  • Trial Sign-Up Rate: Trial Sign-Up Rate tracks how many users are moving from demo requests or site visits to self-serve trials, helping to quantify how demo interest translates into actionable engagement.
  • Customer Acquisition Cost: Customer Acquisition Cost (CAC) can be analyzed in relation to Demo Request Rate to determine if more demo requests are leading to more cost-effective acquisition, or if quality is being sacrificed for volume.
  • Bounce Rate: Bounce Rate reveals friction or disconnect in messaging or UX; high bounce rates can explain poor Demo Request Rates, while improvements here often confirm the impact of funnel optimizations.

How this KPI is structured in Cube.js, including its key measures, dimensions, and calculation logic for consistent reporting.

cube('VisitorMetrics', {
sql: `SELECT * FROM visitor_metrics`,
measures: {
totalVisitors: {
sql: `total_visitors`,
type: 'sum',
title: 'Total Number of Visitors',
description: 'Total number of visitors to demo-eligible pages.'
}
},
dimensions: {
id: {
sql: `id`,
type: 'number',
primaryKey: true
},
sourceChannel: {
sql: `source_channel`,
type: 'string',
title: 'Source Channel',
description: 'The channel through which the visitor arrived.'
},
ctaVariant: {
sql: `cta_variant`,
type: 'string',
title: 'CTA Variant',
description: 'The variant or test version of the CTA.'
},
visitDate: {
sql: `visit_date`,
type: 'time',
title: 'Visit Date',
description: 'The date of the visit.'
}
}
})
cube('DemoRequestMetrics', {
sql: `SELECT * FROM demo_request_metrics`,
measures: {
totalDemoRequests: {
sql: `total_demo_requests`,
type: 'sum',
title: 'Total Number of Demo Requests',
description: 'Total number of demo requests submitted by visitors.'
}
},
dimensions: {
id: {
sql: `id`,
type: 'number',
primaryKey: true
},
requestDate: {
sql: `request_date`,
type: 'time',
title: 'Request Date',
description: 'The date the demo request was submitted.'
}
}
})
cube('DemoRequestRate', {
sql: `SELECT * FROM demo_request_rate`,
measures: {
demoRequestRate: {
sql: `total_demo_requests / NULLIF(total_visitors, 0)`,
type: 'number',
title: 'Demo Request Rate',
description: 'The percentage of visitors who submitted a demo request.'
}
},
dimensions: {
id: {
sql: `id`,
type: 'number',
primaryKey: true
},
calculationDate: {
sql: `calculation_date`,
type: 'time',
title: 'Calculation Date',
description: 'The date of the rate calculation.'
}
},
joins: {
VisitorMetrics: {
relationship: 'belongsTo',
sql: `${CUBE}.visitor_id = ${VisitorMetrics}.id`
},
DemoRequestMetrics: {
relationship: 'belongsTo',
sql: `${CUBE}.demo_request_id = ${DemoRequestMetrics}.id`
}
}
})

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