Passt zu deinem bestehenden Stack

Werbekosten holen wir über die APIs der Plattformen ab, Conversions aus deiner Website, deinem Shop und CRM. So siehst du neben jeder Quelle nicht nur die Anzahl, sondern auch die Kosten und den Ertrag.

Conversion-Typen

Alles, was Geld einbringt, zählt mit

Nicht nur der Checkout. Auch der Anruf am Dienstagmorgen und der Deal, der drei Wochen später in deinem CRM landet.

Formulare

Angebot, Kontakt, Download

Reservierungen

Restaurant, Termin, Tisch

Telefonanrufe

Telefonklick oder bestätigtes Gespräch per Call-Tracking

E-Mails

Klick auf einen E-Mail-Link, keine empfangene E-Mail

Shopbestellungen

Mit erfasstem Bestellwert

Offline-Abschlüsse

CRM-Import abgeschlossener Umsätze

Integrationen

Verbindet sich mit deinem Stack, nicht umgekehrt

Kostendaten aus den Werbeplattformen, Conversions aus deiner Website und deinem Shop. Zusammen in einem Bericht mit echtem ROAS pro Quelle.

Werbequellen und Analytics

  • Google Ads
  • Meta Ads
  • LinkedIn Ads
  • TikTok Ads
  • Microsoft Ads
  • GA4

Shop- und Website-Plattformen

  • WordPress
  • Shopify
  • WooCommerce
  • Google Tag Manager
  • Magento
  • Webflow
  • Wix
  • Squarespace
  • Eigener Code (JS + API)

Installation pro Plattform

Platziere zuerst den Basispixel. Richte danach Conversions und Werte ein und prüfe den Empfang. Die Schritte hängen von Plattform, Zugriff und Bezahlprozess ab; manchmal ist Entwicklerhilfe nötig.

WordPress

Abhängig von Plattform und Zugriff

Skript im <head> deines Themes, über den Theme-Editor oder das Feld 'header scripts' deines Themes.

  1. 1Melde dich unter jouwdomein.nl/wp-admin im Administrationsbereich an.
  2. 2Klicke links im schwarzen Menü auf Design (Appearance) → Theme-Datei-Editor (Theme File Editor).
  3. 3Wähle rechts in der Liste 'Theme-Dateien' den Theme-Header (header.php). Wenn du die Liste nicht siehst, nutze Schritt 6.
  4. 4Suche im Code die Zeile </head>, meist etwa in Zeile 20 bis 40. Tipp: Nutze Strg+F (Cmd+F auf dem Mac) im Editor.
  5. 5Setze den Cursor in die leere Zeile direkt über </head>, füge das Skript ein und klicke unten auf Datei aktualisieren (Update File).
  6. 6Nutzt du Elementor, Divi, Astra oder ein Child-Theme? Gehe zu Design → Anpassen → Zusätzliches CSS/Head-Code oder zur Theme-Einstellung 'Header scripts' / 'Custom code' und füge das Skript dort in das HEAD-Feld ein.
  7. 7Kein Codezugriff? Installiere das Plugin 'WPCode' oder 'Insert Headers and Footers', gehe zu Code Snippets → Header & Footer, füge das Skript in das Feld Header ein und klicke auf Save.

Funktion prüfen

  • • Öffne deine Website in einem privaten Fenster und besuche zwei Seiten.
  • • Gehe in Roots zu Websites & Pixel: Prüfe, ob ein echter Besuch eingegangen ist und der Pixel als verifiziert angezeigt wird.

Bitte beachten

  • • Füge das Skript nicht in footer.php ein: Klick-IDs aus Anzeigen würden dann zu spät ausgelesen.
  • • Caching-Plugins (WP Rocket, LiteSpeed, W3 Total Cache) liefern die alte Seite aus: Leere nach dem Speichern den Cache.

Ein Theme-Update kann header.php überschreiben. Verwende daher vorzugsweise ein Child-Theme oder das WPCode-Plugin.

Shopify

Abhängig von Plattform und Zugriff

