Analytics
First-party visitor analytics — see which campaigns bring visitors, and which visitors turn into revenue.
Opinly Analytics answers one question the rest of your stack usually can't: which marketing actually made you money. A visitor arrives from an ad, browses anonymously for a while, and buys three days later. Analytics keeps that chain intact.
It's first-party. The pixel runs on your domain, the data is yours, and there's no third-party ad network in the middle.
The two halves
Tracking has a client side and a server side. They're separate on purpose, and you'll usually want both.
| Client side | Server side | |
|---|---|---|
| What it is | The pixel — a script in the browser | The SDK — track() from your backend |
| Key | Publishable pk- | Secret sk- |
| Good at | Attribution. It's the only thing that sees the ad click happen. | Reliability. It can't be blocked and never misses an order. |
| Leaves to the other | A small share of events, where ad blockers or closed tabs get in the way. | The visitor's identity — which you hand it with anonId or email. |
Neither is sufficient alone, which is why the interesting page in these docs is Linking server events to browser visitors — how an order recorded on your server finds the anonymous visit that earned it.
The two keys are deliberately different systems. A pk- key can only write events, so it's
safe in public HTML. It can never read your data or reach the content API — that needs the
secret sk- key, which belongs on your server only.
How a visitor becomes revenue
- Someone lands on your site. The pixel gives them an anonymous ID and remembers where they came from — the UTM tags, the ad click ID, the referrer.
- They browse. Page views and clicks accumulate against that ID.
- They identify themselves, usually by typing an email into a form. Opinly stores a hash of it, never the address itself.
- They buy. The order arrives — from your server, from your store platform, or from the browser — and is matched back to that original anonymous visit.
- The dashboard can now say the sale came from the campaign in step 1.
The fragile link is step 4 → step 1. Everything in Linking server events exists to protect it.
Get started
Install the pixel
Script tag or framework package, plus how to confirm it's reporting.
What gets captured
What you get for free, and what you have to send yourself.
Identify visitors
Turn an anonymous ID into a known person, and carry it to your backend.
Linking server events
Attribute a server-side purchase to the browser visit that earned it.
Conversion goals
Choose what counts as a conversion, and how revenue is attributed.
Pixel reference
window.opinly, script attributes, and storage keys.
Already on WordPress?
You don't need any of this. Connect WordPress from the dashboard and the pixel installs itself — see WordPress.