Build tagged campaign URLs that survive the round-trip from spreadsheet to ad platform.
For marketers who would rather not context-switch between UTM builders, link shorteners, character-count pages and an AI tab. The day-to-day tools: tagged campaign URLs that survive the round-trip from spreadsheet to ad platform, character counts that match the platform limits, a slug generator for landing pages, and the AI summarizer / translator as the lingua franca for inbox triage and localization QA.
utm_source, utm_medium and utm_campaign carry almost all of the signal. Keep the values lowercase and free of spaces - an encoded space splits the same campaign into two rows in most analytics tools, and the report you build later will not match the one your colleague builds.
Only if the redirect forwards the query string. Shorteners, link-in-bio pages and some ad platforms strip or rewrite it, which is how a campaign ends up reported as direct traffic. Test the exact link you will run, not a simplified version of it.
No - tag paid and campaign links, leave on-site links alone. Tagging internal links starts a fresh session in most analytics setups and destroys the referrer data you were trying to understand.