Clarvivo
DocumentationManual integrations

Manual integrations

Set up every Clarvivo integration manually

Use this guide when you are connecting Clarvivo yourself. Start with browser tracking, then add the integrations that provide business context. Each secret below stays in the dashboard or your server—not in page source.

Know which credential belongs where

Your project key is public and belongs in the browser tracking script. API tokens, payment-provider webhook secrets, Slack webhook URLs, and the Clarvivo ingest secret are private. Keep private values in Dashboard settings or server-side environment variables.

Browser script and Google Tag Manager

  1. 1

    Copy the tracking script

    Open Dashboard → Integrations → Tracking and copy the project-specific script.
  2. 2

    Install directly

    Place it in the shared <head> of every public page, then publish. Keep data-cfasync="false" if your site uses Cloudflare.
  3. 3

    Or install with GTM

    In Google Tag Manager, choose Tags → New → Tag Configuration → Custom HTML, paste the script, use the All Pages trigger, then Save and Submit.
  4. 4

    Verify

    Open GTM Preview if applicable, visit the published site, use Send Test Event in Clarvivo, and check Real-time within about five seconds.
<script defer data-cfasync="false" src="https://app.clarvivo.com/js/YOUR_PROJECT_KEY/analytics.js"></script>

Clarvivo enforces the project’s hosts and path boundaries, so an All Pages GTM trigger is appropriate. Configure allowed hosts, included paths, excluded paths, and SPA route tracking in the Tracking integration when needed.

Payment-provider webhooks

For every provider: open Dashboard → Integrations → Payment Providers, select the provider, copy its project-specific URL, create the endpoint in the provider dashboard, enter the provider’s signing secret back in Clarvivo, and send a test event or payment. Signing secrets are never browser credentials.

ProviderWebhook URL suffixEnable these events
Stripe/webhooks/stripe/YOUR_PROJECT_KEYcheckout.session.completed, payment_intent.succeeded; optionally charge.refunded and invoice.paid
Lemon Squeezy/webhooks/lemonsqueezy/YOUR_PROJECT_KEYorder_created; optionally order_refunded and subscription_payment_success
Polar.sh/webhooks/polar-revenue/YOUR_PROJECT_KEYorder.created; optionally subscription.created, subscription.updated, and order.refunded
Paddle/webhooks/paddle/YOUR_PROJECT_KEYtransaction.completed; optionally transaction.payment_failed, adjustment.created, and adjustment.updated
Razorpay/webhooks/razorpay/YOUR_PROJECT_KEYpayment.captured and refund.created
Dodo Payments/webhooks/dodo/YOUR_PROJECT_KEYpayment.succeeded and refund.succeeded
https://app.clarvivo.com/webhooks/PROVIDER_PATH/YOUR_PROJECT_KEY

For Stripe, go to Developers → Webhooks. For Lemon Squeezy, Polar, Paddle, Razorpay, and Dodo Payments, create an endpoint under the provider’s Webhooks or Notifications settings. Use the exact URL generated for the current project. Polar’s revenue URL ends in polar-revenue; it is not Clarvivo’s own billing endpoint.

Custom revenue API

Use this when your payment platform is not listed above. Retrieve the project’s server-only ingest secret in Project Settings and keep it as CLARVIVO_INGEST_SECRET on a trusted backend. Sign the exact decoded JSON body before sending it.

import crypto from "node:crypto";

const body = JSON.stringify({
  event_type: "payment_success",
  amount: 29.99,
  currency: "USD",
  external_id: "ORDER-123",
  source: "custom",
});
const timestamp = Math.floor(Date.now() / 1000).toString();
const signature = crypto.createHmac("sha256", process.env.CLARVIVO_INGEST_SECRET)
  .update(timestamp + ".revenue." + body, "utf8")
  .digest("hex");

await fetch("https://app.clarvivo.com/api/ingest/YOUR_PROJECT_KEY/revenue", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "X-Clarvivo-Signature": "t=" + timestamp + ",v1=" + signature,
  },
  body,
});

The signature is an HMAC-SHA256 of timestamp.revenue.decodedBody. The timestamp must be within five minutes. Supported payload fields include amount, currency, event_type, external_id, customer_email, source, metadata, UTM fields, visitor_id, and session_id.

Shopify Custom Pixel

  1. 1

    Open Customer events

    In Shopify Admin, go to Settings → Customer events → Add custom pixel.
  2. 2

    Copy the generated pixel

    In Clarvivo Dashboard → Integrations → Shopify, open the setup wizard and copy its project-specific Web Pixel code.
  3. 3

    Save and connect

    Paste the code into Shopify, Save, and Connect the pixel.
  4. 4

    Test checkout

    Place a test order and confirm purchase revenue in Clarvivo Revenue or Real-time.

The dashboard-generated Custom Pixel records completed checkout purchases, including order value, currency, order ID, and line items. This is separate from a Shopify OAuth app integration; do not treat an OAuth installation as a replacement for the Custom Pixel steps above.

WordPress and WooCommerce

  1. 1

    Download the plugin

    In Clarvivo’s WordPress integration, download clarvivo-analytics.zip.
  2. 2

    Install it

    In WordPress Admin, go to Plugins → Add New → Upload Plugin, choose the ZIP, install, and activate it.
  3. 3

    Add the project key

    Open Settings → Clarvivo Analytics, enter the current project API key, and save. Leave the tracking endpoint at its default unless you self-host Clarvivo.
  4. 4

    Verify

    Visit a WordPress page and check Real-time. With WooCommerce active, product, cart, checkout, purchase, and UTM tracking are added automatically.

The plugin supports basic WordPress tracking without WooCommerce. For ecommerce hooks, use WordPress 5.8+, PHP 7.4+, and WooCommerce 6.0+.

Search Console, Slack, and email digest

  1. 1

    Connect Google Search Console

    Dashboard → Integrations → Google Search Console → Connect. Complete Google OAuth, select the site property, then choose a 7-, 30-, or 90-day backfill if useful. Clarvivo syncs ongoing data nightly; Google data normally has a two-to-three-day delay.
  2. 2

    Connect Slack

    Create or select an app at api.slack.com/apps, enable Incoming Webhooks, add one to the target channel, then paste the https://hooks.slack.com/services/… URL into Dashboard → Integrations → Slack and send a test message.
  3. 3

    Enable the weekly email digest

    Dashboard → Integrations → Email Digest → enable the weekly digest. The project owner receives it on Mondays at 9:00 AM UTC; use Send Now to test it. It includes visitor statistics, top pages, traffic sources, and an AI summary.

Use an agent for framework-specific edits

The Clarvivo MCP can identify the installation point in a supported codebase and help verify tracking, but it cannot complete Google or payment-provider authorization for you. Keep payment secrets and ingest secrets in the dashboard or your server environment.