Skip to content
All case studies
Campaign OperationsAI and Process InnovationReporting and Attribution

Making UTM compliance the default with a self-service governance app

Misconfigured tracking links were eroding attribution and turning Ops into a manual dependency. Designed a PowerApp that generates standardized campaign names, validates querystrings in real time, and enforces URL construction rules at the point of creation.

Environment
Global enterprise technology company
My role

Designed the governance model, enforcement rules, and edge-case handling, and built the application.

100%
UTM compliance rate
<2 min
average link generation time
0
manual link builds required from Ops

The problem

Spreadsheet-based generators offered no real-time validation and broke on common edge cases — Adobe Analytics CID handling, hash fragment positioning, delimiter order. The issue was not training or discipline; the governance framework had no enforcement layer, so it collapsed under operational pressure.

Context

Marketers building campaign links had inconsistent understanding of URL composition, producing malformed parameters and inconsistent naming. Errors were frequent and hard to catch before launch, so Operations became the manual bottleneck for link creation.

Illustrative diagram

Representative — proprietary details omitted
Before
  1. 01Spreadsheet generators, no validation
  2. 02Malformed UTMs and inconsistent naming
  3. 03Ops as a manual dependency
  4. 04Attribution errors caught after launch
After
  1. 01Controlled taxonomy at the point of creation
  2. 02Real-time validation and auto-correction
  3. 03Full self-service for marketers
  4. 04Every link logged and auditable

What I did

How I approached it

  • 01Missing enforcement, not missing documentationDiagnosed why the governance framework kept collapsing under operational pressure.
  • 02Made the compliant path the fastest pathSo governance didn't depend on anyone's discipline.
  • 03Catalogued real edge cases firstCID requirements, hash fragments, and delimiter order, taken from live links before any validation logic was written.
  • 04AI as a logic accelerator, not a decision-makerTranslated governance rules into PowerApps formulas, generated nested conditionals and regex validation, and simulated failure modes — while rule design and enforcement thresholds stayed mine.

What I built

Standardized campaign name generation
Controlled dropdowns mapped to approved taxonomy, with freeform inputs removed at governance-critical points.
Real-time querystring validation
Detects malformed URLs, missing parameters, and invalid delimiters, with purpose-built Adobe Analytics CID handling and automatic hash-fragment repositioning.
Enforcement without friction
Inline guidance, actionable error messaging, and one-click generation with clipboard copy.
Governance visibility
Link volume tracked by user and product, with a centralized SharePoint log for audit and troubleshooting.

Supporting materials

Build detail

Supporting detail
Power Apps editor showing the link generator's URL normalisation logic
Built in Power Apps — URL normalisation and validation rules encoded directly in the form logic.
Campaign tracking link generator with an auto-generated campaign name field
A self-service builder that standardises campaign naming and validates UTM parameters before links ship.

Diagrams and figures are representative. Proprietary architecture, internal system names, and confidential customer details are omitted or generalized.