Basispixel in theme.liquid; Käufe über einen Custom Pixel in Customer events.

  1. 1Öffne Shopify → Online Store → Themes → aktives Theme → Edit code → Layout → theme.liquid. Platziere den Basispixel vor </head> und speichere.
  2. 2Gehe für Käufe zu Settings → Customer events → Add custom pixel. Gib dem Pixel einen Namen, füge den Shopify-Code unten ein und ersetze sr_xxx durch deinen Pixelschlüssel.
  3. 3Stelle die Analytics-Einwilligung gemäß deinen Shopify-Datenschutzeinstellungen ein und verbinde den Custom Pixel. Der Adapter nutzt checkout_completed und Shopify browser.cookie, nicht das window deiner Shopseite.
  4. 4Der Adapter sendet Bestell-ID, Betrag und Währung. Ohne erfasste Roots-Werbeeinwilligung sendet er weder E-Mail noch Telefonnummer und aktiviert keine Plattformweitergabe.
  5. 5Nutze zusätzlich den Bestell-Webhook zur Serverbestätigung. Konfiguriere den Roots-Webhook-Schlüssel und die Shopify-HMAC-Signatur über eine sichere Serveranbindung.
const ROOTS_KEY = "sr_xxx";
const ROOTS_ENDPOINT = "https://rootsmetrics.com/api/public/collect";
let privacyStatus = init.customerPrivacy;
const privacyApi = typeof api !== "undefined" ? api.customerPrivacy : customerPrivacy;
privacyApi.subscribe("visitorConsentCollected", (event) => {
  privacyStatus = event.customerPrivacy;
});
// Self-contained adapter inside Shopify's sandbox, not the storefront window.
const srAttribution = {
  async track(name, { value, currency, order_id, email, phone }, event) {
    if (!privacyStatus.analyticsProcessingAllowed) return;
    const visitor = await browser.cookie.get("sr_vid");
    const url = new URL(event.context.document.location.href);
    const response = await fetch(ROOTS_ENDPOINT, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify({
        key: ROOTS_KEY,
        visitor_id: visitor || event.clientId,
        event_type: "conversion",
        event_name: name,
        value_cents: Math.round(Number(value) * 100),
        currency,
        external_id: "order:" + order_id,
        dedup_id: "order:" + order_id,
        page_url: url.origin + url.pathname,
        consent_state: "unknown",
        advertising_consent: false
        // Shopify permission is not a recorded Roots advertising consent.
        // Email and phone are intentionally not transmitted by this adapter.
      })
    });
    if (!response.ok) throw new Error("Roots purchase was not accepted: " + response.status);
  }
};
analytics.subscribe("checkout_completed", async (event) => {
  const checkout = event.data.checkout;
  if (!checkout.order?.id) return;
  await srAttribution.track("purchase", {
    value: checkout.totalPrice.amount,
    currency: checkout.currencyCode,
    order_id: checkout.order.id.split("/").pop(),
    email: checkout.email,
    phone: checkout.phone
  }, event);
});

Funktion prüfen

  • • Prüfe in Roots einen Besuch auf deiner veröffentlichten Shop-Domain. Nur dies bestätigt den Basispixel, noch nicht die Kaufmessung.
  • • Gib eine Shopify-Testbestellung auf und vergleiche Bestell-ID, Betrag und Währung in Roots. Prüfe, dass Pixel und Webhook dieselbe Bestellung nicht doppelt zählen.

Bitte beachten

  • • Shopify Custom Pixels laufen in einer Sandbox. Das srAttribution der Storefront ist dort nicht verfügbar; nutze den vollständigen Adapter unten.
  • • Additional scripts wurde eingestellt. Nutze es nur bei älteren Shops, in denen Shopify es noch anbietet, nicht für Neuinstallationen.
  • • Ein Checkout auf einer anderen Domain erfordert eine erlaubte Herkunft bei deiner Roots-Website. Ohne Besucherverknüpfung bleibt die Quelle möglicherweise unbekannt.

checkout_completed kann fehlen, wenn die Dankeseite nicht lädt. Ein authentifizierter Bestell-Webhook ist eine zusätzliche Serverbestätigung, kein Ersatz für Einwilligung.

Magento / Adobe Commerce

Abhängig von Plattform und Zugriff

Skript über Content → Design → Configuration im HTML Head deiner Store View.

  1. 1Melde dich im Magento-Adminbereich an (meist jouwdomein.nl/admin).
  2. 2Klicke links im Menü auf Content → unter 'Design' auf Configuration.
  3. 3Du siehst eine Tabelle mit Default, Website und Store View. Klicke rechts bei der Store View, die du messen möchtest, auf Edit.
  4. 4Klappe den Bereich HTML Head auf (klicke auf den Titel).
  5. 5Füge das Skript in das Feld 'Scripts and Style Sheets' ein – unter vorhandenen Zeilen, nicht dazwischen.
  6. 6Klicke oben rechts auf Save Configuration.
  7. 7Gehe zu System → Tools → Cache Management, markiere Page Cache und Configuration, wähle Refresh und klicke auf Submit.

