Performance & Engineering

The Hidden Impact of Third-Party Scripts on INP (Core Web Vitals)

INP exposes every extra millisecond.

BLUF: INP measures real interaction latency, not just initial load. Third-party scripts block the main thread during clicks, taps, and form submits. A 1.2 KB collector keeps analytics lightweight and INP-friendly.

improve INPthird-party script performancecore web vitals optimization
AnonView Founder
AnonView Founder
Founder, Rust Engineer & Data Privacy Expert
Updated February 13, 2025
Key takeaways
  • INP captures interaction delays, not just page load
  • Marketing tags compete with critical UI work
  • Slim collectors preserve responsiveness

INP is the new performance gate

INP replaced FID because users care about every interaction, not just the first. That means late-loading tags can still tank your score.

Analytics scripts often run on every route. The more tags you add, the more long tasks show up around interactions.

If you want fast conversion flows, you have to budget your main-thread time the same way you budget bundle size.

We can map INP regressions to specific tags in under a day. Get a script-by-script latency breakdown.

Get the tag latency report

How tags block the main thread

A click triggers JS handlers, style recalculation, and layout. If a tag runs during that window, INP spikes.

inp-monitor.tsts
const observer = new PerformanceObserver((list) => {
for (const entry of list.getEntries()) {
if (entry.entryType === "event") {
const interaction = entry as PerformanceEventTiming
console.log(interaction.name, interaction.duration)
}
}
})
observer.observe({
type: "event",
buffered: true,
durationThreshold: 40,
})

Use this kind of instrumentation to spot the exact handlers that compete with analytics execution.

A simple audit plan for fast teams

  • List every third-party tag and map it to a business owner.
  • Measure INP before and after removing each tag in staging.
  • Keep only tags that directly influence revenue or compliance.

Designing a 1.2 KB collector

AnonView's collector avoids dynamic imports and large runtime dependencies. It captures intent signals and sends only minimal metadata.

Main-thread time saved

We measured interaction latency with and without a traditional tag bundle.

Median INP
92 ms
AnonView
Median INP
178 ms
Legacy tags
Long tasks
-43%
per session

INP preservation checklist

  • Keep analytics scripts under 5 KB compressed when possible.
  • Avoid synchronous trackers on interaction-heavy routes.
  • Use a relay to strip transport metadata and limit payload size.

Frequently Asked Questions

Do analytics tags really affect INP?

Yes. Any script that runs during interaction handling can extend the duration of that interaction and worsen INP.

Is removing tags the only option?

No. A lighter collector and a tighter payload budget can keep analytics while preserving Core Web Vitals.

Can INP be improved without changing the product UI?

Often, yes. Removing or slimming third-party scripts is one of the fastest wins.

Loved this deep-dive on performance? AnonView keeps analytics invisible.

The lightest privacy-first analytics stack with human verification, sovereign storage, and an AI analyst that never sleeps.

Book a demo
AnonView Founder
AnonView Founder
Founder, Rust Engineer & Data Privacy Expert

Founder of AnonView, focused on privacy-first analytics and Rust performance engineering.