Skip to content
Agency Pilot

Attribution

Know which leads made money

Put one script on the client's site. Every lead that comes in carries the channel, campaign, keyword and click that produced it. Record the jobs it turned into and Agency Pilot shows revenue and return on ad spend per client — then sends those sales back to Google Ads and Meta so they bid for customers, not form fills.

A lead sources table with leads, qualified, booked, booking rate, revenue and average job for Google Ads calls, forms, Business Profile calls, website chat and more
Leads, bookings and revenue by source for one client.

Every lead tagged

Eleven channels, first and last touch, UTMs, click IDs, keyword, match type, campaign, ad group and landing page.

The visit behind the lead

Device, place, network, pages, time on site and the full visit timeline, for every website lead.

Sales on the lead

Record sales, repeat work and refunds; customers are matched by phone and email across leads.

ROAS and lifetime value

Revenue credited to ad leads against ad spend, new-customer ROAS and lifetime value per customer.

Sold jobs back to the ad platforms

Sales go to Google Ads as offline conversions and to Meta as Purchase events, retried automatically.

Clients can record sales

Clients update lead status and record a sale from their portal or the LeadPulse app.

One tag, every form

The tracking script is one line in the site's head, or a Custom HTML tag in Tag Manager. It remembers how each visitor first arrived (for 90 days) and the last paid or organic touch, and when they submit a form it fills hidden fields, captures the lead with its source, and merges repeat submissions within 30 minutes into the first one.

It works with the forms clients already have: any form with an email or phone field is captured, GoHighLevel and LeadConnector forms are tagged inside their iframes, and custom code can send a lead with one function call. Password forms and anything marked to ignore are skipped.

  • Click IDs: gclid, gbraid, wbraid, dclid, fbclid, msclkid, ttclid and li_fat_id
  • Ad parameters: keyword, match type, campaign, ad group, ad and placement
  • Hidden fields for the client's own CRM: add fields named gclid, utm_source, keyword and so on, and they fill themselves
  • Only the client's own sites (and sites you allow) can send leads; others are turned away and listed with an Allow button
The Website tracking settings with the one-line script, capture toggle, allowed sites and hidden fields list
One script tag, automatic form capture and the hidden fields it fills.

Channels you can defend

Each lead is assigned one of eleven channels from its click IDs, UTMs and referrer: Google Ads, Microsoft Ads, Meta Ads, other paid, Business Profile, organic search, social, email, referral, direct or unknown. The lead keeps both its first touch and its last, so "found us on Google, came back through a Facebook ad" is on the record instead of argued about.

The visit behind a lead: channel, landing page, device, browser, location, network, time on site and pages
The visit that produced a lead, from the ad to the form.

From lead to revenue

Record a sale on any lead — quoted, sold or paid — and later repeat work or refunds. Customers are matched automatically by phone number and email, so a customer who calls twice and books three jobs is one customer with a lifetime value, and each sale counts in the month it happened.

Revenue is credited to the customer's most recent lead in the 90 days before the sale. That's what feeds ROAS, ROAS on new customers, revenue by source and the Progress Report.

The Sales card on a lead with lifetime value $11,884.48, one sale and the amount credited to the lead
Sales recorded on a lead, with lifetime value.

Teach the ad platforms what a customer looks like

Switch on sending for a client and every sale recorded after that goes back to the ad platform that produced it: to Google Ads as an offline conversion with the click ID and hashed contact details, and to Meta as a Purchase event through the Conversions API. The queue sends straight away and retries automatically, so Smart Bidding and Advantage+ optimise for revenue instead of form fills.

What this does not do

Better to find this out here than three weeks in.

  • Calls are attributed when they come through a connected source (Business Profile, Google Ads call assets or your call tracking); the script doesn't swap phone numbers on the page.
  • Revenue depends on sales being recorded — by your team, the client in their portal or app, or sent in by webhook through an automation.
  • Refunds and adjustments adjust reported revenue; they aren't sent back to the ad platforms.

Questions