Funktion prüfen

  • • Öffne deine Storefront in einem privaten Fenster und rufe eine Kategorieseite auf.
  • • Prüfe in Roots unter Tracking testen, ob Seitenaufrufe eingehen.

Bitte beachten

  • • Bearbeitest du Default statt der Store View, erfasst du auch Testumgebungen.
  • • Vergiss die Cache-Aktualisierung nicht: Sonst wird weiterhin das alte Head-HTML ausgeliefert.

Webflow

Abhängig von Plattform und Zugriff

Skript im websiteweiten Custom-Code-Head deines Projekts.

  1. 1Öffne dein Projekt im Webflow Designer.
  2. 2Klicke oben links auf das Webflow-Logo → Site settings (oder gehe vom Dashboard zum Projekt → Settings).
  3. 3Klicke oben auf den Tab Custom code.
  4. 4Füge das Skript in das obere Feld 'Head code' ein (über 'Footer code').
  5. 5Klicke oben rechts auf Save changes.
  6. 6Klicke danach oben rechts auf Publish → wähle deine Domain(s) → Publish to selected domains.

Funktion prüfen

  • • Öffne deine veröffentlichte Website (nicht die .webflow.io-Vorschau im Designer) und navigiere zu einer weiteren Seite.
  • • Sende ein Testformular ab: Roots erfasst Formularübermittlungen automatisch als Conversion.

Bitte beachten

  • • Custom Code funktioniert nicht in der Designer-Vorschau: Du musst veröffentlichen.
  • • Websiteweiter Head-Code erfordert einen kostenpflichtigen Site-Plan.

Wix

Abhängig von Plattform und Zugriff

Skript als Custom Code auf allen Seiten, geladen im Head.

  1. 1Gehe zu manage.wix.com und wähle deine Website.
  2. 2Klicke unten links auf Settings (Einstellungen).
  3. 3Scrolle zum Bereich 'Advanced' und klicke auf Custom code.
  4. 4Klicke oben rechts bei 'Head' auf + Add Custom Code.
  5. 5Füge das Skript in das große Codefeld ein und nenne es 'Roots pixel'.
  6. 6Wähle unter 'Add Code to Pages' die Option All pages und aktiviere 'Load code on each new page'.
  7. 7Wähle unter 'Place Code in' die Option Head und klicke auf Apply.
  8. 8Klicke oben rechts im Editor auf Publish, wenn noch unveröffentlichte Änderungen vorliegen.

Funktion prüfen

  • • Öffne deine Live-Website (jouwdomein.nl, nicht die Editoransicht) in einem privaten Fenster.
  • • Prüfe in Roots, ob 'Skript installiert' grün wird.

Bitte beachten

  • • Custom Code erfordert einen Wix-Premiumtarif und eine verbundene Domain.
  • • Wix Studio? Dort findest du Custom Code unter Settings → Custom code, ansonsten ist alles identisch.

Squarespace

Abhängig von Plattform und Zugriff

Skript per Code Injection im Header deiner Website.

  1. 1Melde dich an und öffne deine Website im Squarespace-Administrationsbereich.
  2. 2Klicke im linken Menü auf Settings → Developer tools (bei Version 7.1: Website → Website tools).
  3. 3Klicke auf Code injection.
  4. 4Füge das Skript in das obere Feld mit der Überschrift Header ein.
  5. 5Klicke oben links auf Save.
  6. 6Betreibst du einen Onlineshop? Füge das Skript auch in das Feld 'Order confirmation page' mit srAttribution.track("purchase", { value: {orderGrandTotal} }) ein.

Funktion prüfen

  • • Öffne deine Website in einem privaten Fenster und sieh dir zwei Seiten an.
  • • Fülle einen Formularblock aus und prüfe in Roots, ob die Conversion erscheint.

Bitte beachten

  • • Code Injection ist ab dem Business-Tarif verfügbar; mit Personal funktioniert es nicht.
  • • Code Injection lädt nicht in der Squarespace-Editoransicht.

WooCommerce

Abhängig von Plattform und Zugriff

