ServiceM8 how-to
How do you set up a ServiceM8 online booking link on your website?
ServiceM8 has two online booking tools, both included on every plan. The Simple Online Enquiry form sends requests to your Inbox without a time. The free Services add-on with Self Serve Online Booking publishes a page per service where customers see a price, pick a time and book. Links sit under Settings, Self Serve Online Booking.
Last checked 25 Sep 2026 against the sources listed at the end of this page.
Yes, on every plan: the Simple Online Enquiry form takes requests without times, and the free Services add-on with Self Serve Online Booking lets customers pick a time and book.
Step by step
- Enquiry form only: go to Settings, ServiceM8 Add-ons, Online Booking, switch it on, choose Request Booking or Request a Quote, and copy the HTML snippet next to the button.
- For bookable times: activate the Services add-on and Self Serve Online Booking, then go to Settings, Services and click New Service.
- Fill in Service Details (public name and description, On-site or Workshop, whether to show pricing), then Service Pricing (fixed, or variable from questions).
- Under Scheduling, pick the Booking Type (Schedule a Quote, Schedule a Service or No schedule) and assign the staff who can do the work. Their schedules decide the times offered.
- Under Policies, set a Service Radius so customers outside your area are sent to the enquiry form, and a travel surcharge if you charge one.
- Click Preview to test the page as a customer, then Publish and choose Staff and Customers.
- Go to Settings, Self Serve Online Booking and copy the Services homepage link or a single Service link.
- Add &utm_source= and a source name to each link you place. If the link contains a # (a single Service link), put the utm_source before the #.
- Under Track Advertising on the same screen, enter your GA4 G- or GT- ID and click Save.
- In Google Analytics, mark the purchase event as a key event so completed bookings count as conversions.
Gotchas
- If no arrival window is set when you activate Services and Self Serve Online Booking, ServiceM8 sets a 2 hour window by default, so customers see windows rather than exact times. Check Settings, Preferences, Job Settings.
- A Universal Analytics ID (starting UA-) left in the tracking field is ignored. Replace it with a GA4 G- or GT- ID.
- Revenue only reaches GA4 when the Service shows a price. Unpriced Services report bookings as leads.
- Jobs above the Manually approve jobs over limit, and addresses outside the Service Radius, become enquiries instead of bookings. That is by design, but it looks like lost bookings if nobody knows.
- Deposits on online bookings need pricing visible on the Service, online payment settings configured, and a connected payment account.
- The Online Bookings By Service and By Source reports are in the Reports tab, which only the Business Owner role can see by default.
What the official help article misses: It covers the button snippet only. It does not say that the enquiry form cannot offer times, that time slots need the Services add-on, or how to tag links by source and send bookings to Google Analytics as conversions. Read ServiceM8's article.
Enquiry form or booking page: which link you actually want
The two tools look alike from the outside, since both are pages hosted by ServiceM8 that you link to from your site, but they do different jobs.
The Simple Online Enquiry form is a lead form. The customer enters their details and address (with address autocomplete), describes the work and can attach photos or documents. The enquiry lands in your ServiceM8 Inbox, and converting it to a job fills the job card from what they typed. No time is chosen. You switch it on in Settings, ServiceM8 Add-ons, Online Booking, and pick a "Request Booking" or "Request a Quote" button. Both buttons open the same form.
Services with Self Serve Online Booking is a real booking page. Each Service you publish gets its own page, and there is a central Services homepage that lists them all. You decide whether customers book a quote visit, book the service itself, or only send an enquiry. Available times come from the schedules of the staff you assign to that Service, shown as exact times or as windows depending on your arrival window setting. Pricing can be fixed or calculated from the customer's answers, and you can take a deposit or full prepayment.
If you want the phone to stop ringing for simple jobs, use Services. If every job needs a look before you can price it, the enquiry form is enough.
Putting the link on your website
ServiceM8 hosts both forms, so there is nothing to install on your website. For the enquiry form, Settings gives you a snippet of HTML for the button; paste it into your site or send it to whoever manages it. For Services, copy either the homepage link or a single Service's link from Settings, Self Serve Online Booking, and put it behind a "Book online" button.
Link to a single Service when a page is about one thing (for example a hot water service page that links straight to the hot water booking). Link to the homepage from your header and contact page. The same link works as a Facebook Page action button.
Tracking a booking as a conversion
Because the booking happens on ServiceM8's domain, your website's own analytics cannot see the booking complete. There are two ways around that.
For Services pages, enter your Google Analytics 4 Measurement ID (starting G-) or Google tag ID (starting GT-) under Settings, Self Serve Online Booking, Track Advertising. ServiceM8 then sends GA4 ecommerce events from the booking pages: view_item when a Service is viewed, begin_checkout at checkout, and purchase when a priced booking is completed. A booking without a price is recorded as a lead rather than a purchase, with no revenue. A Facebook Pixel ID can go in the same place. Enter only the ID, not a script.
For either tool, add a source tag to the link: &utm_source=Website on the site button, &utm_source=Facebook on Facebook, and so on. ServiceM8's Online Bookings By Source report then shows visits, bookings, conversion rate and revenue after completion for each source. On your website, GA4's enhanced measurement already records a click event for links that leave your domain, so clicks on the booking button show up with the ServiceM8 link as the link URL.
Sources
- The Simple Online Enquiry form collects contact details, address, job description and photos or documents, and completed enquiries arrive in the ServiceM8 Inbox. ServiceM8 Help Center, checked 25 Sep 2026.
- Services offer Booking Types of Schedule a Quote, Schedule a Service or No schedule; times come from assigned staff schedules and show as exact times or windows per the Arrival Window setting, which defaults to 2 hours if none is set; a Service Radius sends customers outside it to an enquiry; links are in Settings, Self Serve Online Booking. ServiceM8 Help Center, checked 25 Sep 2026.
- Self Serve Online Booking pages accept a GA4 Measurement ID (G-) or Google tag ID (GT-) and send view_item, begin_checkout and purchase events; bookings without a price are recorded as leads; UA- IDs are not loaded. ServiceM8 Help Center, checked 25 Sep 2026.
- Adding &utm_source=SourceName to a booking link (before any # character) tags bookings by source for the online booking reports, and this works for both Service bookings and Simple Online Enquiries. ServiceM8 Help Center, checked 25 Sep 2026.
- On ServiceM8's Australian pricing, Online Bookings are listed for all plans. ServiceM8, checked 25 Sep 2026.
- The Services add-on is free to use. ServiceM8 Help Center, checked 25 Sep 2026.
- GA4 enhanced measurement records a click event each time a user clicks a link that leads away from the current domain, with link_url and link_domain parameters. Google Analytics Help, checked 25 Sep 2026.