Agency & Service Business Marketing

An Agency Onboarding Checklist for Client Tracking and Attribution

A step-by-step agency onboarding checklist for client tracking: access, pixels, UTMs, CRM, payments and conversion events, so attribution works before you spend.


An agency client onboarding checklist for tracking and attribution is the least glamorous document an agency owns, and the one that saves the most client relationships. Almost every agency that has lost a client over “the numbers don’t match” can trace the problem back to the first two weeks: a pixel missing from one landing page, UTMs that didn’t follow the naming convention, a payment processor nobody connected, a CRM stage that never fired an event. By month three, the client’s Stripe says one thing, your report says another, and you’re defending your work with numbers neither side trusts.

The fix is to treat tracking as part of onboarding, not something you tidy up after launch. No ad spend until the checklist is green. This post is the checklist we’d use for a client that sells on calls (coaching, consulting, info products, B2B services), organized in the order you should actually do it, with the checks that catch the usual failures.

Before kickoff: set expectations about data

Most attribution disputes are expectation problems. In the kickoff call, cover three things:

  1. What will be measured, and how. “We’ll report leads, booked calls, shows, sales and revenue by campaign, with revenue from your payment processor, not from Meta.”
  2. Why numbers will differ between tools. Meta, Google, the CRM and Stripe will never match exactly. Explain attribution windows and modeled conversions up front, not in month three. Why your attribution data doesn’t match your ad platform’s is a good primer to send.
  3. What you need from them. Access, a point of contact for their CRM, and a commitment that reps will mark call outcomes.

Put the definitions in writing. A one-page “how we count” doc prevents a surprising number of arguments.

Week 1: access

You can’t audit what you can’t see. Get admin or appropriate access to:

  • Meta Business Manager, ad accounts, pixel and Events Manager
  • Google Ads account(s) and conversion actions
  • Other ad platforms in use (TikTok, LinkedIn, YouTube)
  • Website and landing page builders (WordPress, ClickFunnels, GHL, Webflow, etc.)
  • Form and application tools (Typeform, native forms)
  • Scheduling tool (Calendly, GHL calendars, iClosed, etc.)
  • CRM (Close, GHL, HubSpot, Salesforce)
  • Payment processors (Stripe, Whop, Kajabi, etc.), including every account if they have more than one
  • Call recording or notetaker tool
  • Domain DNS, if you’ll need a custom tracking domain

Ask specifically about every payment processor and every ad account. Clients routinely forget the second Stripe account used for a legacy offer, or the old ad account still spending on retargeting.

Week 1: map the funnel

Before touching tracking, draw the client’s funnel end to end, with every URL:

  • Every landing page and domain where ad traffic lands
  • Every form, application and opt-in
  • Every booking calendar, and whether each is for setters, closers or non-sales calls
  • Every checkout or payment link
  • Every thank-you and confirmation page
  • Any subdomain or domain hops along the way

This map becomes your test plan. Clients often have three or four old funnels still live and getting traffic from forgotten ads.

Week 1–2: tracking on the site

  • Install the tracking pixel on every page in the map, including subdomains and third-party page builders. Missing it on one landing page is the most common failure.
  • Confirm the session survives domain and subdomain hops. Click a test ad link, go through the funnel, check the lead carries the source.
  • Pass the session into forms and calendars that create records in other tools (hidden fields, URL parameters, native integrations).
  • Set up server-side events for leads, bookings and purchases, so browser blockers don’t eat conversions. See server-side tracking explained.
  • Check consent banners don’t block the pixel entirely in regions where they shouldn’t.

Week 1–2: UTMs and ad naming

  • Agree a UTM convention with the client and document it.
  • Add UTM parameters at the ad level in Meta, including the ad ID, so leads are placed by ID rather than by name, and renames don’t break reporting.
  • Confirm Google auto-tagging is on.
  • Audit existing active ads for missing or inconsistent parameters, including old campaigns still running.
  • Tag non-ad sources the client controls: email, YouTube descriptions, podcast links, bio links.

Our UTM setup guide has a convention you can adopt as-is.

Week 2: CRM and call outcomes

