Google Ads conversion tracking for web design and development agencies
An agency sells two things with very different economics — a one-off project and an ongoing retainer — and the second is what makes an agency a business. What Google Ads adds on top of that is a mechanical requirement: gclid, gbraid and wbraid have to reach the record that holds the money, because Google Ads can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in web design and development agencies, and what Google Ads specifically needs to accept it.
Free30 minutesNo obligation
Specific to Google Ads × Web and dev agencies
Google Ads for web agencies: filter job seekers before bidding
On Google Ads, a web design agency should import signed contracts as an offline conversion against the gclid, gbraid or wbraid stored on the CRM deal, at contract value, with projects and retainers as separate actions. Make the qualified enquiry or discovery call the primary bidding action and keep raw contact forms out entirely.
Google search is where agency buyers state what they need: a Shopify build, a WordPress redesign, a web design agency in a named city. It is also where searches for web design jobs, courses and free website builders come from, and broad match will find all three. Add them as negatives early, and keep careers and freelancer-application forms on paths that fire no conversion, or Smart Bidding learns to buy job seekers cheaply.
Use separate actions for the qualified enquiry, the discovery call held, the signed project and the signed retainer, each counting one per click. Bid on the discovery call while volume is low; most agencies sign too few contracts a month for Smart Bidding to learn from contracts alone. Pass actual project value on the signed project and monthly fee times expected term on the retainer, so value-based bidding can tell a brochure site from a platform build.
Small sites often sign within a few weeks, comfortably inside the 90-day import window. Platform builds and procurement-heavy clients can take longer, so those contracts may arrive too late to import and have to be reported from the CRM instead.
Google Ads · Web and dev agencies · what breaks
Why Google Ads under-reports for web design and development agencies
- 01
Contact form submissions optimized as conversions
Heavy with job seekers, vendors and unqualified enquiries.
- 02
Projects and retainers averaged
One is a transaction, the other is recurring revenue.
- 03
Project values spanning an order of magnitude
A brochure site and a platform build are the same conversion unless the value says otherwise.
- 04
Gclid, gbraid and wbraid never reaches the record
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
Google Ads · Web and dev agencies · the fix
What working looks like — Google Ads · Web and dev agencies
Signed contracts as the money event
At actual contract value, split project and retainer.
Retainers valued over their expected term
Monthly fee times average retainer length.
Unqualified enquiries filtered
Before they reach a bidding algorithm.
Google Ads · Web and dev agencies · architecture
How Google Ads and web design and development agencies actually connect
- 1
The conversion in web design and development agencies
Two money events kept apart: a project at its contract value, and a retainer at monthly fee times expected term. Blending them makes recurring revenue — the thing that stabilises an agency — invisible to bidding.
- 2
Google Ads needs a click to match
A click identifier inside the 90-day window, a conversion action name that matches one configured in the account, a conversion timestamp for when the outcome happened, and a value. Read the match rate after uploading — a file can upload perfectly and match nothing.
- 3
The identifier: gclid, gbraid and wbraid
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
- 4
Where it gets sent from
The CRM — contracts signed by date, at contract value, split project and retainer, for the same window.
- 5
Deduplication and window
There's no shared event ID mechanism like Meta's. What matters instead is the counting setting on each conversion action — 'one' for lead-type conversions so a repeat submitter doesn't count three times, 'every' for ecommerce where a second purchase is a second sale. This is the single most common misconfiguration we find in Google Ads accounts. Google's offline import window is 90 days from the click. Anything older can't be matched, and rows outside it fail as unmatched without much explanation. Measure your median click-to-outcome time against that before designing anything.
Google Ads · Web and dev agencies · events
The conversion map for web design and development agencies
Five steps through a consultative B2B sale.
| Event | What it means here |
|---|---|
| Contact form or enquiry | Volume signal with heavy contamination. |
| Qualified enquiry | Budget, timeline and scope confirmed. |
| Discovery call held | A real time commitment and a strong predictor. |
| Proposal sent | Serious, and not yet revenue. |
| Contract signed | The money event, at actual value by engagement type. |
Google Ads · Web and dev agencies · diagnose
Diagnostic order — Google Ads · Web and dev agencies
- 01
Count records carrying gclid, gbraid and wbraid
- 02
Job seekers and vendor pitches
A large share of agency inbound, and they count as conversions by default.
- 03
CRM lead conversion dropping the identifier
The standard B2B failure.
- 04
Referral-dominated pipelines
Most agencies grow on referral. Count it separately or it flatters paid.
- 05
Read the match rate on the upload, not the success message
A conversion action that stops receiving hits is flagged as inactive 30 days later — by which point a month of budget has already run against a missing signal. Check the last-received date on every action monthly; it takes two minutes and it's the cheapest monitoring available.
Google Ads · Web and dev agencies · prove
How it gets proven — Google Ads · Web and dev agencies
Source of truth
The CRM — contracts signed by date, at contract value, split project and retainer, for the same window
- Signed contracts reconciled per contract against what each platform reports.
- A test lead converted end to end with the identifier on the resulting opportunity.
- Actual contract values confirmed on conversions rather than averages.
- Referral-sourced contracts identified and reported separately.
- The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.
Google Ads · Web and dev agencies · free audit
What we check in the free audit
- Count records carrying gclid, gbraid and wbraid
- Job seekers and vendor pitches
- CRM lead conversion dropping the identifier
- Referral-dominated pipelines
- Read the match rate on the upload, not the success message
Checked against
The CRM — contracts signed by date, at contract value, split project and retainer, for the same window
Free30 minutesNo obligation
Google Ads · Web and dev agencies · when not to buy
When you don't need this — Google Ads · Web and dev agencies
- If Google Ads already reports conversions that reconcile against the crm within a few percent, this is working and there is nothing to buy.
- Measure identifier coverage yourself first — pull your last hundred records and count how many carry gclid, gbraid and wbraid.
- If you're running Performance Max exclusively and haven't separated your conversion actions, the import will work and the reporting won't tell you much. Worth sorting the account structure first.
Google Ads · Web and dev agencies · what we deliver
What gets built — Google Ads · Web and dev agencies
Click identifier captured and persisted server-side
Across a research process involving several people over weeks.
Carried into the CRM through lead conversion
Tested with a real record.
Signed contract fires the conversion
At the actual value, with the engagement type.
Cancelled projects reversed
Especially before kickoff.
Dispatch via Google's offline conversion import
Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.
Written guarantee
95%+ tracking accuracy
Measured against The CRM — contracts signed by date, at contract value, split project and retainer, for the same window. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Google Ads · Web and dev agencies questions, answered
Yes, and they help when the enquiry comes from a different device than the click. Hash the email from the enquiry form so Google can connect it to an earlier ad click by the same person.
Because the conversion action counts any form, and those people fill forms readily. Move bidding to the qualified enquiry or discovery call and add job-related negatives; cost per lead usually rises while cost per contract falls.
No. A project is a transaction and a retainer is recurring revenue that stabilises the whole business. In a shared action the more frequent one dominates, and for most agencies that means bidding chases one-off projects while the retainer pipeline — the thing that makes the agency survivable — quietly starves.
Monthly fee multiplied by your average retainer length in months, from your own history. Sending the monthly fee makes a two-year retainer look smaller than a single small project.
Qualification in the CRM, before anything is sent. Send the qualified enquiry or the signed contract as the conversion, never the raw form submission — otherwise the algorithm learns to find people who fill in contact forms, which agencies attract in volume for reasons unrelated to buying.
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.
By reading the match rate on the upload, not the success message and reconciling against The CRM — contracts signed by date, at contract value, split project and retainer, for the same window. An upload that succeeds is not an upload that matched.
More on Google Ads · Web and dev agencies
- Web and dev agenciesConversion tracking for web agencies, measured in signed contracts
- Meta · Web and dev agenciesMeta Ads conversion tracking for web design and development agencies
- TikTok · Web and dev agenciesTikTok Ads conversion tracking for web design and development agencies
RELATED GUIDES
More for web design agencies: other angles on the same outcome
- Web and dev agenciesConversion tracking for web agencies, measured in signed contracts
- Google Ads · RecruitmentGoogle Ads conversion tracking for recruitment agencies
- Google Ads · Marketing agenciesGoogle Ads conversion tracking for marketing agencies
- Google Ads · RFP → awardHow to track RFP submission to contract award for Google Ads
- Google Ads × CRM DealsHow to reconcile Google Ads against your CRM's closed-won deals
- Elementor → Google AdsConnecting Elementor to Google Ads
- Google Ads · Executive searchGoogle Ads conversion tracking for executive search firms
- Google Ads · StaffingGoogle Ads conversion tracking for staffing agencies
Free · 30 min
Get Google Ads reporting what web design and development agencies actually earn
Free30 minutesNo obligation
