Tutorials

Claude Opus 5.5 campaign link audit: find broken UTM handoffs

Use Claude Opus 5.5 to compare campaign links against an approved naming sheet, then verify the actual destination and analytics event yourself.

AI editorial concept: blue bottle prints connected by terracotta thread beneath a brass loupe.

Use Claude Opus 5.5 to compare campaign links against an approved naming sheet, then verify the actual destination and analytics event yourself. A link opening successfully does not prove that its campaign identity survived. The useful output is a row-by-row discrepancy report with a proposed correction and a test, not a fresh batch of unexplained URLs.

Separate three kinds of failure

Give the model the original link, expected product and locale, approved campaign values, and a redirect trace if available. Remove private identifiers before sharing. Google’s campaign URL guidance treats parameter values as case-sensitive and recommends consistent source, medium and campaign values.

SymptomFirst evidence to inspectAcceptance condition
Wrong product opensFinal host, path and variantApproved destination is preserved
Campaign splits into two rowsExact decoded valuesValues match the naming sheet
Link opens but tracking is absentRedirects and permitted analytics eventEvent contains the expected location
Two creatives look identical in reportsCreative identifier mappingEach approved creative maps unambiguously

A community tracking question describes working links without expected campaign reporting. It demonstrates the diagnostic question, not a proven redirect bug or evidence that Opus solves attribution.

A small, reproducible example

Imagine a fictional cup launch. The approved campaign is `cup_launch`, medium `email`, source `newsletter`; hero and footer are separate placements. The original destination is `https://example.com/cup?variant=blue#details`. Appending another question mark after `blue` is not a reliable way to add parameters. Putting parameters after `#details` puts them in the fragment, outside the ordinary query string.

Use a URL parser. The following locally checked example keeps both the existing variant and fragment. MDN documents URLSearchParams; the values here are fictional editorial inputs, not a live campaign or an Opus result.

```js
const u = new URL('https://example.com/cup?variant=blue#details');
u.searchParams.set('utm_source', 'newsletter');
u.searchParams.set('utm_medium', 'email');
u.searchParams.set('utm_campaign', 'cup_launch');
u.searchParams.set('utm_content', 'hero');
console.log(u.href);


The expected order is path, query, then fragment. Changing `hero` to `footer` should alter only the creative field. Do not lowercase the entire URL: a path, product identifier or unrelated parameter may be case-sensitive. If a field appears twice, report both values before choosing one; silent cleanup can conceal an upstream mistake.

## Copyable review prompt

```text
Review these campaign links without visiting or changing any account.
Inputs: original URLs, approved destination/locale/variant, naming sheet,
creative-to-placement map, and observed redirects if supplied.
Keep the original URL in every output row.
Parse query parameters separately from fragments. Flag duplicate keys,
missing approved values, case mismatches and unexpected destinations.
Preserve unrelated parameters and platform click identifiers.
Return: row ID, observed evidence, expected value, smallest proposed fix,
and a concrete acceptance test. Mark absent evidence unknown.
Never invent a redirect trace, analytics event or conversion result.
Do not put personal data in campaign values. Do not upload or publish links.
For the fictional cup example, preserve variant=blue and #details;
use newsletter / email / cup_launch and hero or footer as specified.

The Opus 5.5 prompting guide provides model-specific prompting context. This workflow is an editorial proposal, not a measured model comparison. Small batches make every proposed change easier to review.

Verify the handoff before distribution

Test one approved example per placement through the same link wrapper the audience receives. Compare the entered URL, redirect chain and final destination. Then inspect an analytics event only where your normal consent and measurement setup permits it. A missing event can have several causes; do not rewrite campaign names until the transport evidence supports that diagnosis.

Keep an acceptance sheet containing original, corrected, final observed URL and test time. Do not infer purchases from page views or expect repeated clicks to equal unique sessions. When the link is correct, pair it with a consistent visual from Panelly Studio. Panelly is the creative-production step here; this article does not claim a native Opus connection or analytics audit feature. Continue with ad-to-page consistency and asset naming.

Questions before sign-off

**Can Opus certify attribution from a URL?** No. A URL review establishes syntax and intended identity; actual collection and reporting need separate evidence.

**Should every missing report row trigger a new link?** No. Preserve the original evidence, check the reporting scope and actual event, then change only the identified defect.

Sources and further reading

Four panels. One ad.

Your next ad starts here.

Describe your product, its benefits and its audience. Create a four-panel ad with Panelly.

Start creating ↗View credit packs