Skip to content
LumyOne

Server-to-server conversion tracking with a click ID

Pixels miss conversions when browsers block them. Server-to-server tracking reports the sale from your own backend with the ID of the click that brought the buyer, so every sale is tied to the right campaign.

Updated

What server-to-server tracking is

In server-to-server (S2S) tracking, also called postback tracking, the conversion is reported by your server, not by a script in the visitor’s browser. The tracking link gives each click an ID; your site keeps that ID; when the visitor buys, your backend sends the ID back with the sale.

Because nothing depends on a browser script, ad blockers, cookie limits and closed tabs do not lose the conversion.

How it works, step by step

  1. The visitor clicks a tracking link. The tracker records the click and gives it a unique click ID.
  2. The tracker redirects with the ID. The landing page URL gets the click ID as a parameter.
  3. Your site keeps the ID. Store it with the session, the cart or the customer record when the visitor lands.
  4. The visitor converts. They buy, sign up or submit a form, maybe days later.
  5. Your backend reports it. A server call sends the click ID, the event, the value and currency, and an idempotency key.
  6. The tracker ties it together. The conversion is attached to the click, and through it to the campaign.

What the call looks like

In LumyFlow, the conversion call goes to your own tracking domain:

curl -X POST https://go.yourbrand.com/api/conversions \
  -H "Authorization: Bearer $LUMYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "click_id": "f5b16af5-72db-41f8-9182-3146f6e4cad6",
    "event": "purchase",
    "idempotency_key": "order-10482",
    "value": "49.99",
    "currency": "USD"
  }'

Best practices

  • Save the click ID on the first landing, before any redirect or login can drop the parameter.
  • Send the conversion from your backend, after payment succeeds, not from the thank-you page.
  • Use an idempotency key, such as the order number, so a retried call never counts twice.
  • Always send value and currency for purchases, so revenue per campaign is right.
  • Handle a missing click ID: direct visitors have none, and that is fine.

Conversion tracking in LumyFlow

LumyFlow adds an lmf_click_id parameter to your destination URL. Your backend posts that ID to the Conversion API with the event, an idempotency key and, optionally, a value and currency, authenticated with an lmf_ key from the Integrations page. Each conversion then shows on its click and in Analytics, with its value and campaign.

For lead forms, the Submissions API ties each form submission to the click that brought the visitor.

Questions

It is the address your system calls when a conversion happens, passing the click ID and details of the sale. Server-to-server tracking and postback tracking describe the same idea.

See it on your own traffic.

Book a demo and we will set up a campaign on your domain with you.