How to track leads and sales from Cal.com
Every Cal.com booking, attributed to its link — native connection, free.
AT A GLANCE
| What NEMO tracks | Leads · Sales |
|---|---|
| Connection | Native — activated from the NEMO app |
| Method | “The script on your site” · Server-side · highest reliability |
| Steps | 6 in total, with a one-minute check at the end |
| Worth knowing | Bonus (see the source INSIDE Cal.com too): create a booking question with identifier nm_id and turn off “Show on booking page” — if your NEMO link points straight at the event, the nm_id gets stored with every booking. |
With Cal.com, NEMO tracks which link brings each lead and which link brings each sale with no pixels and no Google Analytics. Know which link, video or ad brought you each Cal.com booking — without paying for a higher plan. The whole loop works for free: your link lands on your page, the person books, and Cal.com sends them back to your thank-you page, where NEMO records the lead with its source. The method is “The script on your site” (server-side · highest reliability): Paste one line (nemo.js) once on your site. From then on, when someone arrives through one of your links, NEMO remembers their source for 90 days and fills in the hidden field of your forms automatically. Bonus (see the source INSIDE Cal.com too): create a booking question with identifier nm_id and turn off “Show on booking page” — if your NEMO link points straight at the event, the nm_id gets stored with every booking. The full connection is 6 steps and you verify it with a single test click.
How does each Cal.com lead arrive with its source?
The script on your site · Server-side · highest reliability
The whole loop works for free: your link lands on your page, the person books, and Cal.com sends them back to your thank-you page, where NEMO records the lead with its source.
- Point your NEMO link at YOUR booking page (with the Cal.com calendar embedded, or a button).
- Paste the NEMO script on that page:
<script src="https://nemolink.app/nemo.js" defer></script> - In Cal.com: your event type → Advanced tab → enable “Redirect on booking” with the URL of your thank-you page. Open your event types in Cal.com
- On your thank-you page, paste the booking notice:
<script src="https://nemolink.app/nemo.js" defer></script> <script> document.addEventListener("DOMContentLoaded", function () { if (window.nemo) window.nemo.track("lead", { event_name: "Booking" }); }); </script>
Note: Bonus (see the source INSIDE Cal.com too): create a booking question with identifier nm_id and turn off “Show on booking page” — if your NEMO link points straight at the event, the nm_id gets stored with every booking.
Note: If you embed Cal.com on your site and use that hidden question, add one line after the embed snippet: Cal.config.forwardQueryParams = true (it ships turned off).
How is each Cal.com sale attributed?
The thank-you page · Thank-you page · good reliability
Charging for the call? Install the Stripe app in Cal.com and the paid booking becomes a sale.
- Install Stripe from the Cal.com App Store and put a price on your event. Open the Stripe app in Cal.com
- Use a separate thank-you page for the paid event, with the sale notice and the price:
<script src="https://nemolink.app/nemo.js" defer></script> <script> document.addEventListener("DOMContentLoaded", function () { if (window.nemo) window.nemo.track("sale", { event_name: "Purchase", amount_cents: 4900 // €49.00 — change it or remove the line }); }); </script>
Check it in one minute
- Click your own NEMO link and book a test appointment.
- When you land on your thank-you page, the lead shows up in your NEMO dashboard with its source.
Frequently asked questions
- What do I do if people book but I don't see the lead?
- Check the “Redirect on booking” of THAT event type, and that the thank-you page is on the same domain as the booking page.
- What do I do if the lead arrives “no source”?
- That person reached your page without going through a NEMO link. If everyone arrives like that, check that you're sharing the NEMO link (nemolink.app/…) and not your page's direct URL.
- What do I do if the hidden nm_id question arrives empty in Cal.com?
- It only fills in if the visitor arrives with ?nm_id in the event URL (a NEMO link pointing straight at the event, or an embed with forwardQueryParams enabled).
OFFICIAL SOURCES
- Cal.com · Booking questions (hidden fields)
- Cal.com · Prefill fields via URL
- Cal.com · How to receive payments
Guide verified against the official documentation on 2026-07-21.
ALSO INTEGRATES WITH
Track Cal.com from your very first link.
Free during early access. Early users get special terms when paid plans launch.