Marketing
Ads funnel
Follow the people your ads send to your own landing page, through the opt-in and onto the confirmation page, and see where they leave, by ad and campaign.
The Ads funnel answers the questions a paid funnel lives on: how many people are on the landing page, how many clicked the opt-in, how many left at the opt-in, how many reached the confirmation page, and how many stayed there or left. It works on your own pages, wherever they are hosted, with a Tally, Typeform or HTML form as the opt-in.
Who can open it
Owners, admins and ops. It sits in the Marketing hub.
Setting it up
The Setup section at the bottom of the page has every line ready to copy, with your workspace already filled in.
- Paste the landing page line on your landing page, the confirmation page line on your confirmation page, and the opt-in page line on the opt-in page if it has its own page on your domain. Each is one script tag; the step it names is the only difference.
- If the confirmation shows on the same page as the form, paste the landing line and call
pylo.step("confirmation")when the confirmation appears. - Clicks on Tally, Typeform, Calendly and PYLO form links are counted as opt-in clicks by themselves. Mark any other opt-in button with
data-pylo-optin.
Tally
- In the Tally form, add a Hidden fields block with these names:
pylo_visitor_id,utm_source,utm_medium,utm_campaignandutm_content. PYLO's script fills them on every Tally link and embed on your pages. - In Tally, open Integrations, then Webhooks, and paste the webhook address from Setup.
- Turn on the signing secret there and paste PYLO's. PYLO refuses any submission that is not signed with it. An owner or admin can make a new secret at any time; the old one stops working at once.
- If the form sends people to a confirmation page on another domain, add
?pylo_visitor_id=with the hidden field inserted to the redirect address, so the same person is recognised there.
PYLO keeps only the submission's id, its time and those hidden fields. Names, emails and other answers are never stored by the tracker.
Reading the funnel
Everything counts people, not page loads, and every step after the landing page counts only people who viewed the landing page in the period, so each step is a share of the one before.
- Clicked opt-in: clicked an opt-in, opened the opt-in page, or started or submitted the form.
- Submitted the opt-in: the form was sent, seen on the page or through Tally's webhook.
- Stayed on confirmation: at least the chosen number of seconds (30 by default) of time with the page visible. Change it above the funnel.
- Left at confirmation: the page was closed or hidden sooner. Someone whose page has not reported its time yet is shown as not reported, never guessed.
A step your funnel has never sent shows a placeholder with what to set up, never a zero.
By ad and campaign
The table splits the same funnel by ad, campaign, source or content, from the UTMs on the address each person landed on. An ad is the ad_id parameter on the landing address (set it to {{ad.id}} in Meta), or a utm_content that matches one ad's id or name. Where your ad account's spend is connected, each ad shows its spend, cost per landing visitor and cost per opt-in. Spend in two currencies is never added together.
Several funnels
Add data-pylo-funnel="name" to the script lines of each funnel to keep them apart, then choose the funnel above the figures.