Is a Custom Integration Right for You?

Understand how AnyTrack tracks and forwards conversions, then decide if a custom integration is right for you and follow the end-to-end workflow.

AnyTrack is built to send your conversions to Facebook, Google, TikTok, and other ad platforms through their Conversion APIs, server-side and deduplicated. That's the part AnyTrack does exceptionally well.

But there's a prerequisite that's easy to miss: AnyTrack can only forward a conversion that has already landed in AnyTrack and been matched to a click. The forwarding is the last step, not the first.

How AnyTrack actually works

Before you can send anything to an ad platform, the conversion has to travel through this chain. Every link has to hold.

  1. A visitor lands on your page from an ad. The AnyTrack Tracking Tag captures the click ID (atclid) and the UTM parameters, and stores them as first-party data for that session. No Tag on the page means no click ID, and nothing downstream can be attributed.

  2. The visitor engages, for example submits a form. Form tracking ties that action to the session, so the click ID rides along with the lead instead of being left behind.

  3. A conversion happens, often later and server-side in your CRM. A purchase, a deal won, a lifecycle stage. For AnyTrack to use it, that CRM event has to carry the original click ID back, so AnyTrack can match it to the session from step 1.

  4. AnyTrack matches the conversion to the click, then forwards it to your ad platforms via the Conversion API.

The native integrations in the Integration Catalog wire this whole chain for you. You connect in a few clicks and it just works.

If your platform is not in the catalog, the chain still has to hold, but now you are the one wiring it. AnyTrack gives you the tools for each link. You have to understand them and put them together yourself.

🚧

Limited

We currently do not offer setup support for custom integrations not listed in the Integration Catalog. Any guidance provided in our documentation for such integrations is to be used at your own risk and may no longer be updated or maintained.

If you can read API docs and wire up a webhook, this is well within reach. The door is open. This page just helps you decide before you start, so you either finish confident that you can build this, or clear that it's not the right path for you. Either outcome saves you time.

Is this you?

Custom integrations are built for self-directed builders. The work is real, so the bar is real. Here's how to measure yourself against it, in plain terms.

You can do this yourself if you can:

  • Install the Tracking Tag on your site, directly or through Google Tag Manager.
  • Capture a value from the browser (the click ID) and store it against a customer or cart record.
  • Configure a webhook or postback inside your platform, or bridge it with a no-code tool like Zapier or Make.
  • Read your platform's API or webhook docs and map fields to AnyTrack event attributes yourself.
  • Own the result, including testing and debugging it without hands-on help from AnyTrack.

If most of that sounds routine, you're a good fit. The workflow below gives you everything you need.

This is probably not a fit if you:

  • Expected AnyTrack's standard no-code, few-clicks setup. That's the native integrations, not this.
  • Cannot install the Tag, capture the click ID, or configure a webhook, and don't have someone who can.
  • Need AnyTrack support to build it or debug it for you. Our team is not trained to support custom integrations.
  • Are on a platform that's not in the Integration Catalog and need AnyTrack to set it up or troubleshoot it for you.

If that's you, that's completely fine, and knowing it now is the win. Your best move is to pick a platform that's already in the Integration Catalog, or hand this article to a developer or technical resource who can build it for you. Don't try to push through a DIY build that isn't your skill set. That's how people end up stuck.

Still here and ready to build? Keep going.

The end-to-end workflow

This builds the chain above with your own platform in the middle, ending with a Purchase forwarded to Facebook through the Conversion API. Each step links to the detailed guide.

Realistically, budget a couple of hours plus a live test purchase. This isn't the few-clicks native flow.

  1. Install the AnyTrack Tracking Tag on your site. When a visitor lands from an ad, the Tag generates the Click ID (atclid). This is the reference that ties every later conversion back to the original click. See Custom Conversion Source.

  2. Capture the Click ID. Two documented paths:

    • Standard: pass the Click ID into your platform during the web event, using the AutoTag token --CLICK-ID-- in a form field or link parameter, or read it with AnyTrack('atclid').
    • Alias with refId: if your platform can't store a custom parameter, fire a client-side event and pass your own ID (a cart, lead, or user ID) as refId. AnyTrack then aliases the Click ID to that value. See Click ID Usage and External ID as Click ID.
  3. Persist the identifier against the customer or cart record inside your platform, so it survives all the way to purchase.

  4. Create the Custom Integration in AnyTrack. In the Integration Catalog, add a new integration, select Custom Integration, install, and save. AnyTrack issues you a webhook (server-to-server postback) URL. See Custom Integrations.

  5. Configure your platform to POST the conversion to that URL on purchase. Include event_name=Purchase, the captured atclid (or matching refId), plus value, currency, items, and any matching parameters you have (email, phone, and so on). If your platform's payload can't be shaped to fit, use a Zapier or Make catch-hook to receive its webhook and re-POST it in AnyTrack's format. The full CRM-to-Facebook walkthrough is in Standard CRM Integrations.

  6. Map the fields to AnyTrack event attributes, then enable Facebook. Once the conversion is resolved in AnyTrack, enabling the Facebook integration forwards it to Meta via the Conversion API. See Event Attributes and Event Mapping.

  7. Test with a real purchase. Trigger a live conversion and open the Events Log of your Custom Integration. A successful event means the chain held. A "Missing click_id" or "No match(es) found" error means the atclid or refId didn't make it through. Go back to steps 2 and 5.

📘

Note

Don't pre-hash matching parameters like email or phone. AnyTrack automatically formats and hashes them before sending to Facebook. Pre-hashing breaks the match.

Custom Integration FAQ

FAQ was last reviewed on 2026-05-30

No. Custom integrations for platforms not in the Integration Catalog are DIY and unsupported. Our support team is not trained to build or debug them, so any guidance in our docs is used at your own risk. If you need a built-and-supported setup, choose a platform that's already in the Integration Catalog.
Then a custom integration probably isn't the right path. Your two best options are to use a platform that has a native AnyTrack integration (no code required), or to use a no-code bridge like Zapier or Make to catch your platform's webhook and re-send it to AnyTrack. If neither works, hand this article to a developer who can build it.
Because AnyTrack forwards conversions to ad platforms, it does not originate them. It can only send a conversion it has received and matched to a click. If the Click ID never reaches AnyTrack, there is nothing to forward, and nothing to attribute.
During the web event, AnyTrack generates the Click ID (atclid) and substitutes the AutoTag token --CLICK-ID-- in your links and forms. Capture that value and store it on the customer or cart record so it's still there at purchase. If your platform can't store a custom field, pass your own ID as refId instead and AnyTrack will alias it to the Click ID. See External ID as Click ID.
An Unknown or unmatched conversion almost always means the Click ID never reached AnyTrack. Check that atclid (or your matching refId) was captured at the web event and included in the webhook payload at purchase. Errors like 'No match(es) found' or 'Missing click_id' in the Events Log point to the same cause.