← Field Notes · July 6, 2026 · 4 min read · AIOProductOS Team

The 1.7 KB product-analytics SDK

A product-analytics SDK that gzips to 1.7–5.2 KB, loads async, and lands events on a spine where they join to revenue and shipped work.

The 1.7 KB product-analytics SDK

Bundle size is a product decision, not just an engineering one. The AIOProductOS product-analytics SDK is a single script — productos.js, about 3.7 KB gzipped — that loads asynchronously and lands every event on a shared spine. It is one of seven drop-in SDKs that each gzip to between 1.7 and 5.2 KB, so instrumenting your product costs kilobytes, not a Core Web Vitals regression. You install it in your own product; events flow to the spine and join to the same customer’s revenue and shipped work.

Why does SDK bundle size matter?

Because the analytics script runs on your customer’s device, on every page, before you learn anything. A heavy analytics bundle is the most common self-inflicted Core Web Vitals wound: it competes with your own JavaScript for the main thread and delays interactivity.

The math is unforgiving. A typical third-party analytics tag can run 20–50 KB gzipped or more; some tag-manager-loaded stacks push past 100 KB before a single event fires. At 3.7 KB, productos.js is roughly an order of magnitude smaller, and it loads with async so it stays off the critical rendering path — it does not block your Largest Contentful Paint or first render.

The web performance targets most teams hold — LCP under 2.5s, a landing-page JS budget under 150 KB gzipped — leave very little room for a bloated analytics tag. A few kilobytes is a rounding error against that budget. Fifty is not.

What do you actually get in the SDK?

A tracking primitive and sensible autocapture, not a framework you have to learn. You drop a script tag and call a track function:

<script async src="https://platform.aioproductos.com/sdk/productos.js"
        data-org="your-org-key"></script>
<script>
  // illustrative — call shape, not a documented API contract
  productos.track("feature_used", { feature: "export", plan: "team" });
</script>

That is the whole integration surface for the analytics piece. The SDK captures page and event data, buffers it, and flushes without blocking navigation. It runs on both EU and US data residency, chosen at onboarding — the region never appears in your key or your markup.

The other six SDKs follow the same pattern. Session replay records what a user actually did, in-app chat opens a conversation surface, plus scheduling, product guides, surveys, and a shared core. Add only what you need; each is a few kilobytes.

How do events join to revenue and work?

This is the part a standalone analytics tool cannot do. When an event lands, it lands on the spine keyed to the same customer and account IDs your billing and work records already use. So the event is not stranded in an analytics silo — it resolves to one record next to that customer’s subscription, support history, and the features your team shipped.

That collapses questions that are normally a manual join:

QuestionStandalone analyticsAnalytics on a spine
Which accounts used a feature?Event exportOne query
Do paying accounts use it more than trials?Join events to Stripe by handAlready joined
Did the feature we shipped move retention?Cross-reference 3 toolsOn one record

The value is not the pixel; it is that nothing downstream has to reconcile it. See how the mapping works on the analytics page and the full SDK family on the SDKs page.

When is a full CDP the better call?

When instrumentation is not the bottleneck — distribution is. If you need to fan events out to twenty downstream destinations, enforce a governed tracking plan across many squads, run dedicated identity resolution, or load a warehouse as the system of record, a customer-data platform like Segment is the right tool. That is infrastructure, and it is a real discipline with a team behind it.

A lightweight SDK is the opposite bet: instrument fast, keep the bundle tiny, and land events somewhere already joined to revenue and work so a small team can answer product questions without a data pipeline. If your problem is “we have no instrumentation and no data team,” the few-kilobyte script wins. If your problem is “we have fifteen tools that all need the same event,” you want the CDP. Some teams run both — the SDK to capture, the CDP to distribute.

The short version

A product-analytics SDK should cost you kilobytes and give you answers. productos.js is ~3.7 KB gzipped, loads async, and lands events on a spine where a click joins to a subscription and a shipped feature on the same customer record. You do not get a bigger dashboard — you get instrumentation that is already connected.

You can see connected events on one record without installing anything — browse the live no-signup demo and follow a customer from a tracked event to their subscription to the feature that shipped for them.

Frequently asked questions

How big is a lightweight product-analytics SDK?

The AIOProductOS analytics script, productos.js, is about 3.7 KB gzipped. The full SDK family — analytics, session replay, in-app chat, scheduling, product guides, surveys, and core — ranges from 1.7 to 5.2 KB gzipped each, so you add capabilities without a heavy bundle tax.

Does an analytics SDK hurt Core Web Vitals?

It does not have to. A script that gzips to a few kilobytes and loads asynchronously stays off the critical rendering path, so it does not block LCP or first paint. The risk with analytics is usually bundle weight and synchronous execution — keeping both small is what protects your vitals.

How do analytics events join to revenue?

Events land on a shared spine keyed to the same customer and account IDs your billing data uses. So a click, a subscription, and a shipped feature all resolve to one record — you can ask which paying accounts used a feature without exporting and reconciling in a spreadsheet.

When do you need a full CDP instead of a lightweight SDK?

When you must fan out events to dozens of downstream destinations, enforce a governed tracking plan across many teams, or run identity resolution and warehouse loading as a dedicated discipline. A CDP like Segment is infrastructure; a lightweight SDK is instrumentation that lands somewhere already joined.

Keep reading

See the join on your own stack.

One record per customer — revenue, feedback, work, and code. Flat plans from $199/mo, every module included — a 14-day onboarding runway on your own data, then a 30-day money-back guarantee.