Charities and small teams
Keeping a campaign log your team will actually use
Every team that tags links eventually meets the same problem: a report full of campaign names and content values that nobody can explain. A campaign log fixes that. It is a single shared sheet recording every tagged link you create. This guide shows what to put in it, who fills it in, and how to keep it going after the first enthusiastic month.
Why a log, when GA4 already has the data?
GA4 records what happened: utm_content=v2-b brought in a good number of visits. It cannot tell you what v2-b was, who made it, where it was posted or what was happening that week. The log holds that context. Without it, good results are hard to repeat and odd results are hard to explain.
A log also helps when people leave. In small teams and charities, the person who set up a campaign may have moved on by the time anyone reviews it. The log is how their knowledge stays behind.
The columns that matter
Resist the urge to track everything. A log with thirty columns gets abandoned. These are enough:
| Column | What goes in it | Example |
|---|---|---|
| Date created | When the link was made | 2026-11-03 |
| Campaign | The utm_campaign value | 2026-11-winter-appeal |
| Source / medium | Both values together | newsletter / email |
| Content | The utm_content value, if any | lead-button |
| Where it was used | A plain description a newcomer would understand | Main button in November supporter newsletter |
| Full link | The exact tagged link | https://example.org/winter-appeal?utm_source=... |
| Owner | Who created or sent it | Comms officer |
| Notes | Anything unusual | Resent on 10 Nov with new subject line |
The "Where it was used" column is the one people skip and later regret. Write it for someone who joins next year.
Where to keep it
Use whatever your team already opens every day: a shared spreadsheet is ideal. One sheet for the current year, a new tab or file each year. Avoid splitting it by channel or by person; the value is in having everything in one place you can search.
The UTM Builder's Export CSV button gives you a ready-made starting point. It downloads every link you just generated with columns for the platform, full link, base address, each UTM value, the likely GA4 channel and the date. Paste those rows into your log and add the "Where it was used" and "Owner" columns by hand.
The one rule: log before you send
A log filled in afterwards is a log that gets forgotten. Make it part of building the link: create the link, paste it into the log, then use it. If your team builds links in batches before a campaign, log the batch in one go.
For links that change over time, such as an Instagram bio link, log each change as a new row with the date. A spike in a report three months later can then be matched to the link that was live at the time.
Keeping it alive
Logs die from neglect, not from bad design. A few habits keep them going:
- One owner. Someone is responsible for the log as a whole. They do not fill in every row, but they notice when rows are missing.
- A monthly five minutes. Compare the campaign and content values in GA4 against the log. Anything in GA4 that is not in the log is either a missing row or a link someone built off-script. Both are worth knowing about.
- Make it useful. Add a column for the result, such as visits in the first two weeks. When people see the log helping them plan the next campaign, they keep filling it in.
- Keep it short. If a column has been empty for three months, delete it.
Example: answering a trustee's question
A trustee asks why March showed a big rise in visits from partner / referral. The comms officer searches the log for March, finds a row reading "Link in partner charity's spring e-newsletter, arranged by events team", and can answer in a minute, along with who arranged it and whether it might happen again. Without the log, it would have taken a round of emails, and the answer might never have been found.
What not to put in the log
A campaign log is about links, not people. Keep personal information out of it entirely:
- No names, email addresses or phone numbers of supporters, donors or volunteers.
- No personal details inside the links themselves. A UTM value such as
utm_content=jane-smithends up in your analytics and in anyone's browser history. - No passwords or account logins for the tools you used.
If you need to record that a link went to a particular group, describe the group ("monthly donors list", "volunteer WhatsApp group") rather than the individuals in it. That keeps the log safe to share with anyone on the team and keeps your analytics free of personal data.
Connecting the log to your naming rules
The log and your naming rules work together. The rules keep values consistent; the log explains them. When you find a value in the log that breaks the rules, such as a capital letter or an unapproved medium, it is a good moment to correct the habit before it spreads. UTM naming conventions has a one-page set of rules to pair with this log.
A starter template
Create a spreadsheet with these headings in the first row, and you are ready:
Date created | Campaign | Source / medium | Content | Where it was used | Full link | Owner | Notes | Visits (first 2 weeks)
Freeze the header row, turn on filters, and sort by date with the newest at the top. That is all the structure you need. Most teams find that after one or two campaigns the log becomes the first place they look when planning the next one, which is the clearest sign it is working.