A Monthly Tracking Health Checklist for Your Landing Pages
A 45-minute monthly checklist for landing page tracking: pixels, UTMs, forms, calendars, conversions and reconciliation, so attribution never quietly breaks.
A landing page tracking checklist is the kind of thing teams build once, during a launch, and never run again. Then tracking breaks quietly. A developer rebuilds the application page in a new builder and the pixel doesn’t come with it. Someone duplicates an ad and the URL parameters get dropped. A calendar embed is swapped for a new one that doesn’t pass the visitor’s session. Nothing errors. Leads keep arriving. They just arrive without a source, and three months later the “unknown” bucket in your revenue report is the biggest channel you have.
CRO depends on this more than most people realize. You can’t tell whether a landing page test won if half its conversions aren’t attributed to the variant, and you can’t judge a page’s revenue if the sale doesn’t connect back to the visit. This post is a monthly tracking health checklist for landing pages: what to check, in what order, how long each check takes, and what a failure usually means. Plan on about 45 minutes a month once it’s routine.
Why monthly, and why landing pages
Tracking decays at the rate your marketing changes. If you launch new pages, ads or funnels every few weeks, something will break every few weeks. Monthly is frequent enough to catch problems before they distort a quarter’s decisions and infrequent enough that people actually do it.
Landing pages are the right focus because they’re where tracking begins. Everything downstream (lead source, booked call attribution, revenue by campaign, conversion events to ad platforms) depends on the visit being recorded correctly at the first page. A break there cascades through every report.
Before you start: keep a page inventory
You can’t audit pages you don’t know exist. Keep a simple sheet listing every page that receives traffic:
| URL | Funnel | Traffic sources | Builder | Has form/calendar? | Last checked |
|---|---|---|---|---|---|
| yoursite.com/apply | Application | Meta, Google, email | Webflow | Typeform + Calendly | Oct 2 |
| watch.yoursite.com | VSL | Meta | ClickFunnels | Calendar embed | Oct 2 |
| yoursite.com/webinar | Webinar | Meta, YouTube | WordPress | Native form | Oct 2 |
Update it whenever a page goes live. The most common failure of all is a page that’s getting ad traffic and isn’t on anyone’s list.
Check 1: Pixel coverage on every ad landing page (10 minutes)
Pull the list of destination URLs from every active ad in Meta and Google Ads, not from your inventory. Ads point at pages people forget about. For each URL:
- The tracking pixel loads (check with your browser’s developer tools or a tag assistant)
- It fires a page view
- It’s the right pixel for this account, not an old one or a client’s
What failures usually mean: a page was rebuilt or duplicated without the tracking script, a builder’s “custom code” field was cleared, or a cookie consent tool is blocking the script entirely.
Doing this by hand across dozens of ads is tedious, which is why it’s worth automating. In Callix, Setup Health flags Meta and Google Ads landing pages that are missing the Callix pixel, and you can ask Callix AI whether the pixel is on all of them. That turns check 1 from a manual crawl into reviewing a list.
Check 2: UTMs and click IDs survive to the page (5 minutes)
Click through two or three live ads per platform (or use the ad preview link) and confirm on the landing page URL:
- UTM parameters are present and follow your naming convention
- Meta ads include the ad ID parameter, so leads are placed by ID rather than by name
- Google auto-tagging is adding a click ID
- No redirect strips the parameters on the way
Meta’s dynamic URL parameters are the safest way to tag ads, for example ad_id={{ad.id}}, because names change and IDs don’t. If an ad’s parameters contain a campaign or ad name typed in as plain text, it will keep sending the old name after a rename. Callix’s Setup Health warns when active Meta ads have no ad ID in their URL parameters, and the “Check UTMs on all my ads” option under Settings → Meta Ads names each ad that’s missing it. Our UTM setup guide has a full convention.
Check 3: The session survives the funnel (10 minutes)
This is the end-to-end test, and the one that catches the most expensive problems. For each funnel, once a month:
- Click a tagged link (use a test UTM like
utm_campaign=tracking-test). - Move through every page, including domain and subdomain hops.
- Submit the form or application with a test email.
- Book a call on the calendar.
- Check your attribution tool: is there one contact, with the test campaign, the right landing page, and the booking attached?
Failures usually mean the session didn’t cross a subdomain, a third-party form or calendar didn’t receive the visitor’s session, or the form created a contact without the tracking data. If you have several funnels, an automated test helps. Callix AI can test a funnel on request: it opens the page in a real browser, fills the form, follows the funnel and checks what reached Callix, including the session, UTMs, lead creation and whether a conversion rule would fire.
Delete or tag your test contacts afterward so they don’t pollute reports.
Check 4: Forms and calendars pass tracking data (5 minutes)
Even when the session survives, embedded tools can lose it. For each form or calendar on your pages:
- Hidden fields for session or click IDs are present and populated (open a recent submission and look)
- Calendar bookings from the last month carry a source, not just a name and email
- Any newly swapped embed has been reconnected
Quick test: pick ten bookings from the last month at random. How many have a campaign attached? If it’s noticeably fewer than your ad-driven share of traffic, something is dropping.
Check 5: Conversion events are firing and being accepted (5 minutes)
Landing page tracking feeds the conversion events you send back to ad platforms. Check:
- Meta Events Manager: events arriving at expected volume, match quality reasonable, no new diagnostics warnings
- Google Ads: offline or enhanced conversions arriving, and the actions you send are counted in the Conversions column
- Your own event logs: any spike in skipped or failed events
A sudden drop in event volume with steady lead volume nearly always means a tracking break upstream, usually on a landing page. If you’re working on Google matching, see offline conversions for Google Ads.
Check 6: Reconcile the unattributed share (5 minutes)
The best single health metric for tracking is the share of leads, calls and revenue with no source. Pull last month’s numbers:
| Metric | This month | Last month | 3-month average |
|---|---|---|---|
| Leads with no source | 6% | 5% | 5% |
| Booked calls with no source | 9% | 7% | 7% |
| Revenue with no source | 18% | 8% | 9% |
In this illustrative example, leads and calls are stable but unattributed revenue more than doubled. That points to the sale side, not the landing pages: a new payment processor or checkout that isn’t matched to contacts. Without this table, you’d see revenue from paid campaigns drop and probably blame the ads.
Some “no source” is normal: referrals, word of mouth, people who type your URL. What matters is the trend. A jump of more than a few points month over month almost always traces back to a specific change you can find.
Check 7: Review your health alerts (5 minutes)
If your tools surface tracking warnings, actually read them monthly, and clear or fix each one. In Callix, Setup Health gives the account a score out of 100 and lists open issues worst first, and while a critical issue is open, owners and admins see a short list of what needs fixing when they open Callix. Warnings that genuinely don’t apply can be hidden for the account so they stop counting toward the score; critical issues can’t be hidden.
The goal isn’t a perfect score for its own sake. It’s that every open warning is either being fixed or has been consciously accepted.
Extra checks after a big change
The monthly run assumes a normal month. Some events justify running the full checklist immediately, without waiting for the first of the month:
- A site redesign, a migration to a new page builder, or a new domain
- A new form, quiz or calendar tool replacing an old one
- A new payment processor or checkout
- Restructuring campaigns or renaming ads in bulk
- Changes to your cookie consent banner or privacy settings
Each of these touches the exact places where tracking lives. Running checks 1 to 4 the same day the change ships costs half an hour; finding the break six weeks later costs you six weeks of unattributed leads.
When something fails: triage order
Not all breaks are equal. Fix in this order:
- Pixel missing on a page with active ad spend. Every hour costs you attributed conversions.
- Conversion events not reaching ad platforms. Your campaigns are optimizing blind.
- Session lost in a funnel step. Leads arrive without source.
- Payments not matching to contacts. Revenue reporting is wrong.
- UTM naming inconsistencies. Annoying, fixable in reporting, lowest urgency.
Log each issue with the date found, cause and fix. After a few months, the log tells you where your process breaks most (often: new pages launched without a tracking step), so you can fix the process, not just the symptom.
Make it a calendar habit
Put a recurring 45-minute block on the first working day of each month. Assign one owner. Use the same checklist every time, and keep the results in one place. The month you skip it is the month something breaks, and you’ll find out in a budget review when it’s too late to recover the data. For a deeper one-off audit, how to audit your analytics setup for gaps and double counting covers the bigger version.
