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
Copy the tracking script
Open Dashboard → Integrations → Tracking and copy the project-specific script. - 2
Install directly
Place it in the shared<head>of every public page, then publish. Keepdata-cfasync="false"if your site uses Cloudflare. - 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
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.
| Provider | Webhook URL suffix | Enable these events |
|---|---|---|
| Stripe | /webhooks/stripe/YOUR_PROJECT_KEY | checkout.session.completed, payment_intent.succeeded; optionally charge.refunded and invoice.paid |
| Lemon Squeezy | /webhooks/lemonsqueezy/YOUR_PROJECT_KEY | order_created; optionally order_refunded and subscription_payment_success |
| Polar.sh | /webhooks/polar-revenue/YOUR_PROJECT_KEY | order.created; optionally subscription.created, subscription.updated, and order.refunded |
| Paddle | /webhooks/paddle/YOUR_PROJECT_KEY | transaction.completed; optionally transaction.payment_failed, adjustment.created, and adjustment.updated |
| Razorpay | /webhooks/razorpay/YOUR_PROJECT_KEY | payment.captured and refund.created |
| Dodo Payments | /webhooks/dodo/YOUR_PROJECT_KEY | payment.succeeded and refund.succeeded |
https://app.clarvivo.com/webhooks/PROVIDER_PATH/YOUR_PROJECT_KEYFor 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
Open Customer events
In Shopify Admin, go to Settings → Customer events → Add custom pixel. - 2
Copy the generated pixel
In Clarvivo Dashboard → Integrations → Shopify, open the setup wizard and copy its project-specific Web Pixel code. - 3
Save and connect
Paste the code into Shopify, Save, and Connect the pixel. - 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
Download the plugin
In Clarvivo’s WordPress integration, downloadclarvivo-analytics.zip. - 2
Install it
In WordPress Admin, go to Plugins → Add New → Upload Plugin, choose the ZIP, install, and activate it. - 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
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
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
Connect Slack
Create or select an app at api.slack.com/apps, enable Incoming Webhooks, add one to the target channel, then paste thehttps://hooks.slack.com/services/…URL into Dashboard → Integrations → Slack and send a test message. - 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.