Go Back to Parent Doc

Integrations (Pro)

Tracking is only half the job — the attribution has to reach the tools where you actually work. UTM Manager Pro connects your leads to forms, WooCommerce, and any external service.

These are Pro features. Each integration self-guards: if the third-party plugin isn’t active, it simply does nothing.

How a visitor becomes a named lead

All the integrations below share one mechanism. The free tracker stores a first-party visitor ID (utmm_vid) in the browser. When a form is submitted or an order is placed, Pro reads that ID, finds the matching lead, and attaches the email address from the submission.

Two rules follow from this:

  • The email is never overwritten. Once a lead has an email, later submissions won’t replace it — consistent with how the free plugin treats identity.
  • The visitor’s whole history comes along. Their first-touch campaign, every page they viewed before converting, and their custom parameters are already attached to that lead.

Contact Form 7

Active automatically when Contact Form 7 is installed.

On submission, Pro takes the first valid email address in the submitted data, identifies the lead with it, and fires a conversion event.

Mail tags let you put the visitor’s captured attribution straight into your notification email. In the form’s Mail tab, use [utmm_ + the field name + ]:

Source:   [utmm_utm_source]
Medium:   [utmm_utm_medium]
Campaign: [utmm_utm_campaign]
Google Click ID: [utmm_gclid]

Any standard UTM key works, and so does any custom parameter key you’ve defined. The tags resolve to the visitor’s last-touch values; if the visitor has no tracked lead (cookies cleared, tracking gated by consent), the tag resolves to nothing.

WPForms

Active automatically when WPForms is installed.

On a completed submission, Pro reads the first Email-type field, identifies the lead with it, and fires a conversion event. When WPForms is configured to store entries, the full attribution payload is also saved as entry meta, so the campaign that produced a lead travels with the entry itself.

WooCommerce

Active automatically when WooCommerce is installed. Both the classic checkout and the block/Store-API checkout are supported.

When an order is placed, Pro:

  • writes the buyer’s last-touch UTM values to the order’s meta (_utm_source, _utm_medium, _utm_campaign, and so on), along with any custom parameters, the lead ID, and the visitor ID;
  • identifies the lead using the billing email;
  • adds the order total to that lead’s lifetime revenue, recording the currency;
  • fires a conversion event carrying the order ID, total, and currency.

The revenue figure is exportable as a CSV column, which is the simplest way to answer "which campaign actually earned money?" — export leads with Revenue and UTM Campaign ticked and pivot on the campaign.

Webhooks

Push lead events to Zapier, Make, a CRM, or your own listener. Configure under UTM Manager → Settings → Pro Settings → Webhooks.

  1. Tick Enable webhooks.
  2. Add your Endpoint URLs, one per line.
  3. Optionally set a Signing secret.
  4. Leave Also fire on every tracked visit off unless you really want a request per page view.

Events

EventWhen it fires
lead.identifiedA lead gains an email address for the first time (form submit, order, or login)
lead.convertedA form submission or WooCommerce order completes — the payload carries a context object naming the source, form or order ID, and totals
lead.trackedEvery tracked hit — opt-in, high volume

lead.identified and lead.converted always fire when webhooks are enabled; only lead.tracked needs the extra checkbox.

Request format

Each delivery is a JSON POST:

{
  "event": "lead.converted",
  "site": "https://your-site.com",
  "timestamp": 1770000000,
  "data": {
    "lead_id": 42,
    "uuid": "2f1d0a4e-…",
    "email": "jane@example.com",
    "user_id": 0,
    "visits": 7,
    "first_seen": "2026-07-01 09:12:44",
    "last_seen": "2026-08-14 16:02:10",
    "first_touch": { "utm_source": "twitter", "utm_medium": "social", "…": "" },
    "last_touch":  { "utm_source": "newsletter", "utm_medium": "email", "…": "" },
    "custom_params": { "gclid": "Cj0KCQ…" },
    "landing_url": "https://your-site.com/pricing/",
    "referrer": "https://t.co/…",
    "context": { "source": "woocommerce", "order_id": 1234, "total": 79, "currency": "USD" }
  }
}

Headers on every request:

  • X-UTMM-Event — the event name, so one endpoint can handle all three.
  • X-UTMM-Signature — sha256=<HMAC> of the raw body using your signing secret, present only when a secret is set. Verify it before trusting the payload.

Deliveries are fire-and-forget and non-blocking, so a slow endpoint never delays a visitor’s checkout or form submission. There is no automatic retry — if your endpoint must not miss events, have it acknowledge quickly and queue on its own side.

REST API

A read-only API for pulling lead data into external tools. Configure the key under UTM Manager → Settings → Pro Settings → REST API.

Authentication

Either a logged-in administrator (cookie authentication), or the Pro API key sent as an X-UTMM-Key header — or, when headers aren’t possible, an api_key query argument. Tick Generate a new key on save to rotate the key; the old one stops working immediately.

Endpoints

GET /wp-json/utmm/v1/leads — a paginated list.

ParameterNotes
searchMatches email, visitor ID, and UTM values
utm_sourceFilter by last-touch source
utm_campaignFilter by last-touch campaign
per_pageDefault 20, maximum 100
pageDefault 1

The response wraps the leads with total, page, and per_page, and also sets the standard X-WP-Total and X-WP-TotalPages headers.

curl -H "X-UTMM-Key: your-key" \
  "https://your-site.com/wp-json/utmm/v1/leads?utm_campaign=black-friday-sale&per_page=50"

GET /wp-json/utmm/v1/leads/<id> — a single lead. Same payload as above, plus its country, device, and browser, and a visits array containing the full journey (URL, page title, referrer, UTM values, and timestamp per view). Returns 404 if the lead doesn’t exist.

The API is read-only by design: there is no write endpoint, so a leaked key can’t be used to alter your data — but treat it as a secret anyway, since it can read lead emails.

  • Custom Parameters — the values that show up in mail tags, order meta, and payloads.
  • Developer Hooks — the PHP actions behind these integrations, for building your own.
Shopping Cart
  • Your cart is empty.