MARKETING

Nightly UTM Taxonomy Audit from BigQuery Click Logs

Each night, scans the previous day's click-tracking rows in BigQuery, flags links whose UTM parameters break your naming taxonomy, and posts a ranked offender report to Slack.

CategoryMarketing
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNightly schedule (02:00)
  • ActionQuery yesterday's UTM combos + click countsGoogle BigQueryBigQuery
  • LogicValidate each combo against taxonomy rules
  • LogicStop if zero violations
  • ActionBuild ranked offender table
  • OutputPost audit digest to SlackSlack

What it does

Runs once a night against your BigQuery click/event table, validates every `utm_source`, `utm_medium`, `utm_campaign`, and `utm_content` value against your approved taxonomy (allowed sources, lowercase-kebab campaigns, no spaces), and produces a digest of malformed links ranked by click volume so the worst offenders surface first.

When to use it

Use it when marketing data lands in a warehouse and dirty UTMs are quietly corrupting attribution. A nightly cadence catches yesterday's launches before weekly reporting runs, without anyone manually eyeballing campaign URLs.

How it works

  1. 1A nightly schedule fires the workflow.
  2. 2A BigQuery query pulls the prior day's distinct UTM combinations plus their click counts.
  3. 3A validation step checks each combination against the taxonomy rules (allowlisted source/medium, casing, forbidden characters) and tags each as clean or malformed.
  4. 4A branch ends the run quietly if zero violations exist.
  5. 5Otherwise a formatting step builds a ranked offender table.
  6. 6The report is posted to a marketing-ops Slack channel with the count and top offenders.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect SlackChannels, DMs, threads, mentions.
  3. 3
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  4. 4
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  5. 5
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.