You can use a suitable analytics service with many hosted websites, subject to the website platform and your privacy obligations. The analytics account, tracking configuration and hosting account are separate. Decide what you want to measure before adding a script to every page.
IN THIS ARTICLE
01 Prepare the measurement plan
Identify a few useful outcomes, such as an enquiry submission, a completed booking or a paid order. Avoid collecting passwords, payment details or unnecessary personal information in event names, URLs or form values. Review consent and privacy requirements applicable to your visitors.
- Create or select the correct analytics property using an organisation-controlled account. For Google Analytics, use the current GA4 setup rather than old Universal Analytics instructions.
- Configure the website data stream or equivalent and obtain the supported installation method.
- Use your CMS's official integration, a trusted maintained plugin or the platform's supported header or tag-manager facility. Install the same tracker once, not through several competing plugins.
- Configure consent handling where required before activating optional tracking.
- Open the live website in a test session and use the analytics service's realtime or debugging tools to verify an expected page view and a representative event.
- Check that internal testing, payment-provider redirects and duplicate submissions do not inflate the result.
02 Compare analytics with server statistics
Browser analytics and hosting logs measure different things. Script blockers, consent choices and failed page loads can prevent browser events. Server requests include bots and assets that are not individual people. The totals therefore need not match exactly.
03 Example: measure a confirmed enquiry instead of a button click
If your approved GA4 integration uses the Google tag, this event can belong in the success callback after the server confirms a valid enquiry. Respect the visitor's applicable consent state and check whether your existing form integration already sends an equivalent event.
gtag('event', 'generate_lead', {
form_id: 'contact_enquiry'
});
Use an internal form identifier, not the visitor's email address or submitted message. In the debugging tools, submit one harmless test enquiry and confirm one successful event. A validation error or simple button click should not count as a completed enquiry.
Expected result: the report records the business outcome once, while duplicate trackers and repeated clicks do not inflate the lead count.
What should I check if analytics records no data?
Check the published page, property identifier, consent state and browser console. A cache may still serve an older version of the page. Confirm that a content-security policy or plugin setting has not blocked the script, then test again without disabling unrelated security controls.
Grant collaborators access to the analytics property with an appropriate role instead of sharing the owner's password. Review access during staff changes and keep ownership with the business so reports remain available when a developer leaves.