Offline conversion tracking for law firms, accountants and financial advisers

Consultation Booked, RetainedHashed Email and Phone90-Day Aware
Any CRM by Webhook

Firms want ads that bring clients, not form fills, without passing on what clients tell them. DataCops sends consultation booked and retained back to your ad platforms with hashed email or phone and the ad click, and nothing about the matter.

Setup in 5 minutes
No credit card
One lead from a Meta ad
From form fill to won deal in HighLevel
With DataCops
Form fillSent to Meta
Booked callSent to Meta
Showed upSent to Meta
Deal wonSent with its value
Matched to the original ad click by email

Trusted by agencies and brands running paid media

AffilinoBigfishClever DigitalKeetraxLegendListingLogicNumeroStormZealdBurst Digital

From enquiry to retained client

The smallest signal that teaches your campaigns, sent at the right moment.

  1. Step 01
    Saved on yourdomain.com
    fbclid from Meta Kept
    gclid from Google Ads Kept
    ttclid from TikTok Kept
    Kept for up to 90 days

    The script on your own subdomain keeps the ad click with the visitor for up to 90 days.

  2. Step 02
    Stages your CRM reports
    Booked call Reported
    Showed up Reported
    Won, with value Reported

    The enquiry becomes a booked consultation, then a retained client, in your CRM.

  3. Step 03
    Finding the ad click again
    Won dealby email or phone
    Ad click, 23 days earlierMatched

    DataCops matches the stage to the click, with email and phone hashed before sending.

  4. Step 04
    Won deal sent
    Meta Sent once
    Google Ads Sent once
    TikTok Sent once
    LinkedIn Sent once

    Consent is checked again, then a neutral event goes to the ad platforms you connected.

Every send is logged per platform with its status and reason, so you can show exactly what left.

Why professional services need a careful approach

Law firms, accountants and financial advisers buy ads like everyone else, and they have the same problem: the form fill is not the client. A person who fills in a form about a tax problem might never book. A person who books a consultation might never sign. The ad platforms only see the first step unless you tell them about the rest.

The difference is what you are allowed to say in the telling. What a prospective client shares with a firm can be private, sometimes protected by professional duty. So the approach on this page is simple: send the smallest signal that does the job, and nothing that describes the matter.

The two stages that matter: consultation booked and retained

For most firms two stages carry almost all the value. Consultation booked means a real person agreed to a real time. Retained means they signed an engagement letter and became a client. Everything else is either too early to trust or too late to be useful.

If you can only send one, send consultation booked. It happens often enough to teach a campaign, and it is far better than a form fill. Add retained once you have a steady number a month. If you have a value for the engagement, such as a fixed fee or a first-year estimate, it can travel with the retained event, so the ad platforms learn which clicks bring larger clients. Lost, no-show and cancelled are best left unsent, so the platforms are not taught to find more of them.

Example, made up: an accountancy practice gets 40 form fills a month. Fourteen book a consultation and five sign an engagement letter. Sending consultation booked gives the campaign 14 real signals a month instead of 40 noisy ones, and the practice still counts the 5 retained clients in its own monthly review.

What to send, and what never to send

One conversion, as it leaves DataCops
Event nameConsultation booked
Email and phoneSHA-256 hashed
Ad click IDgclid / fbclid
Fee valueOptional
Matter details, case notesnever mapped

Matter details never go to an ad platform. That means the type of case, the facts a client told you in confidence, names of other parties, amounts in dispute, an assessment of their finances, and anything typed into a notes field. None of it is needed to match a conversion. Do not put the practice area in the event name either. Use neutral names.

Because your CRM posts only the fields you map, the safest setup is also the simplest one. A webhook post with an event, an email or phone, a click ID and maybe a value is all DataCops needs.

How DataCops keeps the click

The DataCops script loads from a subdomain of your own site, set up with one DNS record. It keeps the Google, Meta, TikTok, Microsoft, LinkedIn and X click IDs with each visitor. When the visitor shares an email on your enquiry form, DataCops links that email to their visit. Weeks later, when your CRM posts consultation booked with the same email, the original ad click is found.

If the prospect returns on a new device and uses the same email, the earlier click can still be credited. For returning visitors on the same browser, a first-party server cookie can keep them recognised for up to 400 days, even on Safari. It is a per-site switch and starts off.

