See exactly who opened your CRM emails, which links they clicked, and how each campaign and template is performing — right inside the CRM.
Track engagement on every CRM and drip-campaign email.
The Kantivo Platform CRM automatically logs every outbound email and tracks two engagement signals: opens (when the recipient's mail client renders the email) and clicks (when the recipient clicks any link inside it). Results show up in a dedicated Stats tab inside the CRM, broken down by campaign and template, with drill-down to the individual recipient level.
You do not need to wire anything per template or per send. Tracking is on at the platform level once enabled, and every CRM and drip-campaign email is automatically instrumented before it goes out.
Two lightweight techniques, applied automatically.
When a CRM or drip-campaign email is built, the platform performs two transformations before it's handed to Mailgun:
<a href> in your HTML is rewritten to point at /track/click/{token}. When a recipient clicks the link, the platform logs the click and immediately redirects them to the original URL. The user experience is identical to a normal link.</body>. When the recipient's mail client renders the email, it requests the pixel, and the platform records the open.The compliance footer's unsubscribe link bypasses the redirector. We do not interpose anything between a recipient and their right to opt out, and the click never appears in your stats.
Find it in the Admin Portal or Partner Portal CRM.
Open the CRM page (Admin Portal or Partner Portal), then click the Stats tab. You'll see four summary cards at the top — total sends, open rate, click rate, and failed/bounced — followed by a table you can flip between two views:
Use the Range dropdown in the top right to switch between Last 7 / 30 / 90 days, All time, or a custom from/to range. The summary cards and the row totals all respect the active range.
Stats are scoped to the sender, with org-admin override.
The same stats endpoints serve both the Admin Portal and Partner Portal, but the data each user sees is automatically scoped:
| Caller | Sees |
|---|---|
| Org owner / admin | Every send across the entire organization |
| Partner | Only sends where they are the sender |
| Sales rep | Only their own sends |
| Org member (non-admin) | Only their own sends |
The visibility filter is enforced server-side on every query. A partner cannot see a peer partner's opens, and a sales rep cannot see their partner's sends. Only org-admin-equivalent roles see the full picture.
Why your open rate isn't one number.
Since iOS 15, Apple Mail proxies the open pixel through Apple servers shortly after delivery, regardless of whether the recipient actually opened the email. This silently inflates open counts for any audience with a meaningful share of Apple Mail users — often 30–60% of B2C lists and 10–30% of B2B lists.
Rather than fold those into your headline number and quietly mislead you, the platform detects MPP-proxy opens by user-agent and accounts for them separately. Each campaign or template row in the Stats table has an MPP column showing what share of opens came from the Apple proxy:
Clicks require a deliberate user action and are not affected by MPP. If you have to choose one engagement metric, click rate is the reliable one — especially for high-MPP audiences.
Why your numbers won't double-count.
Many email systems pre-fetch links and pixels for security scanning, link-preview rendering, and spam analysis. Without dedupe, a single delivered email can produce dozens of fake opens and clicks, completely destroying the integrity of your stats.
Tracking is opt-in at the platform level and respects the recipient.
Email tracking has well-known privacy implications. The platform is designed to be defensible:
data-no-track to any <a> tag and that link is left untouchedThe platform handles the technical side, but if you market into the EU/UK or to consumer audiences, your published privacy policy should disclose that you track email opens and link clicks for marketing analytics. This is standard for any CRM or marketing tool and the language is short.
Run your own Mailgun account? Sign your own webhooks.
If your organization or partner team operates its own Mailgun account — common for resellers and white-label setups — you can supply your own HTTP webhook signing key. The platform will use it to verify your Mailgun's inbound webhooks (opens, clicks, bounces) instead of falling back to the platform-wide key.
To add or update yours:
••• and a green “saved” indicator. Use the Show/Hide toggle while typing to verify, or the Clear toggle to remove the saved keyPer-org keys are optional. If you don't supply one, the platform falls back to a global signing key configured by the platform operator, and your webhooks are still verified using that. Per-org keys exist so multi-tenant Mailgun setups can be cryptographically isolated.
Optional, but recommended for the redundant signal.
The platform's open pixel and click redirector work without any Mailgun webhook configuration. But Mailgun also reports its own opened/clicked events, and ingesting those gives you a second data source — useful for clients that block remote images but still report to Mailgun.
To enable, in your Mailgun dashboard go to Sending → Webhooks for your sending domain (or use account-level webhooks if you only have one sending domain), and add this URL for each event type:
https://bizbooks-platform-api-xyuy.onrender.com/api/v1/webhooks/mailgun
| Event | Why Enable |
|---|---|
| Permanent Failure | Hard bounces → auto-block contact |
| Temporary Failure | Soft bounces → recorded, contact stays active |
| Spam Complaints | Auto-block contact and unenroll from campaigns |
| Unsubscribes | Mailgun-side unsub events are honored |
| Opens | Redundant open signal (catches image-blocked clients) |
| Clicks | Redundant click signal |
The platform handler doesn't act on those event types — enabling them is just noise on your Mailgun dashboard.
Quick answers to common questions.
EMAIL_TRACKING_ENABLED wasn't set on the API at the time of send, the row exists but won't have opens or clicks recorded. New sends after the flag was enabled will be tracked normally.data-no-track to the <a> tag and the rewriter will leave it alone.EMAIL_TRACKING_RETENTION_DAYS. Aggregate counters on each send (open count, click count, MPP count, first-opened timestamp) are kept indefinitely, so historical campaign comparisons stay intact.