Basispixel über WPCode oder functions.php; purchase auf der Dankeseite über woocommerce_thankyou.

  1. 1Platziere den Basispixel über WPCode → Header & Footer → Header oder nutze den wp_head-Hook aus dem PHP-Beispiel unten. Nutze nur eine der beiden Methoden.
  2. 2Füge den PHP-Code für woocommerce_thankyou über ein Child-Theme oder ein PHP-Snippet in WPCode hinzu. Nutze deinen eigenen Pixelschlüssel.
  3. 3Das purchase-Event wird nur für bezahlte Bestellungen gesendet, mit Bestellwert, Währung, Bestell-ID und Rechnungs-E-Mail. Roots sendet Kontaktdaten nur bei erfasster Werbeeinwilligung.
  4. 4Erstelle zur Serverbestätigung eine sichere Bestellanbindung an /api/public/order mit x-roots-platform: woocommerce und x-roots-secret. Speichere sr_vid in den Bestellmetadaten, damit Besuch und Bestellung verknüpft werden können.
  5. 5WooCommerce → Settings → Advanced → Webhooks bietet order.created/order.updated. Ein Server-Relay kann x-roots-secret ergänzen und nach Zahlungsstatus filtern; die native WooCommerce-Signatur ersetzt den Roots-Schlüssel nicht.
// PHP: child theme functions.php or a PHP snippet in WPCode.
add_action('wp_head', function () {
    echo '<script async src="https://rootsmetrics.com/sr.js" data-key="sr_xxx"></script>';
});
add_action('woocommerce_thankyou', function ($order_id) {
    $order = wc_get_order($order_id);
    if (!$order || !$order->is_paid()) return;
    $payload = wp_json_encode([
        'value' => (float) $order->get_total(),
        'currency' => $order->get_currency(),
        'orderId' => (string) $order->get_id(),
        'email' => $order->get_billing_email(),
        'phone' => $order->get_billing_phone()
    ], JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT);
    echo '<script>window.addEventListener("load", function () {
        if (window.srAttribution) srAttribution.track("purchase", ' . $payload . ');
    });</script>';
});

Funktion prüfen

  • • Gib eine bezahlte Testbestellung auf und prüfe purchase, Bestell-ID, Betrag und Währung in Roots.
  • • Lade die Dankeseite neu und prüfe, dass dieselbe Bestellung nur einmal zählt. Teste auch die Serveranbindung separat.

Bitte beachten

  • • Bei verzögerten Zahlungen ist die Bestellung auf der Dankeseite möglicherweise noch nicht bezahlt. Nutze dann den Zahlungsstatus-Webhook über deine Serveranbindung.
  • • Hinterlege Webhook-Schlüssel niemals im Browsercode. Stimme Caching und Zahlungsstatus mit deinem Entwickler ab.

Google Tag Manager

Abhängig von Plattform und Zugriff

Basispixel als Custom-HTML-Tag auf All Pages; eigene Conversions über ein dataLayer-Event.

  1. 1Erstelle in GTM ein Custom-HTML-Tag mit dem Basispixel und dem Trigger All Pages. Ersetze sr_xxx durch deinen Pixelschlüssel.
  2. 2Aktiviere für dieses Roots-Tag keinen zusätzlichen Consent-Trigger und keine zusätzliche Einwilligungsanforderung: sr.js verarbeitet die Einwilligung selbst. Das gilt nicht für andere Werbe-Tags. Dein Cookie-Banner lädt weiterhin vor GTM.
  3. 3Erstelle die Data Layer Variables roots_name, roots_value und roots_currency sowie ein zweites Custom-HTML-Tag mit dem Conversion-Code unten. Trigger: Custom Event roots_conversion.
  4. 4Lass deine Website roots_conversion erst nach tatsächlicher Bestätigung der Reservierung oder Conversion pushen. Nutze nicht nur einen Button-Klick. Veröffentliche den Container nach der Prüfung.
<!-- Custom HTML: All Pages, no additional consent requirement.
     sr.js handles consent. Keep your CMP before GTM. -->
<script async src="https://rootsmetrics.com/sr.js" data-key="sr_xxx"></script>

<!-- Push ONLY after a confirmed conversion, not a button click. -->
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({event: "roots_conversion", roots_name: "reservering", roots_value: 84.5, roots_currency: "EUR"});
</script>

<!-- Second Custom HTML tag: Custom Event trigger roots_conversion.
     Create Data Layer Variables roots_name, roots_value, roots_currency.
     Tag sequencing: load the Roots base tag first. -->