Attribution for call-based businesses only works if the call outcome gets recorded.

  • Map calendar bookings to events, separately for setter, closer and non-sales calendars.
  • Map CRM pipeline stages to events (booked, showed, no-show, qualified, closed, lost).
  • Map CRM users to reps, so dials and calls count for the right person.
  • Decide how call outcomes get set: by reps in the CRM, by call analysis, or both.
  • Connect the notetaker or call recording tool if you’ll analyze calls.
  • Agree with the sales manager that reps mark outcomes within a set time after each call.

Week 2: payments

  • Connect every payment processor and every account.
  • Check payments match to contacts. Payer email often differs from lead email, so match on phone or name as a fallback.
  • Decide how instalments, refunds and financing are treated in revenue reporting.
  • Import historical sales if the client wants a baseline.
  • Check currency, if the client sells in more than one.

Unmatched sales are the silent killer of agency reporting. If 30% of payments aren’t linked to a contact, 30% of revenue shows up as unattributed and your campaigns look worse than they are.

Week 2: conversion events back to ad platforms

  • Decide which events to send: lead, booked call, qualified call, sale.
  • Choose which one each campaign optimizes for.
  • Send values where you can.
  • Send hashed email and phone along with click IDs to improve match rates.
  • For Google, confirm the conversion actions you send are counted in the Conversions column, not only All conv.
  • Verify events are arriving and accepted in each platform.

How to pass CRM data back to your ad platforms covers the trade-offs in choosing which events to send.

Week 2–3: test everything end to end

Run a full test as a fake prospect through every funnel on the map:

  1. Click a real ad link (or a tagged test link) on desktop and on mobile.
  2. Submit the form or application.
  3. Book a call on each calendar.
  4. Have a rep mark the call outcome.
  5. Make a small test payment and refund it.
  6. Check every step landed on one contact with the right source, campaign and ad, and that conversion events fired.

Document the results. When the client later asks “are you sure the tracking works?”, you have the receipts.

Use a health check instead of memory

The checklist gets you to launch. Keeping it green is the hard part, because tracking decays: a client’s developer rebuilds a page without the pixel, someone renames campaigns, a payment processor gets disconnected.

This is where an automated setup check earns its keep. In Callix, Setup Health scores an account out of 100 and lists every open issue, worst first: landing pages from Meta and Google Ads missing the pixel, Meta ads with no ad ID in their URL parameters, sales not matched to a contact, conversion actions selected with no event sending to them, ad accounts Meta won’t let Callix read. Clicking Fix on an issue opens Callix AI with the context to walk you through it. While a critical issue is open, owners and admins see a short list of what needs fixing when they open Callix (at most every other day), so a broken integration doesn’t sit unnoticed for weeks.

For agencies, the useful habit is to make the health score part of the onboarding sign-off: don’t launch spend until the client’s account has no critical issues, and review warnings in your weekly account check. Warnings that genuinely don’t apply to a client can be hidden for that account so they stop dragging the score down; critical issues can’t be hidden.

After launch: the first 30 days

  • Week 1: daily check that leads, bookings and payments are flowing and attributed.
  • Week 2: reconcile sales in the payment processor against attributed sales. Chase every gap.
  • Week 3: review conversion event acceptance in each ad platform.
  • Week 4: first full report with the client, walking through definitions again.

Red flags that should delay launch

Some findings during onboarding are serious enough to push back the start date. Agree with the client up front that these block spend:

  • Payments can’t be connected, or the client won’t give access to their processor. Without revenue data, you’ll be judged on leads and the client will judge you on sales.
  • Reps won’t record call outcomes. If nobody marks shows and closes, you can’t optimize past the booked call.
  • The funnel has untracked steps you can’t fix, such as a third-party checkout that won’t accept hidden fields or URL parameters.
  • Ad accounts are shared with another agency still making changes.

Pushing a launch by a week is an awkward conversation. Explaining three months later why your reports can’t show revenue is a worse one.

Standardize it across clients

The final step is making this repeatable. Turn the checklist into a template your team runs for every client, assign an owner per section, and use the same dashboard layout for every account so you’re comparing like with like. In Callix, agencies can save a dashboard view as a template and start a new view from it in any client account, and an agency API key can cover all client accounts or only chosen ones.

A consistent onboarding is also a sales asset. Prospects who’ve been burned by another agency’s reporting want to hear exactly how you’ll measure results. Walking them through this checklist on the sales call does more than any case study.

Book a demo