Home/Guides/Performance

Performance Guide: Speed, Size & Core Web Vitals

Everything you need to know about feedback tool performance: script size, load times, Core Web Vitals impact, and how to ensure your tool doesn't hurt your site speed or SEO rankings.

<10KB
Script Size
Gzipped & optimized
<50ms
Edge Decisioning
Near-instant targeting
Zero
CWV Impact
No performance penalty

Why Performance Matters

Every script you add to your site affects performance. Feedback tools are no exception. A poorly optimized script can cause serious problems:

⏱️

Slow Page Loads

Adds hundreds of milliseconds to load times

📉

Hurt CWV Scores

Damages your Core Web Vitals metrics

🔍

SEO Rankings Drop

Google uses CWV as a ranking factor

🚪

Higher Bounce Rates

Users leave slow sites

📱

Mobile Bandwidth

Consumes unnecessary data

🧵

Main Thread Blocking

Makes your site feel sluggish

The Performance Principle

A feedback tool should never be the reason your site is slow. If you can't measure the tool's impact, it's performing correctly.

Script Size: The <10KB Target

Script size is the most fundamental performance metric for third-party scripts. Smaller scripts download faster, parse faster, and execute faster.

Why 10KB is the Magic Number

~100ms
Download on 3G
Nearly instant on 4G/5G
<10ms
Parse Time
On modern devices
<0.5%
Page Weight
Of typical 2-3MB page
Achievable
With modern optimization

What Affects Script Size

FactorImpactOptimization
Framework choiceHigh (React adds ~40KB)Use vanilla JS or Preact (<4KB)
DependenciesHigh (each adds weight)Minimize external deps, audit regularly
CSS approachMediumInline critical CSS only, no frameworks
Feature scopeMediumLoad features on demand
CompressionHigh (60-80% reduction)Always use gzip/brotli
Tree shakingMedium-HighRemove unused code at build

Edge Decisioning: The <50ms Target

"Edge decisioning" refers to making targeting decisions (should this survey show?) as close to the user as possible, typically on CDN edge servers rather than origin servers.

Traditional Approach (100-500ms)

1Script loads on browser
2Calls origin server: "Show survey?"
3Origin checks rules & responds
4Tool shows (or hides) survey
⚠️ Round-trip adds 100-500ms latency

Edge Decisioning (<50ms)

1Script loads on browser
2CDN edge evaluates rules locally
3Instant decision (within 50km of user)
4Survey shows immediately
✓ Below human perception threshold

Faster Display

Almost instant

🧵

Non-Blocking

No main thread

🎯

Better UX

Right moment

🖥️

Less Origin Load

Edge handles it

Core Web Vitals Impact

Core Web Vitals are Google's metrics for user experience, and they directly affect SEO rankings. Here's how feedback tools can impact each:

LCP

Largest Contentful Paint

Target: <2.5sImpact: Low to None

Feedback tools rarely affect LCP because they're not usually the largest element. However, a blocking script could delay LCP by preventing other resources from loading.

Solution: Always load scripts asynchronously
INP

Interaction to Next Paint

Target: <200msImpact: Medium to High

Heavy JavaScript execution blocks the main thread, preventing the browser from responding to user input. This is where many tools fail—they do too much work synchronously.

Solution: Break up long tasks, yield to the main thread frequently
CLS

Cumulative Layout Shift

Target: <0.1Impact: High Risk

This is where tools commonly cause problems. A tool that appears and pushes content around creates layout shift. This is the most common performance issue with feedback tools.

Solution: Use fixed positioning that doesn't affect document flow

CLS Best Practices for Feedback Tools

Use position: fixed so tool doesn't affect layout
Reserve space for inline elements
Avoid resizing after initial render
Don't inject content that pushes elements
Use CSS transforms for animations

SEO Implications

Google has made clear that performance affects rankings. Here's how script performance connects to SEO:

Direct Ranking Factors

  • Core Web Vitals:LCP, INP, CLS are confirmed signals
  • Page Experience:Overall UX affects rankings
  • Mobile Performance:Mobile-first indexing prioritizes mobile CWV

Indirect Effects

  • Bounce Rate:Slow pages lose visitors fast
  • Time on Page:Performance issues reduce engagement
  • Crawl Budget:Slow pages get crawled less often
7%
conversion loss per 100ms of added load time
<50ms
LCP addition
0
CLS caused
None
Main thread block
<50ms
JS execution

Loading Strategies

How you load a script matters as much as the script's size. Here are the main strategies:

Recommended

1. Async Loading

The script loads in parallel with other resources and doesn't block rendering:

<script async src="https://widget.example.com/script.js"></script>
Non-blocking
Fast page load
Tool available quickly

2. Defer Loading

The script loads in parallel but executes after HTML parsing:

<script defer src="https://widget.example.com/script.js"></script>
Guaranteed order
Non-blocking
~Slightly delayed

3. Lazy Loading (On Interaction)

The script only loads when the user interacts:

feedbackButton.onclick = () => {
  const script = document.createElement('script');
  script.src = 'https://widget.example.com/script.js';
  document.body.appendChild(script);
};
Zero initial impact
Delay on interaction
Misses passive triggers

4. Idle Loading

The script loads when the browser is idle:

requestIdleCallback(() => {
  const script = document.createElement('script');
  script.src = 'https://widget.example.com/script.js';
  document.body.appendChild(script);
});
Minimal impact
~Unpredictable timing