<script>
(function () {
  var name = {{roots_name}}, value = {{roots_value}}, currency = {{roots_currency}};
  var attempts = 0;
  function send() {
    if (window.srAttribution) srAttribution.track(name, {value: value, currency: currency});
    else if (++attempts < 100) setTimeout(send, 100);
  }
  send();
})();
</script>

Funktion prüfen

  • • Prüfe in GTM Preview, dass das Basis-Tag einmal lädt und das Conversion-Tag nur nach roots_conversion ausgelöst wird.
  • • Prüfe in Roots das Event und den Wert; teste auch die Ablehnung der Einwilligung.

Bitte beachten

  • • Nutze kein zweites purchase-Tag für ein standardmäßiges E-Commerce-purchase-Event: sr.js liest es bereits aus dem dataLayer und dedupliziert anhand der Bestell-ID.
  • • Ein ausgelöstes GTM-Tag beweist noch nicht, dass Roots das Event empfangen hat.

Eigene Website oder App

Abhängig von Plattform und Zugriff

Skript direkt vor dem schließenden </head>-Tag in deinem gemeinsamen Template oder Layout.

  1. 1Öffne die Datei, die auf jeder Seite geladen wird: index.html, base.html.twig, layout.blade.php, _document.tsx, app.html oder deine Root-Layout-Komponente.
  2. 2Füge das Skript als letzte Zeile vor </head> ein, damit Klick-IDs bereits beim ersten Rendern erfasst werden.
  3. 3Nutzt du React, Vue oder Svelte mit SSR? Setze das Skript ins HTML-Template statt in eine Komponente, damit es bereits beim ersten Seitenaufruf lädt.
  4. 4Committe und deploye deine Website.
  5. 5Sende eigene Conversions mit srAttribution.track("naam", { value: 89.5, currency: "EUR" }), sobald die Conversion erfolgreich ist.
  6. 6Sende serverseitige Conversions (Erstattungen, Offline-Bestellungen, telefonische Buchungen) über die Conversion-API mit demselben Pixelschlüssel.

Funktion prüfen

  • • Öffne deine Website und prüfe im Netzwerk-Tab deines Browsers, ob sr.js mit Status 200 lädt.
  • • Nutze in Roots die Seite 'Tracking testen', um ein Testevent zu senden und den Eventstrom live zu verfolgen.

Bitte beachten

  • • Lade das Skript nicht über einen Tag Manager mit Einwilligungsverzögerung, wenn du Klick-IDs erhalten möchtest; platziere es direkt im Head.
  • • Setze das Skript nicht in eine Komponente, die erst nach der Hydration mountet: Sonst verpasst du den ersten Seitenaufruf.

Bestell-Webhook und Conversion-API

Shopify, WooCommerce und Magento können Bestellungen von ihrem Server über POST /api/public/order?key=sr_xxx bestätigen. Nutze x-roots-secret und x-roots-platform. Schlüssel findest du nach dem Login bei deiner Website; bewahre sie nur auf deinem Server auf.

Shopify erfordert zusätzlich X-Shopify-Hmac-SHA256 über den unveränderten Request-Body. Speichere das Shopify-Geheimnis in Roots und nutze eine Serveranbindung, die auch den Roots-Schlüssel mitsendet. Bei WooCommerce und Magento muss die Serveranbindung Authentifizierung und Zahlungsstatus prüfen.

curl -X POST "https://rootsmetrics.com/api/public/order?key=sr_xxx" \
  -H "Content-Type: application/json" \
  -H "x-roots-secret: YOUR_WEBHOOK_SECRET" \
  -H "x-roots-platform: woocommerce" \
  -d '{"id":1234,"total":"84.50","currency":"EUR","billing":{"email":"customer@example.com"},"meta_data":[{"key":"sr_vid","value":"VISITOR_ID"}]}'

Abgeschlossene Deals und qualifizierte Leads

Die Conversion-API akzeptiert POST /api/public/v1/offline-conversions mit einem kontogebundenen API-Schlüssel als Bearer-Header, site_id und maximal 500 Conversions pro Anfrage. Nutze eine eindeutige external_id, den tatsächlichen Wert und den ursprünglichen occurred_at-Zeitpunkt. visitor_id verknüpft die Conversion nach Möglichkeit mit einem gemessenen Besuch.

