Build a practical campaign measurement plan with consistent UTM links, verified conversion events, privacy checks, and reporting that avoids counting sales twice.
Useful campaign tracking begins with a decision, not a dashboard. Which marketing activity brings enquiries your team can actually serve? A thousand clicks can produce five enquiries, two of which are duplicates. Calling the click a completed conversion would hide the difference. This guide builds a measurement plan for a fictional design studio promoting a brand identity service. Its sample numbers are teaching examples, not client results, benchmarks, or promises of improvement.
Choose the decision before the metric
Write one question before launch: “Over four weeks, which channel produces qualified consultation enquiries at a sustainable acquisition cost?” Define qualified: the request is saved, concerns a service you provide, has usable contact details, and is not a duplicate. Assign someone to review qualification weekly. A developer now knows what success means, and the marketer knows why the event matters.
Separate diagnostic signals from commercial outcomes. Viewing pricing indicates interest. Beginning a form suggests intent. Neither establishes a completed sale. Include response time in your operational review, because an apparently weak campaign might actually suffer from slow follow-up. Record why leads were rejected so an audience mismatch does not get confused with a technical form failure.
Create a shared UTM dictionary
Google’s campaign URL documentation describes parameters for campaign source, medium, name, and other dimensions. In the studio example, use newsletter as the source, email as the medium, and identity_launch as the campaign. Use utm_content to distinguish the creative variants. These labels describe marketing activity; they should not identify an individual recipient.
Keep the campaign name stable during the comparison and change only the creative label when that is the variable under test. Choose a consistent lowercase convention and one separator. This is an organizational rule, not the only technically valid format. Maintain a small link register containing the destination, owner, launch date, and intended audience. Test the final published link after any shortening or redirect service has handled it.
https://example.com/identity?utm_source=newsletter&utm_medium=email&utm_campaign=identity_launch&utm_content=process_story
When the destination already contains query parameters, append additional parameters correctly rather than adding a second question mark. Do not tag your own navigation links with acquisition UTMs to count menu clicks. Use a separate interaction event for that task. If an advertising integration uses automatic tagging, review how it behaves before layering a competing manual scheme onto it.
Fire an event when its meaning becomes true
Build an event dictionary with a name, definition, evidence source, duplicate rule, and owner. form_started means somebody began entering information. enquiry_saved means the server confirmed that the enquiry was stored. A purchase event must not be triggered merely because someone pressed a payment button or opened a publicly accessible success URL. A store needs authoritative payment status verified by its backend.
- Service page visit: an interest signal, not proof of a request.
- Consultation form started: a diagnostic signal for form usability.
- Enquiry saved: a confirmed business record, with stable internal identity.
- Enquiry qualified: a separate operational assessment with a recorded reason.
Test double clicks, unstable connections, and returning to the confirmation screen. A browser can retry, and provider notifications can arrive more than once. Deduplicate against the underlying business operation instead of cleaning a chart afterwards. Keep internal identifiers and analytics permissions separate: a value used to prevent duplication in your database is not automatically appropriate for an external analytics service.
Protect information before collecting it
Google’s guidance on personally identifiable information warns about information leaking through page addresses and parameters. Never place an email address, phone number, or customer name in a UTM value. Do not send the free-text enquiry message as an event property. Check page titles, paths, and internal search values as well.
Use an allowlist rather than transmitting every available field. This example needs service category, interface language, public campaign label, and aggregated qualification outcome. Customer support records belong in a separate operational system with appropriate access controls. Define retention and consent handling for the project. Installing analytics or displaying a consent banner does not, by itself, establish legal compliance.
Interpret differences without pretending they disappear
Suppose email produces twenty saved enquiries, ten qualified, for a fictional distribution cost of one hundred currency units. An advertisement produces thirty enquiries, six qualified, for one hundred and twenty units. Qualified enquiry cost is ten for email and twenty for the advertisement. That is a calculation, not a verdict: review sample size, later sales value, timing, and follow-up quality before changing the entire budget.
Different platforms can each claim credit for the same outcome. Consent choices, devices, later visits, and attribution settings affect what each system observes. Google’s traffic-source documentation explains that processing depends on reporting and attribution configuration. Treat attribution as a measurement perspective rather than proof that one campaign alone caused a purchase. Reconcile the total business outcomes before comparing how platforms distribute credit.
Run a launch rehearsal
Open the final link on mobile and desktop. Confirm language, destination, and parameter values. Submit one clearly marked test enquiry, verify that it appears once, and exclude test records from commercial reporting. Try declined consent and unavailable analytics: the core service should remain understandable and usable. Document measurement gaps instead of filling them with invented precision.
A weekly review needs three decisions: is measurement healthy, are enquiries useful, and what is the next controlled change? Repair a duplicate event or broken form before rewriting every campaign. Connect the plan to your email lifecycle strategy, or discuss implementation through Barmijly’s services. A simple measurement plan with clear ownership is more useful than an impressive report nobody can explain.
Prepared with assistance from AI tools. Examples are illustrative; consult the linked documentation before implementation.