Build a UTM-to-Enrollment Lead Attribution Ledger for a Small Training Campaign
Build a UTM register and enquiry ledger that separates campaign visits, accepted enquiries and admissions, with practical checks for redirects and reporting limits.

A useful lead-attribution ledger connects a controlled campaign link to an enquiry record while keeping three different outcomes separate: a visit, an enquiry, and an admission. UTM values label the campaign context that Analytics receives; they do not identify a person, prove that a campaign caused an admission, or guarantee that every source will be known. The practical goal is to diagnose and resolve the problem without confusing traffic with qualified enquiry or admission outcomes. Start by standardizing source, medium, and campaign names, then test the full redirect and enquiry path before sharing links.
This workflow produces a campaign link register, a UTM naming dictionary, an enquiry ledger, and a weekly reconciliation routine. It works for a small team using a spreadsheet, but does not require paid advertising or promise complete multi-device attribution.
Set the measurement question and boundaries
Choose one decision the team needs to make: identify which approved outreach links are bringing qualified enquiries for the next intake and which links need correction. That is narrower and more answerable than claiming to know which marketing channel caused admissions.
Define the three events separately:
- Visit: a browser opened a tagged landing page. A visit is not necessarily a unique person or a qualified prospect.
- Enquiry: a person completed a contact or admissions form and the system accepted the submission.
- Admission: the institute’s own admissions process recorded the outcome. Analytics is not the authoritative admission ledger.
The reporting unit should be an enquiry or admission record in the team’s authorized system, not a URL parameter that contains a name or email. Never put personally identifying information in a UTM value. Follow the applicable privacy, consent, retention, and access requirements for your organization; this guide is not legal advice.
Create a consistent campaign naming dictionary
Google Analytics documents utm_source, utm_medium, and utm_campaign as campaign parameters and recommends using all relevant fields consistently. Parameter values are case-sensitive, so Facebook and facebook may fragment reports. The official URL builder guide and traffic-source dimensions reference describe how manual tags appear in Analytics.
Create a small dictionary before creating URLs. For example:
| Parameter | Meaning in the team’s register | Example convention |
|---|---|---|
utm_source |
Specific platform or referring source | instagram, email_newsletter, partner_school |
utm_medium |
Channel type | organic_social, email, referral, paid_social |
utm_campaign |
One named initiative or intake | web-design-intake-2026q4 |
utm_content |
Placement or creative distinction when needed | story_link, footer_cta |
utm_id |
Stable campaign identifier when the team uses one | intake-2026q4-03 |
Use lowercase, hyphens or underscores consistently, and avoid spaces. Keep source and medium roles distinct: instagram describes the source, while organic_social describes the channel type. Do not label an organic post as cpc, and do not call every source social. Record the definitions in one shared document so another staff member does not invent a competing spelling.
Use utm_content only when the team will compare placements or creative versions. Adding a parameter “just in case” creates more naming work without improving a decision. Do not add utm_term to unrelated links merely because the parameter exists. Google Analytics’ URL builder documentation explains the supported parameters and reporting behavior; verify the current interface and property configuration before relying on a report.
Maintain a campaign link register
Each shared link should have one row in a register before it is posted. Include:
- campaign ID and campaign name;
- source, medium, content, and any other approved UTM values;
- the clean destination URL and the final tagged URL;
- the intended landing page and action;
- owner, channel, planned start/end dates, and current status;
- test date, final destination after redirects, and test-enquiry reference;
- notes about whether the link is organic, paid, email, or a partner referral.
Build the tagged URL with Google’s URL builder or a controlled template. Encode values correctly and preserve existing query parameters. If the destination already has a query string, append parameters with &, not a second ?. Keep one canonical register entry and copy the exact approved URL from it; avoid staff manually recreating tags in chat messages.
Before launch, open the URL in a clean browser session and follow every redirect. Confirm that the final page is the intended public page, that the UTM parameters survive long enough for the analytics implementation to capture them, and that the page’s form submits successfully. Google notes that redirects can remove campaign information and that source dimensions can be missing or unclear for several reasons. See its direct / none traffic guidance. A shortener, protocol change, or domain redirect deserves an explicit check.
Do not add UTM parameters to internal navigation links within the website. They are intended for campaign destination links; internal tagging can replace the context of the original visit and make acquisition reporting harder to interpret. Use the clean canonical URL for website navigation and blog links.
Build an enquiry ledger that respects data boundaries
The analytics report and the admissions system answer different questions. Use a controlled ledger with a stable enquiry reference and only the fields the team is authorized to use. A practical column set is:
| Column | Purpose |
|---|---|
| Enquiry reference | Internal ID; avoid repeating contact details in the marketing report |
| Received date | When the form or team received the enquiry |
| Program interest | Selected program, validated against the current catalog |
| First known source | Source from the first available approved evidence |
| Last campaign touch | Most recent tagged campaign before the enquiry, if captured |
| UTM campaign ID/name | Exact registered campaign values, or unknown |
| Qualification state | A defined status such as new, contacted, eligible, or not proceeding |
| Admission outcome date | Date the authoritative admissions record changed, if applicable |
| Attribution confidence | Observed, self-reported, assisted, or unknown, using written definitions |
| Evidence note | Non-sensitive reference to where the source was observed |
Keep names, phone numbers, and emails in the authorized admissions system, not in a shared marketing spreadsheet unless there is a clear need, access control, and retention policy. Never include personal information in a campaign URL or Analytics campaign parameters. Use an internal enquiry ID to join records only where the team’s permissions and privacy rules allow it.
Do not force one campaign to “own” every admission. A person may see an organic post, talk with a family member, and later click an email. Keep first-known, last campaign touch, self-reported discovery, and unknown as distinct fields if the team can collect them consistently. Otherwise, choose one clearly defined attribution view and state its limitations. A simple honest report is more useful than a precise-looking but unsupported percentage.
Test a complete link-to-enquiry path
Run a controlled test with a test record, not a fabricated admission. Select one campaign row and perform these checks:
- Confirm the source, medium, and campaign values match the naming dictionary exactly.
- Paste the tagged URL into a clean browser session and confirm the final destination.
- Inspect the final URL after redirects. If tags disappear, fix the redirect or document why Analytics can still receive the values; do not proceed on assumption.
- Submit a clearly identified test enquiry through the public form.
- Confirm the enquiry appears once in the authorized system and that the test data is excluded from real conversion totals.
- After Analytics has processed the visit, inspect the appropriate acquisition report and confirm the expected dimensions are present. Do not expect a real-time report or a campaign parameter to identify an individual enquiry by itself.
- Mark the register row “tested” with date, destination, and test reference. Remove the test record through the normal approved process.
If the form confirmation page drops the campaign parameters, check whether the analytics tag captured the landing session before the redirect and whether the event implementation is functioning. Do not append personal data to preserve identity. If the team cannot verify the report, mark the campaign measurement as unverified and fix instrumentation before comparing campaign performance.
Reconcile weekly without overstating results
Once each week, export or view the campaign report and compare aggregate sessions with the enquiry system’s accepted enquiries for the same period. Use consistent time zone and date boundaries. Check that campaigns are registered, names are not split by capitalization, test submissions are excluded, and redirects have not removed the tags. Compare only the measures that each source actually owns:
- Analytics can report tagged visits and engagement according to the configured measurement implementation.
- The enquiry system can report accepted enquiries and their statuses.
- The admissions record can report application outcomes and admissions.
These counts will not necessarily match. A person may block analytics, switch devices, return later without the tag, or use an untagged channel. Some enquiries may be duplicates or test records. Do not divide admissions by campaign clicks and describe the result as causal campaign effectiveness unless a valid measurement design supports that conclusion.
For a small training team in Gujrat, Punjab, Pakistan, the weekly review might compare an approved Instagram post, an email announcement, and a partner referral link for the same intake. Use the same destination page where possible, test each tagged route, and keep admissions decisions in the admissions record. The Digital Marketing program is relevant for learners who want guided practice in planning, tagging, and evaluating campaigns; this ledger remains a practical standalone measurement tool.
Readers who need a portfolio deliverable can also use the campaign portfolio guide to document the brief, channel decision, measurement limits, and review evidence. Keep the portfolio example separate from actual prospect data.
Troubleshoot misleading or missing source data
If source rows fragment, compare exact spelling, case, punctuation, and naming across the register. If tags vanish, test each redirect hop and the final landing URL. If Analytics shows direct/none, do not assume a single cause; check missing tags, redirects, shorteners, consent configuration, browser restrictions, and the site’s analytics setup. If an enquiry has no campaign value, preserve it as unknown or self-reported rather than assigning the campaign that happened to be running that week.
If a report shows many visits but few enquiries, first confirm the form works and that test traffic is excluded. Then compare the landing page’s promised action with the actual form and inspect the drop-off step using privacy-respecting aggregate evidence. Do not interpret a low count as proof that a channel is poor until tracking, date ranges, duplicate handling, and campaign naming have been checked.
Acceptance checklist
The ledger is ready for routine use when:
- Every live campaign URL has an owner, a stable name, an intended destination, and a test record.
- Source, medium, and campaign values follow one shared, case-consistent convention.
- Tagged links reach the intended page and preserve campaign information through redirects.
- Test visits and test enquiries are distinguishable from real outcomes.
- The enquiry and admissions systems remain authoritative for their respective outcomes.
- Unknown and assisted sources remain visible instead of being forced into a campaign.
- Personal information is not placed in UTMs or copied into uncontrolled analytics exports.
- Weekly reporting separates visits, enquiries, and admissions and states attribution limits.
If the team cannot verify one of these, report the gap and keep the affected source marked unknown. Better instrumentation begins with honest records, not with a more confident chart.
Want to Build Practical Technology Skills?
Explore RisingEdge courses designed to help students learn real skills, build projects, and prepare for career opportunities.