Getting stages out of your CRM

Practice management systems and CRMs differ, so DataCops uses one private sales webhook that any of them can call. When a matter moves to consultation booked or retained, your CRM, or Zapier, Make or n8n, posts a short JSON message with the event and the client's email or phone. Add an order_id, such as the matter number, so the same engagement counts once even if the automation fires twice. Send the test flag while you set it up, and the post is logged without being sent.

If your firm runs on HighLevel, there is a free native app instead. Booked, showed and won in HighLevel go back to your ad platforms as conversions, with no automation to build.

Hold enquiries until someone has spoken to them

Many firms screen enquiries before treating them as real. DataCops can hold a lead rather than send it. The held lead keeps its original click IDs and hashed details. When your team marks it a genuine prospect, your CRM posts a release with the event name and email, or someone releases it from the lead list in the dashboard. Marking it not a fit drops it. HubSpot users get the release automatically, checked every 5 minutes. Held leads expire after 14 days, so stale enquiries never reach your ads.

An intake checklist that keeps it clean

Most leaks are not deliberate. They happen because a workflow copies a whole contact record. A short checklist prevents it.

  1. Give your intake form only the fields you need: name, email, phone and a general enquiry type from a short list.
  2. Keep free-text descriptions in your case system, not in the marketing tool.
  3. Map only the event name, email or phone, order_id and value into the webhook post.
  4. Use one clear notice on the form that says what you share with advertisers.
  5. Test with a fake enquiry, using the test flag, and read the log to confirm what left.
  6. Review it every quarter, and after any change to the intake form.

Consent, hashing and Health mode

DataCops includes a cookie banner built to the IAB TCF v2.2 standard. It shows in Europe by default and turns on Google Consent Mode v2. The server checks consent again before every send. For EU, UK and Swiss visitors, no conversion goes to an ad platform until the visitor opts in. If a visitor accepts a moment after landing, their ad click is still delivered.

Email, phone and names are cleaned and SHA-256 hashed before they leave our servers. For firms that also touch health topics, such as clinical negligence or personal injury, Health mode sends ad platforms only the click, the value and your homepage address: no page paths, no titles and neutral event names on Meta. It is on every plan.

Clients are handing over something private. A short, true sentence on your intake page helps: "We tell advertising platforms that an enquiry led to a consultation, using a scrambled version of your email. We never share what you tell us." Make sure your setup matches it first.

Long cycles and platform time limits

Professional services close slowly. A probate matter, a business sale or a tax review can take months between the first click and the signed letter. Google Ads ignores uploads more than 90 days after the click, and Meta rejects events more than 7 days after they happened. So send each stage on the day it happens, and lean on consultation booked as your main signal. It usually lands well inside both limits and still says the lead was real. Use retained with value where it arrives in time, and in your own reporting.

Keeping spam enquiries out

Legal and finance forms attract spam and fake enquiries. LeadCops forms, the DataCops lead forms, keep the ad click with every lead and can block disposable emails, free email addresses, domains that cannot receive mail and VPN submissions. High-risk submissions are saved as blocked and are never delivered. On your own forms, the Real people only switch, set per ad platform, stops conversions from bots and datacenter traffic reaching that platform. It is off until you switch it on.

A record of every send

Every conversion is logged per platform as sent, skipped or failed, with a plain reason: held, duplicate, consent rejected, event not mapped and so on. History goes back up to 400 days. If a regulator or a partner asks what your marketing shares, you can show it line by line. Email alerts warn you when deliveries fail or an ad platform connection is about to expire, and a new-lead email can reach the intake team the moment a form enquiry arrives.

A note on advertising rules

Legal, accounting and financial advertising is regulated, and the rules differ by country, state and professional body. What you may say in an ad, how you may target, and what you may pass to a third party is your responsibility as the advertiser. Ask your regulator or compliance adviser about your own setup before you switch anything on. DataCops keeps what leaves your systems small, consented and visible.

Good to know before you start

  • Consultation booked is the best first signal; add retained once you have steady volume.
  • Map only an event, email or phone, order_id and value. Matter details stay in your case system.
  • Send each stage the day it happens, to stay inside Meta's 7-day and Google's 90-day limits.
  • Any CRM connects through the private sales webhook; HighLevel has a free native app.