What is lead attribution?
Recording where each lead came from — the channel, campaign, keyword and click — so you can connect marketing spend to the enquiries and sales it produced.
Does it work with WordPress, Wix, Squarespace and GoHighLevel sites?
Yes. It's one script tag, and it captures ordinary forms as well as GoHighLevel and LeadConnector forms.
How is ROAS calculated?
Revenue credited to leads from paid channels, divided by Google and Meta ad spend for the period. ROAS on new customers counts only first sales.
Can I send offline conversions to Google Ads?
Yes. Sales are sent as offline conversions with the click ID and hashed email and phone, and retried until Google accepts them.

Put your agency on autopilot

Start a 14-day trial with 300 credits. Add your first client and send an onboarding link today.

Define the question your attribution should answer

Lead attribution software connects a captured enquiry with evidence about how the visitor arrived. Decide whether the immediate question concerns discovery, the visit that produced the form or the revenue associated with a customer. Those are related questions, but they are not identical. First touch can help explain an earlier discovery path, while the latest relevant touch describes a later interaction. Recorded sales provide another layer of evidence after the enquiry. Explain the model you use in client reporting before discussing which channel deserves credit. A visible attribution rule is more useful than a confident claim that a single label describes the customer's entire buying decision.

Test the path from advertisement to lead record

After installing the tracking script, verify a representative journey rather than checking only that the script appears on the site. Review the intended landing page, form fields, source parameters and resulting lead record. Test the forms that customers actually use, including relevant embedded forms or custom capture where applicable. Confirm the website is allowed to send leads for the client. Keep a small test record with the expected source and observed result so future changes can be checked against it. This workflow helps identify missing parameters or capture gaps before a reporting period accumulates enquiries whose origin is difficult to explain.

Keep campaign tagging consistent

A campaign naming convention should be understandable to the people who launch ads, publish links and review results. Decide how source, medium and campaign values will be written and avoid casual variations that make the same initiative appear under different labels. Check that redirects and landing-page changes preserve the information you intend to capture. Click IDs and referrers can provide other source evidence, but they do not remove the value of disciplined link tagging. A useful convention makes it possible to trace a lead back to an actual marketing initiative without needing the original campaign manager to translate a collection of abbreviations.

Read first touch and last touch as different perspectives

A person may discover a business through search, return through an advertisement and submit a form later. A single-touch explanation can obscure that sequence. Use the recorded first and last touch information to describe the path that was observed, while acknowledging that the record may not include every interaction. Avoid turning an attribution label into a claim about everything the customer saw or thought. In a client discussion, name the rule and explain why you are using it for the specific question. This lets the agency evaluate acquisition patterns without pretending that tracking data supplies a complete history of human decision-making.

Maintain sales records to make revenue attribution useful

Recording the source of a lead is only the beginning of revenue measurement. The client or agency must also record the commercial outcome, including relevant repeat work and refunds. Agree who enters sales and how the team checks completeness before reporting. The documented revenue assignment uses the customer's most recent lead in the ninety days before the sale, so explain that rule when reviewing customer journeys that span time. A sale can appear in a different reporting period from the original enquiry. Keeping the dates and attribution model visible helps prevent confusion when the client's operational sales figures and campaign activity do not line up neatly by month.

Review conversion feedback as a separate workflow

Sending a recorded sale back to an advertising platform is a useful connection between the business outcome and campaign optimization. It also deserves its own setup and verification. Confirm that sending is enabled for the intended client and that the recorded sale has the required matching information. Review the actual sending result rather than assuming that saving a sale means every platform has accepted it. Agency Pilot's documented workflow retries sending, but acceptance still depends on the platform and the data available. Keep adjustments in mind: reported revenue can reflect refunds or corrections that are not sent back through the same conversion feedback path.

Explain gaps without inventing certainty

Some enquiries arrive without enough evidence to assign a confident source, and calls need a connected attribution source rather than automatic phone-number swapping from the website script. Treat unknown or direct records as information to investigate, not a reason to relabel them into the channel the agency expects. Check source setup, form behavior and the actual customer path where appropriate. In reports, state what the system observed and what remains unavailable. A smaller set of defensible attribution claims is more valuable than a complete-looking table built from assumptions, especially when the client uses those numbers to decide where to invest next.

