One pipeline for your own forms and for lead ads
EventsIQ Team
Most lead generation programs collect leads in more than one place. Some come from a form on your own landing page. Others come from lead ads that open inside Meta, TikTok, Google or Snapchat, where the visitor never reaches your site. A few more arrive from a call center or a tool like Zapier.
If each source has its own process, you maintain the same rules several times and compare numbers that were never counted the same way. In EventsIQ every source feeds the same pipeline, and every lead is stored, cleaned up, routed and logged the same way, whatever it came from.
The sources
All sources are created from Forms → New form, and each one can be attached to a routing setup straight away or later.
Your own website forms
You build the form in EventsIQ's form builder and embed it with one snippet:
<div id="your-form-id"></div>
<script src="https://YOUR_EVENTSIQ_HOST/embed.js" data-form-id="your-form-id"></script>The embed has no dependencies and renders inside a shadow root, so your site's CSS and the form's CSS cannot interfere with each other. The builder supports multi-step forms with conditional logic, and a honeypot field and a minimum completion time quietly drop obvious bots.
By default a published form accepts submissions from any website. Add your own domains under Who can submit this form to lock it down.
Meta lead ads
Connect your Facebook account, pick the Page and the Instant Form, and EventsIQ takes the leads as they come in, usually within seconds. If a lead notification is ever missed, EventsIQ picks the lead up a little later on its own, so a short outage does not lose leads.
TikTok lead ads
Connect TikTok, pick the advertiser account and the Instant Form, then subscribe the account to leads from Acquire → Connections. Leads usually arrive within seconds. If TikTok's notice about a lead is missed, EventsIQ still picks the lead up within about ten minutes, and a lead is never stored or sold twice.
Google Ads lead forms
Google delivers lead form leads by webhook. EventsIQ gives you a webhook URL and a key for each lead form, and you paste both into the lead form asset in Google Ads. Google cannot be asked for a lead it failed to deliver, so EventsIQ stores each lead before it answers Google, and only answers OK once the lead is safe. Anything that did not land is retried by Google.
Everything else
An inbound webhook source accepts leads from anything that can send an HTTP POST: a call center system, another form tool, or your own code. Each one gets its own private address.
One vocabulary for every source
Every source names things differently. Meta might send phone_number, a webhook might send contact.Phone, and your own form might use phone. If your routing rules had to know all of those, every rule would be written several times.
So EventsIQ translates each source into one set of fields on the way in. On a website form, each question is tied to an EventsIQ field in the builder as you create it. For a lead ad form or a webhook, you match its answers to your EventsIQ fields once: Do it for me matches everything it recognises by name, and you check and complete the rest. Each field can also have clean-up steps, such as trimming whitespace, formatting a phone number in E.164 or turning "Texas" into "TX".
From then on, a preset that says "state is TX" works the same for a lead from your landing page and from a TikTok Instant Form. A routing setup also warns you when an attached source never sends a field your rules depend on.
Store first, then route
Every lead is stored before anything else happens to it. The raw payload is kept exactly as it arrived, next to the cleaned-up version. If a destination is down, the lead is still safe. If a mapping was wrong, you can see what the source actually sent.
Open any lead in Activity → Lead Logs to see both: Normalised data (what your destinations receive) and Raw payload (what arrived).
Keeping attribution across pages
For leads from your own site, the hard part is not capturing the lead. It is keeping track of which ad produced it.
A visitor lands on https://www.acme-solar.com/solar?gclid=abc123&utm_campaign=spring, reads two more pages, and finally submits the form on https://www.acme-solar.com/apply. By then the address bar no longer contains the gclid or the UTM tags. A form that only reads the current URL loses the attribution on every funnel with more than one page.
The EventsIQ embed script handles this with first-party storage:
- It treats the URL as where values arrive, not where they live. When the page loads, it reads click ids such as
gclid,fbclidandttclid, UTM tags and the EventsIQ click id from the URL, and stores them. - It stores them on your own domain. Values go into a first-party cookie set on the widest domain your site allows, so a visitor who lands on
lp.acme-solar.comand submits onwww.acme-solar.comkeeps them. - It keeps more than one copy. Different browsers clear different kinds of storage, and some limit how long a script-written cookie lasts. Each value is also kept in local storage and session storage, so losing one copy does not lose the attribution.
- It keeps them for 90 days. A visitor who comes back next week and submits still carries the original click.
- A newer ad click replaces an older one. If a visitor came through a Meta ad last week and a Google ad today, the stored click from last week is dropped, so the lead is credited to the click that actually brought them back.
When the lead is submitted, those values travel with it. EventsIQ then joins the lead to its recorded click and fills in what the page never saw, such as the campaign, ad set, ad and network click ids.
The click only fills gaps. It never overwrites a value the lead already has, and it never replaces the lead's own IP address or browser, which describe the moment of submission.
Attribution for lead ads
Instant forms open inside the network's app, so there is no landing page and no click to record. Instead, the network includes its own campaign id with every lead. On the EventsIQ campaign you pick the matching ad campaign, and leads are joined to spend and sales that way.
That also means instant form leads have no EventsIQ click id. Their sales are reported to the network when a destination buys the lead, through the routing's events, rather than later by postback.
What you get from one pipeline
There is one place to look. Every lead from every source shows up in the same Lead Logs, with the same normalised fields, raw payload and waterfall history. Routing rules are written once, and reports compare sources that were counted the same way. You still choose the best format for each channel, but what happens after the lead arrives does not depend on that choice.