curl -X POST "https://rootsmetrics.com/api/public/v1/offline-conversions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"site_id":"YOUR_SITE_UUID","conversions":[{"external_id":"crm-deal-1234","visitor_id":"VISITOR_ID","event_name":"qualified_lead","value":84.5,"currency":"EUR","occurred_at":"2026-10-29T12:00:00Z"}]}'

Der Empfang belegt keine Besucherverknüpfung. Unbekannte Einwilligung wird nicht als erteilt behandelt; eine Weitergabe erfordert erfasste Einwilligung. GET /api/public/v1/conversions ist ein Export, kein Empfangsendpunkt.

Rootboard-Partner-API

Rootboard kann mit einem kontogebundenen Partnerschlüssel Attributionstotale pro Website, Zeitraum, Kanal und Modell über GET /api/public/partners/rootboard/attribution abrufen. Der Austausch umfasst Conversion-Credit, Werte in Cent und verknüpfte Kosten. Dies ist kein integrierter Analytics Hub und kein Austausch von Kundenprofilen.

Was wird automatisch gemessen?

Sobald das Skript auf deiner Website ist, misst Roots die wichtigsten Conversions ohne Einrichtung. Alles, was einen Wert braucht, erhält ein zusätzliches Attribut am Button, Link oder Formular.

EventWannWert

Seitenaufruf

pageview

Bei jedem Seitenaufruf. Dabei werden auch Click-IDs (gclid, fbclid, ttclid, li_fat_id) und UTM-Parameter erfasst.

Kein Wert

Formular gesendet

form_submit

Sobald ein Besucher ein <form> auf deiner Website absendet. Funktioniert mit jedem Formular, auch aus Theme oder Page Builder.

<form data-sr-event="offerte_aanvraag" data-sr-value="250" data-sr-currency="EUR"> … </form>
Kein Wert, außer du setzt data-sr-value auf das Formular.

Telefonlink-Klick

phone_call

Klick auf einen Link, der mit tel: beginnt, zum Beispiel <a href="tel:+31612345678">.

<a href="tel:+31612345678" data-sr-event="phone_call" data-sr-value="75">Bel ons</a>
Kein Wert. Möchtest du einen Durchschnittswert pro Telefonklick? Setze data-sr-value auf den Link.

E-Mail-Klick (mailto)

email_click

Klick auf einen Link, der mit mailto: beginnt.

<a href="mailto:info@jouwbedrijf.nl" data-sr-value="40">Mail ons</a>
Kein Wert, außer du übergibst ihn selbst.

Jeder Button oder Link mit data-sr-event

eigen naam

Klick auf ein Element mit dem Attribut data-sr-event. Dessen Wert wird zum Eventnamen, zum Beispiel reservierung, whatsapp oder download.

<a href="/reservieren" data-sr-event="reservierung" data-sr-value="45">Tisch reservieren</a>
Optional über data-sr-value und data-sr-currency.

Wert mit Data-Attributen übergeben

Du musst kein JavaScript schreiben: Setze die Attribute direkt auf das Element. Roots liest sie beim Klick oder Absenden aus.

data-sr-event

Der Name der Conversion. Setze ihn auf einen Button, Link oder ein Formular. Ohne dieses Attribut heißt ein Formular form_submit.

data-sr-event="reservering"
data-sr-value

Der Wert der Conversion in Euro. Verwende einen Punkt als Dezimaltrennzeichen, kein Eurozeichen.

data-sr-value="89.95"
data-sr-currency

Währung des Werts. Lässt du sie weg, rechnet Roots mit EUR.

data-sr-currency="EUR"
data-sr-ignore

Setze dies auf ein Formular, das du gerade nicht messen willst, etwa ein Such- oder Filterformular.

<form data-sr-ignore> … </form>

Ein Wert, der erst beim Checkout feststeht

In einem Webshop steht der Bestellwert nicht vorab fest. Sende ihn von der Danke-Seite mit, dann zählt Roots den echten Umsatz pro Quelle.

<!-- Danke-Seite deines Webshops: echten Bestellwert mitsenden -->
<script>
  srAttribution.track("purchase", {
    value: ORDER_TOTAL,   // durch die Variable deines Shops ersetzen
    currency: "EUR"
  });
</script>

Kein Betrag, etwa bei einer Reservierung oder Anfrage? Lege unter Conversions pro Conversion-Typ einen festen Wert fest, zum Beispiel den durchschnittlichen Umsatz pro Gedeck.