Docs › Integrations
Infrastructure

Integrations

This is the grown-ups' room of the tracker. Campaigns, streams, landings are about where the traffic goes; Integrations are about how the tracker talks to the outside world. One way, the ad network sends spend in here (what you actually paid per click); the other way, the tracker pushes conversions back out to Facebook, TikTok, Google and anywhere via postback. Until those wires are plugged in, your ROI is made of air: green in the report, red on the card.

The screen is simple: a tab strip on top, and under each tab a table plus an add/edit modal. Five tabs: Ad networks · Facebook · TikTok · Google · Postback 2.0.

One tab, one kind of wire. "Ad networks" pull money in. The other four push conversions out. Don't mix up the direction — that's the only conceptual difficulty on the whole screen, and we just handled it for you.

The tab strip and when each tab shows

Five tabs: Ad networks always, the four pixels only when their hack is active.

The "Ad networks" tab is always there — cost accounting is core to the tracker, not a hack. The other four are separate hacks, and a tab only appears when its hack is active on your account (hacks.<name>). No fbpix hack, no Facebook tab. On the demo stand all four are on, so you see the full five.

The kitten who never wired up a single connector and then whines that "the tracker lies about ROI" is a genre classic. The tracker doesn't lie. You never told it what you pay. The tracker counts money exactly as honestly as you handed it in.

Tab 1 — Ad networks (cost connectors)

Cost connectors pull spend from the network: last/next check, "Run import", the log.

A connector is a little robot that visits the ad network's API, fetches your spend and writes the price onto each click in the tracker. From then on Reports and Sources compute ROI from real money, not from what you happen to remember.

Toolbar: Add connector · Request log.

Table columns:

Connector types (11 in Lite): facebook, tiktok, bigo, dolphin, dolphincl, fbtool, mgid, mixadvert, adpartner, luckyads, vk. The tracker builds the type list itself — if a new connector ships in the build, it shows up in the dropdown with no UI change.

"Run import" is NOT a test. The button really visits the network, pulls spend and changes click prices right now (not a "dry run"). That's why it's confirm-gated. Press it and the data moves. It's a feature — you don't have to wait for the schedule. But don't poke it out of boredom, kitten.
Editor section headings may be in English. Inside the Russian UI, the connector's block labels (Access / Schedule / Filter) sometimes arrive in the server's language — the server replies in its own locale. It's not a broken translation, that's just how the server lives. The fields under them are the same either way.

Workflow — add a cost connector, run it, inspect the log

Adding a connector is two-step — first create the row, then configure it. There's no other way: a connector has no fields until you've picked its type.

  1. Click "Add connector".
  2. Enter a name and pick a network. In the small modal enter a Name and pick a Network (type) from the list (facebook, tiktok, bigo, …). Click Create.
  3. The row is created — and the editor opens immediately for that connector.
  4. Fill the editor (top to bottom):
    • Connector help — a hint block for that specific network (which credentials it needs).
    • Status — an "active" checkbox.
    • Name.
    • Access — only the auth fields this network needs (some want a token, some a login/password, some a URL + key). We don't show fields it doesn't use.
    • Schedule — repeat (6 options: daily / hourly / every 3h / twice a day / three times a day / every 3 days) and period (5 options: today / yesterday / today+yesterday / 3 days / week), plus the Unique and Valid checkboxes.
    • Filter — Source (restrict the import to a single utm_source value) and Field (which UTM tag carries the creative/ad id — chosen from a list of tags, not typed).
    • Connector extras — network-specific settings (facebook, for example, adds a mode + proxy).
  5. Click "Save".
  6. Run the import by hand. Don't want to wait for the schedule? In the connector's row hit Run import and confirm. The robot visits the network and writes click prices now.
  7. Check the request log. To confirm the robot went through, open the Request log.
Access · Schedule · Filter · network extras. Saves on a button, not automatically.
The connector editor saves on a button, not on its own. Unlike the campaign editor (which auto-saves), this is a real settings form with an explicit Save. The row's "Active" toggle and delete, however, take effect immediately.

Connector request log

Every robot call to the network API, rows expand to request/response. Red is the network's answer, not a bug.

