Skip to content

Design, Development, & Campaign Performance TrackingCampaign Dashboard & Tracking Plan

Hunger Action Month Campaign Dashboard

A live campaign dashboard for Children's Hunger Fund, and the tracking plan underneath it: the ministry's first analytics governance, turned into an internal tool that shows leadership how the campaign is doing, as it happens.

Client
Children's Hunger Fund—A Christian Non-Profit Ministry
Role
Designer, Developer & Analytics (sole developer)
Platform & Tools
WordPress (custom plugin)
PHP, JavaScript, Google Analytics 4, Google Tag Manager
Deliverables
Tracking infrastructure plan, implementation backlog, campaign dashboard
01

Overview

Hunger Action Month was the first Children's Hunger Fund campaign measured end to end. The analytics tools were already installed, but no one had checked what they actually tracked, and the numbers sat where only technical users could find them. The campaign page produced the data; this project made that data trustworthy and put it in front of the people who needed it.

It had two parts that depend on each other:

  • A tracking plan that set the rules for what the ministry measures and how.
  • A live dashboard, built as a WordPress plugin, that turned those numbers into a view anyone on the team could read without opening an analytics tool.

Loading video...

Campaign dashboard preview (figures blurred)
113
Completed donations in view
92
Distinct donors, 9 of them monthly
2.7×
Email’s value per donation vs. paid social
37
Checkout form errors surfaced
02

Results & Impact

The ministry now has its first documented, governed analytics framework, and Hunger Action Month became the first campaign where leadership could answer “which channel raised the money?” with confidence. The dashboard gave non-technical staff live visibility into the campaign, and its background-and-cache design became the pattern for the internal reporting tools that followed.

It paid off in the campaign month itself. One view of giving (from Classy) and behavior (from Google Analytics 4) made three patterns visible that no single tool showed:

  • Channel value, not just volume. Email's donations were each worth roughly 2.7 times a paid-social donation, even though paid social sent most of the traffic.
  • Friction in the giving flow. 142 checkout starts against 113 completed donations, with the address fields behind the most common form errors. That's exactly what the Donor Care Director needs when deciding whether to keep the donation platform, look for another, or build one in-house: it shows where donors drop off today, and whether the fix is a setting on the current platform or a limit of the platform itself.
  • Where monthly giving fell short. Monthly was selected 45 times against 21 for one-time, but only 9 donors ended up recurring.

The full breakdown is in the Hunger Action Month case study.

03

The Plan

Before building anything, I wrote the ministry's first tracking infrastructure plan, which became the reference for all of its marketing analytics:

  • A verified baseline. An audit of the whole tracking stack across ten platforms, from analytics and giving forms to email and event registration. I tested every layer with debug tools and live test donations, and mapped what each team relies on analytics for.
  • Four questions. Every tag has to serve one of them, in priority order: which channels raise money, how the giving funnel performs, how the list grows, and how programs are used. A tag that serves none is a candidate for removal.
  • One standard for links, built on the link-tagging definitions and generator I created, and a single, versioned home for every tag on the site.
  • A prioritized backlog of sixteen fixes, ranked by severity and sequenced so the data could be trusted before anything was built on top of it.

Most of the highest-priority fixes were resolved within the first month, including keeping sessions intact across the main site and the giving site, tracking where each call to action was clicked, and cleaning out duplicate and legacy tags.

04

The Dashboard

With the plan in place, I designed and built a private campaign dashboard as a custom WordPress plugin, on a password-protected page for internal staff. It brings the numbers into one readable view: donations and recurring gifts, one-time versus monthly giving, audiences and devices, the channels that drove them, and how visitors engaged with each part of the campaign page.

I built it around one rule: the website never waits on an outside service.

  • Fetched in the background. Analytics data is gathered on a schedule, outside of anyone's visit.
  • Served from a cache. The dashboard only reads data that's already been saved, so it loads instantly and can't tie up the site.
  • Last good numbers, not downtime. If the analytics service is slow or unavailable, the dashboard shows slightly older numbers and logs the failure quietly, and the website stays up.
05

Learning & Next Steps

What I learned

  • Agreeing on what to measure and how to validate it before building anything meant the dashboard could show numbers people could trust.
  • Reading only cached data traded a little freshness for reliability, so a slow analytics service can never take the website down.

What's next

  • Show checkout starts, completions, and the leading form errors side by side, so friction is visible while a campaign is still running.
  • Report value per donation by channel next to traffic, so the gap between email and paid social is visible without a calculation.
  • Reuse the background-and-cache pattern for further internal reporting tools.

[ Let's connect ]

Let's work together

Have a project, a role, or an idea in mind? I'd love to hear about it.

cyril.florita@pm.me

Built with React, NextJS, & some cool JS libraries & plugins, and with lots of