Recommended Approach

For most sites, async loading with a well-optimized script provides the best balance. Combine with preconnect hints for even faster loading:

<link rel="preconnect" href="https://widget.example.com">
<script async src="https://widget.example.com/script.js"></script>

Competitor Comparison

How do popular feedback tools compare on performance?

ToolScript SizeLoad TimeCWV ImpactNotes
Hotjar~80KB+~800msModerate-HighIncludes heatmaps & recordings
Intercom200KB+1-2sHighFull messaging platform
Qualaroo~40KB~400msLow-ModerateSurvey-focused tool
Survicate~35KB~350msLow-ModerateSurvey-focused tool
ValerieBest<10KB<50msNoneFeedback-optimized

Why Hotjar is Heavier

Hotjar bundles heatmaps, session recordings, and surveys into one script. If you only need surveys, you're loading ~800ms of unused code and 0.47MB to page weight.

Why Valerie is Lightest

Built specifically for feedback collection with performance as a primary constraint. No framework, minimal dependencies, edge-optimized from the ground up.

Measuring Impact

Don't assume your tool is fast—measure it. Here are the tools and approaches:

📊

Before/After Comparison

Tools
LighthousePageSpeed Insights
What to Check
  • Performance score
  • Time to Interactive
  • Total Blocking Time
  • Core Web Vitals
🌐

Network Panel Analysis

Tools
Chrome DevTools Network
What to Check
  • Script download size
  • Download time
  • Additional requests
  • TTFB

Performance Panel

Tools
Chrome DevTools Performance
What to Check
  • Script parse time
  • Execution time
  • Main thread blocking
  • Layout shifts
👥

Real User Monitoring

Tools
Chrome UX Reportweb-vitals library
What to Check
  • Field CWV data
  • Device variation
  • Regression tracking

Optimization Checklist

Use this checklist when evaluating a feedback tool:

Script Optimization

  • Script size <10KB gzipped
  • No unnecessary dependencies
  • Code is minified and tree-shaken
  • Uses modern compression (brotli/gzip)
  • No large framework (React, Vue, Angular)

Loading Optimization

  • Loads asynchronously (async or defer)
  • Served from CDN with edge locations
  • No blocking API calls during init
  • Supports preconnect hints
  • Decisions made at edge, not origin

Runtime Optimization

  • Minimal main thread blocking (<50ms tasks)
  • No forced synchronous layouts
  • Efficient event listeners (debounced)
  • Clean memory management (no leaks)
  • Yields to main thread frequently

Layout Optimization

  • Uses fixed positioning (no CLS)
  • No content injection that moves elements
  • Consistent tool dimensions
  • Smooth animations (CSS transforms only)

How Valerie Achieves Zero Impact

Valerie is built with performance as a core constraint, not an afterthought:

📦Script Architecture

  • <10KB gzippedCore script under 10KB compressed
  • No frameworkBuilt with vanilla JavaScript
  • Tree-shakingOnly includes code you use
  • Minimal depsZero external runtime dependencies

🚀Loading Strategy

  • Async by defaultNever blocks page rendering
  • Global CDNEdge locations worldwide
  • Preconnect supportDNS/connection established early
  • Edge decisioningTargeting at the edge

Runtime Behavior

  • <50ms initReady almost instantly
  • Minimal main threadHeavy work offloaded
  • Efficient updatesOnly re-renders changes
  • No long tasksAll tasks <50ms

🎨Layout Impact

  • Zero CLSFixed positioning only
  • CSS transformsSmooth animations
  • Consistent dimensionsNo resize shifts
  • Shadow DOMStyles isolated

Performance Guarantee

Valerie is designed to have zero measurable impact on your Core Web Vitals. If you can measure a performance regression after adding Valerie, we want to know about it.

Try Free

Frequently Asked Questions

It depends on the tool. A poorly optimized script (large, blocking, causes layout shifts) can hurt your Core Web Vitals and indirectly harm SEO. A well-optimized tool like Valerie has zero measurable impact on CWV and won't affect your rankings.
Use these approaches: (1) Run PageSpeed Insights before and after on a staging site, (2) Check the Network panel for script size and load time, (3) Use the Performance panel to check for long tasks, (4) Monitor CWV with the web-vitals library.
Not with a small, fast-loading script. A <10KB script with edge decisioning shows surveys within 50-100ms of page load—faster than users can notice.
Because most tools inject visible UI into the page. If they don't use fixed positioning or reserve space, they push existing content around—that's layout shift. Fixed positioning (which Valerie uses) completely avoids this.
Check CWV scores weekly using Google Search Console or PageSpeed Insights. Set up alerts for any significant changes. Watch for regressions when the vendor releases updates.
Yes, but it has tradeoffs: time-delayed triggers won't work until the script loads, and users may wait to give feedback. For most sites, async loading with a small script is the better balance.
Mobile is even more important—Google uses mobile CWV for rankings, and mobile devices are typically slower. A lightweight script matters even more on mobile. Valerie's <10KB script loads quickly even on 3G connections.

Related Resources

Zero performance impact guaranteed

Fast Feedback Without the Performance Cost

Valerie's script is under 10KB with <50ms edge decisioning—zero impact on Core Web Vitals. Collect feedback without slowing down your site.

No credit card required
5-minute setup
Cancel anytime