Opened via Request log (from the toolbar or a connector row). It's a drawer listing every call the robot made to the networks' APIs, 50 per page. Filters up top:

Each row expands — inside is the full request and response: URL, POST body, GET params, the network's reply, headers, HTTP status and timer. This is where you go when "the import didn't work" — you can see exactly what the network answered.

A red status in the log is the network's answer, not a tracker bug. 401 means "the network didn't let you in" — go check your credentials, don't write to support that "the log is red."

Tab 2 — Facebook (fbpix, Conversions API)

The Facebook pixel: Pixel + Lead field + Token required. The asterisks don't block — the server checks.

The Facebook pixel fires events to the Conversions API when a lead changes status. The tab is a table of pixels plus a settings modal.

Table columns: Name · Active · Pixel · Lead field · New · Domain.

Modal fields (13):

The minimum to save at all: Pixel + Lead field + Access token.

Tab 3 — TikTok (ttpix)

Almost a carbon copy of Facebook — same idea, same field set, with exactly two differences:

So the modal has 11 fields instead of 13. Everything else — Name, Lead field, Value, New/Hold/Approve, Domain, Proxy, Goals, Access token — is identical to Facebook. The required minimum is the same in spirit: Pixel + Lead field + Access token.

Facebook and TikTok are code twins. Learn to set up one and you'll configure the other with your eyes shut. The difference is exactly two things, both above.

Tab 4 — Google (gclid, offline conversions)

This isn't a "live" pixel but a builder of an offline-conversions document per campaign — the doc Google pulls conversions from by gclid. So Google has no "Active" toggle (there's nothing to switch — the doc either exists or not) and the record is addressed differently under the hood (doc, not pb).

Table columns: Name · Bound tag · Domain · Countries · Progress.

Modal fields (14, under two group headers — "UTM override" and "Scope and windows"):

The required minimum: Name + Bound tag + Domain.

The reference list has an "Offers" field — but it's Pro-only and comes back empty in Lite. That's not a bug, Lite just has no offers. Don't go hunting there, there's honestly nothing.

Tab 5 — Postback 2.0 (p2b, outbound builder)

Outbound postback: events, request body, and the auth fields appear via the handshake toggle.

This is a builder of outbound postbacks/webhooks: the tracker knocks on your URL when a lead changes status. Say, "Postback to the cats' Telegram".

Table columns: Name · Active · Channel · Filter by lead field · Value.

Modal fields under three group headers:

The required minimum: Name + URL. If the channel needs POST (type 1) you'll also need body and headers.

The auth fields appear via the handshake toggle. If you can't find where to enter a token, you just haven't turned on Authorization. Flip the toggle and the six fields appear on their own. Don't call for help before you've clicked the checkbox.

Shared moves across all five tabs

The Facebook pixel: Pixel + Lead field + Token required. The asterisks don't block — the server checks.

All four pixel tabs (Facebook, TikTok, Google, Postback) work the same way — a table plus an add/edit modal. Each row has the same action set:

Workflow 1 — add a pixel (Facebook as the example)

  1. Open the Facebook tab.
  2. Click + Add (an empty list will prompt "Add your first integration").
  3. Fill the modal: Pixel (number), Lead field, Access token — that's the minimum, the rest to taste (New/Hold/Approve events, domain, goals).
  4. Click "Save" → toast "Created".
  5. The new row appears in the table.
Required fields are marked with a *, but the UI doesn't block saving — the server does the checking. Save an fbpix with no pixel and you get a toast "Pixel required" while the modal stays open. Fill it in and save again.

Workflow 2 — switch an integration on/off with the checkbox

  1. Find the row in the table.
  2. Click the toggle in the Active column.
  3. Done — the state saves immediately, no modal needed.
The edit is partial: only what's actually sent changes. So the row toggle touches only the "active" flag and nothing else — click away safely.

Good to know (the gotchas)

Coming from your old tracker

This is where everything your old tracker spread across pixels, postbacks and cost integrations lives. The Facebook/TikTok pixels and Google conversions are your S2S/pixel settings; Postback 2.0 is your outbound postback builder; "Ad networks" are the cost integrations that pull spend so ROI is counted from real money. Same wires — just labelled in familiar words, and with no separate price tag on the interface.