What runs behind each consultation you send

Capture Background

One first-party script, served from your own domain

  • Runs first-party from datacops.yourdomain, not a blockable third-party host
  • One script, one CNAME, live in about 5 minutes, no container to host
  • Server-side collection on Cloudflare's edge, close to every visitor
  • Captures click IDs at the network level, so fbclid and gclid still reach your CAPI feed after browsers strip them
  • Recovers 15 to 25% of the sessions other setups lose

Traffic Visibility

10%
20%
30%
40%
50%
60%
70%
80%
90%
100%

First-Party Script

~78%

Blockers and ITP cut your sessions

Set up offline conversions for your firm

About 5 minutes for the site, then one automation in your CRM.

  1. Step 1
    code

    Add the DataCops script
    One script and one DNS record keep every ad click on your own domain.

  2. Step 2
    ads_click

    Connect your ad accounts
    One-click sign-in for Meta, Google Ads, TikTok and LinkedIn. An API key for Microsoft Ads, Reddit and Pinterest.

  3. Step 3
    hub

    Post stages from your CRM
    Send consultation booked and retained to your private webhook, test flag on first.

In short

Offline conversions for law firms and accountants with DataCops, in short

DataCops is a tool that sends consultation booked and retained from your CRM back to your ad platforms with hashed email or phone and the ad click, and nothing about the matter.

How DataCops does it

1

Send only what is needed

Map only an event, email or phone, an order ID and a value. Emails and phones are hashed. Matter details stay in your case system and are never sent.

2

Consultation booked first, retained later

A booked consultation is the best first signal. Add retained once you have steady volume. HighLevel sends booked, showed, won and paid natively, and any CRM posts to the private webhook.

3

Matched to the ad click

DataCops keeps the click on your own domain for up to 90 days, with a signed server-set cookie up to 400 days where enabled, so a client who retains weeks later still finds their click.

4

Send the day it happens

Stay inside Meta's 7-day and Google's 90-day limits by sending each stage the day it happens. Send an order ID so repeats count once.

5

Keep fake enquiries out

Every visit gets a bot verdict against 360+ billion IPs and 350+ monitoring points, with a Real people only switch per platform, off by default. CRM posts carry no bot flags, so the check applies to the site visit. Every form email is checked for disposable providers, domains with no mail server and an email risk score, and LeadCops can hold a lead.

6

Past clients and proof

Ads Warmup can send a list of past clients as hashed identifiers, up to 20,000 rows with a 0 to 10 match score, dated when you send. Check your confidentiality rules first; you choose what to upload. A delivery log row shows each send with its reason.

Best for: law firms, accountants and financial advisers who want ads that bring clients, not form fills, without passing on what clients tell them. This page is not legal advice.

Free to start. See pricing.

When not to use DataCops

Your rules do not allow sharing identifiers with ad platforms

If your professional obligations stop you sharing even hashed identifiers, do not use it. Ask your regulator or lawyer.

You need matter details in the ad data

DataCops never sends matter details. Only the event, hashed email or phone, order ID and value go.

You need refunds sent to Meta or TikTok

Refunds do not reach Meta or TikTok. Google Ads is corrected: a full refund retracts the conversion and a partial one lowers its value.

You need bot checks on CRM stages

CRM posts carry no browser bot check. Qualify enquiries before the stage you send.

Sources

Platform rules checked October 2026. Rules change; check the platform's own page before you build.

FAQ

Start with consultation booked. Add retained when you have a steady number a month. Both can use neutral event names. Lost, no-show and cancelled are best left unsent.

Let your ads learn from real clients

Send consultations and retained clients to your ad platforms, with nothing about the matter. Start free.

Setup in 5 minutes. No credit card.

Live traffic quality

Updated just now

Visits · last 24h

487
Real users
35873.5%
Bots · auto-filtered
12926.5%

Without filtering, 26.5% of your reported traffic is bot noise inflating dashboards and draining ad spend.

Don't trust your analytics!

Make confident, data-driven decisions withactionable ad spend insights.

Setup in 2 minutes
No credit card