
Developer conversion tracking lets you implement complete analytics and attribution across your entire application stack. This comprehensive guide shows you how to use Pimms JavaScript SDK and tracking API to monitor every step from first click to final conversion.
You'll implement real-time conversion tracking for leads, bookings, and sales with complete attribution analytics. Perfect for full-stack developers who need granular conversion data and API integration capabilities.
What you'll implement: Complete SDK integration, API tracking setup, and conversion attribution for every user interaction in your application.
- Click — when someone clicks a Pimms link or scans a QR code
- Lead (Conversion) — when they fill out a form or book a meeting
- Sale — when they pay (e.g. Stripe checkout)
Every Pimms link generates a unique pimms_id
that travels through the entire funnel. You just need to:
- Install the Pimms script or SDK to assign the
pimms_id
- Enable conversion tracking on your links
- Send the conversion event to Pimms (via API, Zapier, or npm)
1. Set up client-side tracking (required)
To start tracking attribution, you need to capture visitors' pimms_id
as soon as they land on your site.
Option A — Via HTML script tag (any site)
Paste this inside your <head>
in all the pages of your website:
<script defer src="https://cdn.pimms.io/analytics/script.detection.js"></script>
Option B — Via SDK (React / Next.js / Node.js)
// Install the package (e.g. npm install @getpimms/analytics)
import { Analytics as PimmsAnalytics } from "@getpimms/analytics"
<PimmsAnalytics />
More information about the client-side tracking options in the Pimms Analytics Repository
Verify your script installation
Use our free tool to automatically check if the Pimms analytics script is properly installed on your website.
Enable conversion tracking on your links
Once the tracking script is in place, you need to ensure that each link is tagged for conversion tracking.
Option 1 — Enable for the whole workspace
- Go to your Workspace settings → Analytics
- Toggle on Workspace-level Conversion Tracking
Option 2 — Enable per link
- Open the Link Builder
- Toggle the Conversion Tracking switch
✅ A/B test links always have tracking enabled by default.
2. Send conversion events to Pimms (Zapier, API, or SDK)
When a user converts — submits a form, books a meeting, or makes a payment — you need to report that event to Pimms.
➤ Track a lead
There are 3 ways to do it:
- Zapier or Make.com — best for tools like Cal.com, Tally, iClosed, Notion, etc.
- Supported native integrations — including:
- Systeme.io
- Webflow
- Calendly (guide coming soon)
- API or SDK — for custom-built websites, apps, or checkouts
import { Pimms } from "pimms"
const pimms = new Pimms({ token: "YOUR_TOKEN" })
await pimms.track.lead({
clickId: "pimms_id", // Get the pimms_id from the pimms_id cookie
eventName: "Signup",
customerId: "user_456", // The internal ID for this customer or email
customerEmail: "samantha@example.com",
customerName: "Samantha Li",
customerAvatar: "https://example.com/avatar.png"
})
Notes:
- To create a token, go to your Pimms dashboard → Settings → API Keys
- The token is private — don't share it
pimms_id
is a unique identifier that follows the user throughout the funnel. You can retrieve thepimms_id
from thepimms_id
cookie stored in the browser.
More information on the Pimms SDK
More information on the Pimms API
➤ Track a sale
There are two approaches to track sales:
- For Stripe Payment Links, Shopify, and Systeme.io, you don’t need to write any code.
- For custom checkouts, use the SDK or API to report the sale manually.
Special case: Stripe, Shopify, Systeme.io
Pimms already handles attribution for these platforms — you just need to pass the correct ID.
- Stripe Payment Links
👉 Set up Stripe Payment Links conversion tracking
- Stripe Checkout
👉 Set up Stripe Checkout conversion tracking
- Systeme.io
👉 Set up Systeme.io conversion tracking
- Shopify → (guide coming soon)
Use the SDK only if you manage your own checkout or backend event reporting.
Example: SDK usage for custom checkouts
await pimms.track.sale({
customerId: "user_456", // The internal ID for this customer or email used to create the lead (see part 2)
amount: 1999,
currency: "eur",
paymentProcessor: "stripe",
eventName: "Premium Upgrade",
invoiceId: "inv_001",
metadata: {
campaign: "April Launch",
source: "Instagram Story"
}
})
3. Advanced setup (optional)
Need more flexibility? Here’s what’s possible:
- Cross-domain tracking (coming soon)
- Reverse-proxy support (coming soon)
- Use
?via=
query param (coming soon) - Restrict tracking to your domain (coming soon)
FAQs
Do I need to be a developer to implement Pimms tracking?
This guide is for developers who want full control. If you're non-technical, check our no-code guides for platforms like Webflow, Calendly, and Stripe that require zero coding.
Can I track conversions across different domains and subdomains?
Currently, Pimms tracks within the same domain. Cross-domain tracking is coming soon. For now, use separate tracking setups for different domains.
How quickly do conversions appear in the Pimms dashboard?
Conversions appear in real-time, typically within 1-2 seconds of the API call. You can see click-to-conversion data immediately after events are sent.
You're all set 🎉
You now have everything you need to implement complete conversion tracking and analytics — with full attribution from click to conversion and real-time data.
👉 Create your first Pimms link
It starts here
If you made it this far, it's time to grab 10 free links.
10 smart links included • No credit card