CRM workflows
CRM UTM tracking checklist: preserve campaign history
Keep campaign tags through forms, CRM updates, and booking handoffs. Check source history, duplicate events, and untagged returns.
Datagran team ·
A campaign tag can reach your website and still disappear before the inquiry reaches your CRM. A returning contact, an untagged form submission, or a booking handoff can replace useful source evidence with an empty field.
CRM UTM tracking needs an explicit capture and update policy. Keep the campaign values observed at each event, decide which summary fields they can update, and check the saved CRM result. A successful analytics event does not establish that the CRM received the same evidence.
Separate campaign evidence from record creation
Keep these questions separate when you name fields:
- First captured tagged touch: the first eligible tagged event retained by your workflow.
- Latest captured tagged touch: the most recent eligible tagged event retained by that workflow.
- Latest visit: the most recent observed visit, which may have no campaign parameters.
- Record creation source: the form, import, integration, or other method that created the CRM record.
These are proposed workflow definitions. A first captured touch does not establish the first influence the person ever encountered.
Check the CRM's own definitions before mapping these fields. HubSpot distinguishes traffic source from record source. Its Original and Latest Traffic Source properties describe known web interactions; Record Source describes how the record was created. Importing a contact does not prove that an import was the marketing channel that brought the person to your business.
Define the capture record before connecting a form
For each accepted event, retain an event identifier, observation time with timezone, sanitized landing path, and the campaign values your measurement policy permits. Record the applicable consent or collection state. Keep the confirmed contact and opportunity references separately from public tracking parameters.
Use an allowlist for campaign fields such as utm_source, utm_medium, and utm_campaign. Document whether you also need utm_content, utm_term, or a campaign ID. Preserve the original permitted value beside a normalized reporting label, so a reviewer can explain how the label was produced.
Choose consistent names and letter case. A newsletter tagged as "Newsletter" in one system and "newsletter" in another needs a documented normalization rule before you compare totals. Do not silently rewrite the retained evidence to make a chart agree.
Keep names, email addresses, phone numbers, and access tokens out of campaign values and analytics URLs. Avoid saving the entire query string by default. Google's guidance on avoiding personal information in Analytics explains why URLs need particular care.
Write an update rule for empty and populated fields
An untagged return is still an event. It can update your latest-visit record without clearing the latest captured tagged touch. A missing parameter means the event did not supply that value; it does not establish a new acquisition channel.
For your custom capture fields, define which events can initialize an empty field, which can update a latest-touch field, and how corrections are reviewed. Append the new event even when its permitted effect on the summary fields is "leave unchanged."
Native CRM fields can follow different rules. HubSpot documents updates from earlier anonymous activity and later sessions. Its Original Traffic Source can change when earlier activity is associated with a contact. Editing its managed source properties also clears associated drill-down information. Keep a custom first-capture policy separate from those native properties, and review the consequences before editing either.
Work through a hypothetical contact history
This example defines a custom field policy. The identifiers are fictional, and the behavior is not a claim about a CRM's defaults.
- Event utm-demo-A: a newsletter visit carries utm_source=newsletter, utm_medium=email, and utm_campaign=autumn_operations. The first and latest captured tagged source fields are empty, so both become newsletter. Retain event A.
- Event utm-demo-B: the same contact returns through an untagged form. Retain B with its observation time and no supplied campaign values. The latest-visit record changes; the first and latest captured tagged source fields remain newsletter.
- Event utm-demo-C: a later tagged visit carries utm_source=partner_directory and utm_medium=referral. Append C and update the latest captured tagged source to partner_directory. The first captured tagged source remains newsletter.
- Event C is delivered again: reconcile it using the same event identifier. There are still three unique events. A repeated delivery must not create another touch, opportunity, or follow-up enrollment merely because it arrived twice.
Contact matching and event matching need separate safeguards. Use the duplicate-lead checklist to review existing contacts, shared inboxes, simultaneous submissions, and uncertain writes.
Check redirects and booking handoffs separately
Follow one test inquiry through the actual route: tagged link, redirect, landing page, form, CRM event, contact, and intended opportunity. Compare the permitted values at every step and identify the first boundary that loses or changes them.
Google's campaign URL documentation describes tagged campaign inputs. When checking a tagged URL in GA4, inspect Page location; UTM values are excluded from the Landing page + query string and Page path + query string dimensions. Then inspect the CRM record independently.
For an external booking service, use its documented handoff fields and consent settings. Confirm which reference links the booking to the inquiry. A calendar launch, a completed booking, and a qualified opportunity need separate evidence. Do not copy every identifier through a URL to force a match.
Run the acceptance checklist with test records
- Submit a new tagged inquiry and verify the retained event and intended CRM fields.
- Send a tagged inquiry from an existing contact without replacing earlier history.
- Return without UTM values and confirm that the custom first/latest tagged fields remain intact.
- Replay an event identifier and check event count, opportunity count, and follow-up enrollment.
- Test mixed-case values against the documented normalization policy.
- Follow the supported redirect and booking paths through to confirmed records.
- Correct an erroneous mapping while retaining the old value, supporting evidence, reason, time, and reviewer.
- Remove prohibited personal data before any value reaches analytics or a public URL.
Give each failure an owner and a next action. The speed-to-lead workflow covers ownership after intake. The attribution checklist covers credit rules and business outcomes after source evidence is retained.
Datagran connects customer conversations, CRM, automation, and analytics. Bring one real intake route and the acceptance cases above to an evaluation. Use the current product guide to check the supported setup, then verify the connector's source fields, update behavior, and booking handoff before enabling the workflow. This checklist does not establish universal native UTM capture across every integration.