Client Onboarding

Wiring a new client into the tracker

Fourteen steps, in order, from "client says yes" to "their leads and conversions show up correctly." Every field in the Admin Console's New Client form is tied to a step here — do the steps in order and the form fills itself in.

Time30–45 min per client
You'll needAdmin console + client's Google Ads & Meta access
OptionalCallRail, GoHighLevel (steps 10, 12)
01

Get the exact thank-you / confirmation URL

Ask the client (or whoever built their site) for the literal URL their form redirects to after a real submission — not "somewhere on the contact page," the actual path. If nobody can tell you, submit a real test lead on their live site yourself and copy whatever URL you land on.

More than one form with different thank-you pages (e.g. a separate booking widget)? You'll comma-separate all of them in step 7.

Don't guess

Never fall back to a generic default like /thank-you/. If the client's real page is /booking-confirmed/ or carries a query string, a wrong guess here silently breaks every conversion for this client — with no error anywhere telling you it's wrong.

02

Create the "Form Submission" conversion action

Google Ads›Goals›Conversions›All conversions›+ New conversion action›Website
SettingValue
CategorySubmit lead form
ValueDon't use a value
CountOne
Click-through window30–90 days (90 gives more room for slower trades like remodeling)
Attribution modelData-driven (Google's own recommendation)
Enhanced ConversionsOn

The name you give it doesn't matter to us — our system reads the Conversion ID and Label, never the name. Call it whatever you'll recognize later, e.g. Form Submission.

Why Enhanced Conversions is worth turning on

Our script already sends the lead's email and phone number along with every conversion event — Enhanced Conversions is free accuracy once you flip this one switch, no extra work.

03

Grab the Conversion ID and Label

Open the conversion action you just created, find its tag/data-source panel, and click See event snippet. You'll see something shaped like this:

<script>
  gtag('event', 'conversion', {'send_to': 'AW-XXXXXXXXX/XXXXXXXXXXXXXXXXXXXX'});
</script>

You are not installing this snippet anywhere — our own script fires this event itself. Just split the send_to value at the slash: everything before it is the Conversion ID (AW-XXXXXXXXX), everything after is the Conversion Label. Both go into the client record in step 7.

04

Create the "Qualified Phone Call" conversion action

if client takes calls
Google Ads›Goals›Conversions›+ New conversion action›Import›CallRail

Category Import, Primary action, Count One. There's nothing to import yet if CallRail isn't connected — create the action now, leave it empty, and come back to it after step 10.

05

Get the Meta Pixel ID

if client runs Meta ads
Meta Business Suite›Events Manager›Data Sources›Pixels

If the client already runs Meta ads, they almost certainly already have a pixel — copy its ID, a 15–16 digit number. If not, Connect Data Sources → Web and create one named after the client.

06

Grab the quick-access links

optional

While you're already sitting inside the client's Google Ads account and Meta Ads Manager, copy the URL straight out of your browser's address bar for each. These go in the two optional link fields in step 7, and save whoever's on this account later from hunting through account switchers.

07

Create the client record

In the Admin Console, click + New Client. Every field maps to a step you've already done:

FieldWhere it came from
Client IDa slug you make up — lowercase, hyphenated, e.g. coradi-contracting
Client Namethe client's real name
Thank You / Confirmation Page URL(s)Step 1
Google Conversion IDStep 3
Google Conversion LabelStep 3
Meta Pixel IDStep 5
Google Ads Direct LinkStep 6
Meta Ads Manager Direct LinkStep 6

Click Create Client — this immediately opens the Client Setup Details modal with the finished script tag and a ready-to-send dashboard link (step 14 uses the second one).

08

Install the script tag on their site

Paste the block from the modal at the very end of <body>, on every page — not just the homepage:

<script src="https://reports.vatikcreative.com/v1/tag.js"
        defer
        data-client="CLIENT_SLUG"
        data-api-key="THEIR_COLLECTOR_KEY"
        data-thank-you-paths="/thank-you/"
        data-google-conversion-id="AW-XXXXXXXXX"
        data-google-conversion-label="XXXXXXXXXXXXXXXXXXXX"
        data-meta-pixel-id="XXXXXXXXXXXXXXX"
        data-endpoint="https://reports.vatikcreative.com/v1/log">
</script>

No direct code access? Use a header/footer code plugin (Header Footer Code Manager, WPCode) set to load on every page, or — the one case GTM is actually fine here since it's carrying our whole script, not replacing it — a single Custom HTML tag with an "All Pages" trigger.

Verify immediately

Open the live site, open the browser console, and type window.VatikTracker. An object means it's live; undefined means the tag isn't loading.

09

Name campaigns so the dashboard shows real names, not numbers

Google's auto-tagging only ever appends a gclid — it never adds a campaign name, and there is no ValueTrack macro that inserts the real name (only {campaignid}, the numeric ID). Left alone, every campaign shows up in the dashboard as a raw number. Set this once, at the account level, and it covers every campaign forever — including ones that don't exist yet:

Tools & Settings›Setup›Account settings›Tracking Template
utm_source=google&utm_medium=cpc
&utm_campaign={campaignid}
&utm_content={adgroupid}

A new campaign shows up in the dashboard as a numeric ID the first time it gets a lead — spend the ~10 seconds renaming it once in the By Campaign table ("rename"/"name it" next to the row) and it's fixed for that campaign forever, retroactively.

The one thing that will break this

Never put anything except {campaignid} (or {adgroupid}, {keyword}, etc.) in the campaign slot — there's no macro for the real campaign name. Reaching for one that looks close, like {creative}, gives a distinct value per ad instead of per campaign, and the By Campaign table turns into noise.

Don't also set one per campaign

A campaign's own Final URL suffix doesn't combine with the account-level one above — whichever is more specific completely overrides the other for that campaign. Setting both just means the campaign-level one silently wins and the account-level default never applies there. One setting, one place, done.

10

Connect CallRail to this Google Ads account

if client takes calls
CallRail›Integrations›Google Ads›Connect

Sign in with the same Google login that manages this client's ads, select the right account, and map CallRail's qualified-call event to the "Qualified Phone Call" conversion action from step 4. Once connected, go back to that conversion action in Google Ads and confirm it shows a working tag status.

11

Set Meta's URL parameters

if client runs Meta ads
Meta Ads Manager›Account or campaign level›URL Parameters
utm_source=facebook&utm_medium=paid-social
&utm_campaign={{campaign.name}}
&utm_content={{ad.name}}&utm_term={{adset.name}}
Easy to skip, easy to notice when you did

Meta doesn't auto-tag anything the way Google does. Skip this step and every Meta lead shows up as organic/unknown in the dashboard instead of under Meta Ads.

12

If the client is on GoHighLevel

conditional

Confirm their forms have hidden fields named gclid, utm_source, utm_medium, utm_campaign, utm_content, utm_term. Our script fills these automatically on page load — GHL's own attribution reporting then picks them up naturally on submit, no further setup needed.

13

Prove it end to end before you call it done

Submit one real test lead through the client's actual live form, then check:

  • It shows up in Recent Leads within a few seconds, with the correct platform pill
  • The Google Tracking column shows a green checkmark, not "none"
  • The dashboard's health banner reads "Conversion tracking healthy"
  • The campaign it came from shows a real name, not a number — if step 9 is done for that campaign
14

Hand the client their own dashboard

Admin Console›this client›View Script Tag›Client Lead Dashboard›Copy Link + Key

Paste that straight into whatever message you send the client. There's no account for them to create — they paste the key once and bookmark the page.

Troubleshooting quick reference

SymptomLikely causeFix
Lead shows source "unknown"No gclid/UTM in the URL at the moment of submission (e.g. an old bookmark, a share link with params stripped)Check the Recent Page Visits table — if a gclid/UTM showed up on any page earlier in that session, our backfill should still catch it
Google Tracking shows ✗ on real ad clicksEnhanced Conversions off, or a mismatched Conversion ID/LabelRe-check step 3's values character-for-character
Campaign shows a numberStep 9 wasn't done for that campaign, or was done after this lead already came inRename it once in the By Campaign table — applies retroactively
Client dashboard says "Invalid API key"They were given the collector_key (public/write) by mistake instead of the api_key (private/dashboard)Re-copy from the Client Setup Details modal — the second box, specifically