Frequently asked questions

What is the difference between attribution and lead capture?

Capture creates the enquiry record; attribution adds evidence about its origin and journey. A form can arrive successfully while some source information is missing. Test both parts of the workflow so a working form is not treated as proof that every campaign parameter and click identifier is being retained correctly.

Why should I keep both first-touch and last-touch information?

They describe different parts of an observed journey. First touch can reveal earlier discovery, while last touch can identify a later interaction before conversion. Reviewing both helps explain multi-step buying behavior without assuming one field represents everything the customer encountered before deciding to contact the business.

Does a source label prove that a channel caused the sale?

It shows the credit assigned under the available evidence and attribution rule. It does not establish a controlled causal result or reveal every offline influence on the customer. Use attribution to guide investigation and reporting while keeping the model explicit, especially when making decisions about budget changes.

How should I test a custom website form?

Follow the documented capture method for the form, submit a representative test enquiry and inspect the resulting lead and source fields. Check the actual production path, including redirects or embedded elements that matter. Keep test details recognizable so they do not become confused with genuine customer demand during reporting.

What can cause campaign information to be missing?

The visitor may not arrive with the expected parameters, a redirect or website change may alter the path, or the form workflow may need attention. Investigate representative examples instead of guessing. Start with the original link and follow it through to the captured record to locate where expected information stops appearing.

Does the script replace phone numbers on a website?

The documented script does not perform dynamic phone-number swapping. Calls are attributed through connected sources such as Business Profile, Google Ads call assets or call tracking. Plan call measurement separately from form capture so the client understands which calls have source evidence and how that evidence is collected.

How are repeat customers considered in revenue reporting?

The documented workflow matches customers by phone and email across leads and records repeat work as part of customer value. Review the actual records when interpreting a returning customer's sale. Separate new-customer acquisition from repeat business when that distinction matters to the campaign question the client is asking.

Why can this month's sales relate to earlier leads?

Customers may take time to decide, and revenue is recorded in the period the sale happens. The attribution rule then connects it to an eligible recent lead. Explain that timing before comparing a month's advertising spend with its sales, particularly for services with longer quotation or purchasing cycles.

How should I discuss return on ad spend?

Explain the revenue credit and spend included in the ratio, then check whether the underlying sales records are complete. ROAS is a revenue-to-ad-spend measure rather than a full profit calculation. Service delivery costs, margins and other business expenses still matter when the client evaluates commercial performance.

Can I send a sale back to Google Ads or Meta?

The documented workflow supports Google Ads offline conversions and Meta Purchase events when sending is enabled for the client. Verify the setup and resulting status for real records. Do not assume that every sale can be matched equally well or that a recorded event immediately changes advertising performance.

Are refunds sent back through the conversion feedback workflow?

The documented limitation is that refunds and adjustments update reported revenue but are not sent back to the advertising platforms. Keep this distinction in mind when reconciling platform conversion values with Agency Pilot revenue. A difference after a refund can reflect the workflow rather than a duplicate sale.

What should I do with leads classified as unknown?

Inspect a sample for missing or unavailable source evidence and check the relevant capture setup. Preserve uncertainty when the origin cannot be established. Reassigning unknown leads to a favored channel without evidence creates a more complete-looking report at the cost of making the attribution less trustworthy.

How can clients improve the quality of attribution reporting?

Keep lead outcomes, sales and repeat work current, and tell the agency when the website or sales process changes. The client supplies business context that a tracking script cannot infer reliably. A regular review of a few records can uncover missing updates before the next performance discussion depends on them.

Should I compare attribution totals directly with every ad platform?

First compare definitions, dates and attribution rules. Platforms may credit different actions or use different windows, while Agency Pilot connects captured leads and recorded sales under its documented model. Reconcile representative records before expecting all totals to match, and explain meaningful differences in the reporting conversation.

How do I maintain attribution after a website redesign?

Retest the tracking installation, allowed website, forms and source preservation on the new customer paths. Do this for the pages and forms that generate real enquiries, not only the homepage. Keep a clear launch date in the reporting context so a measurement change can be distinguished from a change in demand.