Installing via GTM
Install the Korvus snippet with Google Tag Manager in under 5 minutes.
Before you install: mandatory GDPR checklist
Korvus acts as a processor within the meaning of Article 28 of the GDPR. Before you deploy the snippet, check the 5 points below: without them, your site does not meet the information obligation set by Article 13 of the GDPR and Article 82 of the French Data Protection Act (loi Informatique et Libertés).
- A working client-side CMP. Your site needs a consent banner that exposes its state through a recognized standard. Korvus automatically detects Axeptio, Didomi, Cookiebot, OneTrust, the IAB Europe TCF v2 framework and Google Consent Mode v2.
- A visible opt-out mechanism. Visitors must be able to refuse collection independently of your CMP, through a link that sets the
korvus_optout=1cookie (example below). - Content Security Policy (CSP). If your site uses one, add
https://app.korvus.frtoconnect-src. Details on the CSP page. - A Korvus mention in your privacy policy. Article 13 of the GDPR requires it. We provide a ready-to-paste paragraph in FR / IT / ES / EN.
- Korvus added to your list of processors. The full list of our sub-processors is published on the Korvus sub-processors page.
Sample opt-out link
To add to your privacy policy:
<a href="#" onclick="document.cookie='korvus_optout=1; path=/; max-age=31536000'; alert('La collecte Korvus est désactivée sur ce navigateur.'); return false;">
Refuser la collecte Korvus
</a>
Prerequisites
- An active Korvus account (create an account)
- Access to Google Tag Manager
Tag 1: the Korvus snippet
- Log in to your Korvus account and copy your API key from the site settings
- In GTM, create a new Custom HTML tag
- Paste the following code:
<script>
window.__korvus = { apiKey: "VOTRE_CLE_API" };
</script>
<script src="https://cdn.korvus.fr/v1/korvus.min.js" defer></script>
- Replace
VOTRE_CLE_APIwith your API key - Set the trigger to All Pages
- Publish the container
Configuration goes through the window.__korvus object rather than data- attributes on the tag. That is the reliable method in Google Tag Manager: when GTM injects custom HTML, the script cannot always find its own tag to read those attributes.
Tag 2: transaction tracking
Without this second tag, Korvus detects your anomalies but does not know the value of your orders, so it cannot turn a leak into lost euros, which is what the product is for. Set it up during installation.
- Create a second Custom HTML tag
- Paste the following code:
<script>
window.korvusLayer = window.korvusLayer || [];
window.korvusLayer.push({
event: "purchase",
value: {{Purchase Value}},
currency: "{{Purchase Currency}}"
});
</script>
- Replace
{{Purchase Value}}and{{Purchase Currency}}with your data layer variables, the ones that carry the amount and currency on your order confirmation page - Set the trigger to your order confirmation event
- Publish the container
The currency must stay in quotes. Writing currency: {{Purchase Currency}} without quotes produces currency: EUR, which the browser reads as an undefined variable: the whole call fails and the transaction is never sent.
The amount can be a number or a raw string (449, "449.00", "1 234,56"). Korvus normalizes the format server-side, so there is nothing for you to clean up.
window.korvusLayer is a queue: the load order of the two tags does not matter. If your confirmation page fires the transaction tag before the snippet has finished loading, the transaction waits in memory and Korvus picks it up as soon as it starts. No tag sequencing is needed.
Consent
An order amount is data that requires consent. Korvus drops it in the browser, with no network call at all, when the visitor has not accepted collection. Amounts in your dashboard therefore cover 100% of your consented conversions, not all of your conversions.
The fact that an order took place, on the other hand, is measured across all of your traffic, with no amount and no consent. Korvus uses it to statistically adjust your conversion rates.
Verification
Once installed, go back to your Korvus dashboard. The first data shows up within a few minutes. The 7-day learning period starts automatically.
During this period, Korvus observes your site's normal behavior without sending alerts.
To check the transaction tag, place a test order with consent accepted, then open your browser's Network tab: the request sent to app.korvus.fr/api/ingest must contain a purchase event carrying your amount. A 202 response code alone proves nothing: it only means the batch was accepted, whether or not it contained your transaction.