Hyros
Multi-channel attribution tracking that stitches ad clicks to purchases across sessions.
Overview
Hyros is an attribution platform that ties advertising clicks to purchases, even when the customer's journey spans multiple sessions and devices. It captures click identifiers (fbclid, gclid, ttclid) from ad URLs, links them to the customer's email, and lets you see which campaigns actually drove revenue.
The integration has two parts, and both are optional:
- Universal Script runs on the checkout page and forwards the customer's current URL (with any click identifiers) to Hyros.
- Server-side purchase and refund events are sent from our server to Hyros after each successful order and each refund.
Enable either or both, depending on how you use Hyros.
Setup
- 1
In your Hyros dashboard, open Tracking → Scripts and copy the full Universal Tracking Script snippet.
- 2
In your Hyros dashboard, open Settings → API and generate an API key. When creating the key, grant it permissions to create orders and refund orders — without these, the server-side purchase and refund events will fail. Copy the key.
- 3
Open the checkout's Integration settings in the dashboard, scroll to Hyros, and toggle it on.
- 4
Paste the Universal Script snippet into the Universal Script field. Only the tracking URL is stored; the surrounding JavaScript is discarded on save.
- 5
Paste the API key into the API Key field. Save.
| Asetus | Kuvaus |
|---|---|
| Universal Script | The full universal script snippet from Hyros → Tracking → Scripts. Only the tracking URL is persisted. |
| API Key | API key from Hyros → Settings → API, generated with permission to create and refund orders. Used for the server-side purchase and refund events. |
Events Sent
After a successful payment, a purchase is sent to POST /api/v1.0/orders with the following fields:
| Field | Value |
|---|---|
| orderId | Unique order identifier |
| Customer email (when available) | |
| phoneNumbers[] | Customer phone (when available) |
| firstName / lastName | Customer name (when available) |
| leadIps[] | Customer IP address (when available) |
| currency | Order currency |
| items[] | Ordered products with name, price and quantity |
| date | Payment timestamp |
When an order is refunded, a matching refund is sent to DELETE /api/v1.0/orders/{orderId} with the refunded amount so Hyros can reflect it in your reports.
Both the purchase and the refund are only sent if the customer gave analytics consent at checkout. Without consent nothing is sent. See: Overview — GDPR Consent
How Attribution Works
Hyros combines two data sources to attribute a purchase to an ad:
- The Universal Script captures click identifiers from the URL when a visitor lands on the checkout, and stores them on Hyros's servers against the browser session.
- The server-side purchase event delivers the buyer's email and order details to Hyros after payment succeeds.
Hyros joins these on their side, using the email as the shared key. Because attribution is done server-side, matching survives cookie loss, ad blockers, and iOS tracking restrictions that would otherwise break browser-only pixels.
If your marketing site (outside Verkkokurssikassa) also runs the Hyros universal script, visitors are stitched together across your site and the checkout automatically, again keyed on email.
Notes
- Hyros processes writes asynchronously (typically visible within ~10 seconds). A
200 OKfrom the API means the event was accepted, not yet ingested. - Refunds sent immediately after a purchase (within the ~10-second ingest window) may fail silently on Hyros's side because the original order is not yet indexed. This is extremely rare in practice.
- The Universal Script is loaded on the before-payment step of the checkout. Once loaded, it runs for the rest of the session until the page is reloaded.