Offline Conversions -> ServiceM8 Integration Extension

Table of Contents

This is an extension/integration we can do to pull completed job values from ServiceM8 into GHL for upload to Google Ads.

User clicks Ad (URL appended with ?gclid=AbC123…)
⬇️
1. CAPTURE PHASE
How the interaction is captured on your website/landing page:
[Web Forms]
Capture GCLID via hidden fields in the form.
[Phone Calls]
Use Call Tracking with Dynamic Number Insertion (DNI) to tie the caller to the GCLID.
⬇️
2. STORAGE PHASE
Lead Data + GCLID + Timestamp are sent to your CRM/Management system.
[GoHighLevel (GHL)]Store GCLID in a Custom Contact/Opportunity field.[ServiceM8]Store GCLID in a custom field on the Job card or Client profile.
⬇️
(Wait Phase)
Sales team works as the lead…
⬇️
3. CONVERSION PHASE
GHL: Opportunity stage moves to “Closed Won” or Purchase is made.ServiceM8: Job status changes to “Completed” or Invoice is paid.
⬇️
4. MATCHING PHASE
System detects the status change (via Webhook, Make, or API). It retrieves the Conversion Event and matches it to the stored GCLID.
Payload prepared:
1. GCLID (The unique identifier)
2. Conversion Name (Must match exactly what is in Google Ads)
3. Conversion Time (Timestamp of when the deal closed)
4. Conversion Value (Optional: Amount of the sale/job)
⬇️
5. UPLOAD PHASE
Push the matched conversion data back to Google Ads so the algorithm can optimize for actual revenue/sales. 
Methods:- Direct Google Ads API integration- Automation tool (Zapier / Make.com)- Scheduled Google Sheets / CSV Upload
⬇️
[Google Ads]
Campaigns optimise based on closed deals