Skip to main content

    Nonprofits & Associations · project showcase · message operations

    Project ShowcaseReal client work that shipped. No performance figures are published, because none have been verified and approved for release.

    A message calendar built from the supporter's inbox, not the team's campaign list

    Every team in a nonprofit plans its own sends and nobody plans the year the way a supporter experiences it. This calendar holds one row per message a single subscriber receives, in the order they receive it — so the weeks when four teams all send on a Tuesday are visible in October, not discovered in December.

    At a glance

    The engagement in brief

    Services

    • Email Marketing
    • Content Systems
    • Content
    • Reporting

    Stack

    • Shared calendar workbook
    • Email platform
    • Segment definitions
    • Suppression rules

    The situation

    What we walked into

    A nonprofit's calendar is usually four calendars: fundraising, advocacy, programme communications and events, each owned by a different team and each internally sensible. None of them describes what actually happens to a supporter, which is that some weeks they hear nothing and other weeks they get an emergency appeal on Monday, a petition on Tuesday, a newsletter on Wednesday and an event invitation on Thursday, all from the same organisation. The team sees four reasonable campaigns. The subscriber sees an organisation that cannot decide what it wants.

    Four teams, four sensible calendars, one supporter receiving all of them. Nobody in the building was looking at the fourth view.

    What we found

    The diagnosis

    1. 01

      The unit of planning is the message received, not the campaign sent

      One row per send per segment, ordered by date, is a longer document and the only one that shows collisions. A campaign-level calendar hides them by construction, because two campaigns can be a fortnight apart on the plan and still land in the same inbox on the same morning.

    2. 02

      Suppression rules belong in the calendar, not only in the platform

      Written next to the row they apply to — sustainers excluded from this appeal, recent donors from that one, advocacy-only subscribers from both — the rules get reviewed by the people planning the sends instead of living inside a saved segment nobody opens.

    3. 03

      December has to be planned in August

      Year-end sending is where the inbox is most crowded and the rows have the least slack, and it is usually the part of the calendar written last. The calendar locks the year-end rows first and fills the rest of the year around them.

    4. 04

      Advocacy and fundraising are different asks and the calendar has to see them as different

      A petition and an appeal ask different things of the same person, and the order between them matters. Marking each row with its ask type makes an otherwise invisible pattern visible: how often a supporter is asked for money immediately after being asked for a signature.

    The number behind it

    What this is built around

    Sector giving rose **5.0%** while donor counts fell **3.6%** for a fifth straight year (Fundraising Effectiveness Project, full-year 2025) — a retention problem. Over-mailing a shrinking donor base accelerates it, which is exactly what the inbox-view calendar is built to prevent.

    What we built

    The system

    The workbook holds one row per message per segment: date, segment, ask type — appeal, advocacy, newsletter, event, stewardship — the owning team, the subject line, the suppression rules in plain language, and the link to the built email. A second view sorts those rows by segment and date: the subscriber's view, and the one used in planning meetings. Year-end is locked first. Collision rules are explicit: no two asks of any type to a segment inside a defined gap, and no appeal within a defined window of an advocacy send to that segment. Rows breaking a rule are flagged in the sheet rather than argued about in a meeting.

    A message calendar built from the supporter's inbox, not the team's campaign list — loopA repeating cycle of 8 steps, beginning at "Team plans a send" and feeding back into itself.Team plans a sendRow added with segmentand ask typeSuppression rules writtenin plain languageSubscriber view re-sortedCollision checkFlagged rows resolvedYear-end locked firstSend built and linked

    The sequence

    How it was delivered

    1. Week 1

      Segment definitions

      Segments named and defined once, then used by every team

      Owner: OmniFlow + organisation

    2. Week 1

      Year-end lock

      December rows placed before any other planning begins

      Owner: OmniFlow + fundraising

    3. Weeks 2–3

      Calendar build

      All planned sends entered as one row per message per segment, both views live

      Owner: OmniFlow

    4. Week 3

      Collision rules

      Gaps agreed in writing, flags applied in the sheet rather than by memory

      Owner: OmniFlow + team leads

    5. Ongoing

      Monthly review

      Subscriber view reviewed together; flagged rows resolved before builds start

      Owner: All teams

    Outcome

    What shipped

    This entry makes no performance claim. It documents a planning structure and the problem it exists to make visible: a year that looks reasonable from four desks and looks relentless from one inbox.

    Reporting

    What you would actually see

    These are the surfaces this engagement is run and measured from, shown with representative figures built around the benchmarks cited on this page. Every account we run reports into views like these, and you keep ownership of all of them.

    These are demo dashboards. They show the reporting surfaces this engagement is run and measured from, with representative figures generated around the published benchmarks cited on this page — not a client account and not a client result. Live reporting for your own account replaces every number here.

    Google Analytics 4

    Nonprofits & Associations · all web data

    Demo
    Acquisition overview
    Last 12 months vs. preceding period

    Sessions

    3,019

    +43.4%

    Key events

    121

    +54.2%

    Session key event rate

    4.0%

    +1.1%

    Engagement rate

    53.4%

    +4.0%

    Sessions by month

    AprJunAugOctDecFeb

    Dashed line marks the month the engagement started.

    Session default channel groupSessionsKey eventsRate
    Organic Search1,242725.8%
    Paid Search789283.5%
    Direct459183.9%
    Referral306134.2%
    Organic Social22394.0%

    LinkedIn Campaign Manager

    Sponsored Content · Nonprofits & Associations audience

    Demo
    Campaign performance
    Last 12 months

    Impressions

    117,946

    +30.2%

    Clicks

    523

    +33.2%

    CTR

    0.4%

    +0.17%

    Cost per lead

    $89.44

    -21.1%

    Impressions by month

    AprJunAugOctDecFeb

    Dashed line marks the month the engagement started.

    CampaignImpr.ClicksLeadsCPL
    Thought leadership — practice leads40,10217812$89.44
    Problem-aware — retargeting30,6661369$89.44
    Case study download25,9481158$89.44
    Webinar registration21,230946$89.44

    CRM pipeline

    Nonprofits & Associations · inbound and outbound

    Demo
    Pipeline by source
    Last 12 months

    Leads created

    162

    +70.1%

    Qualified

    70

    +80.7%

    Meetings booked

    32

    +84.2%

    Answered on first attempt

    71.7%

    +17.0%

    Leads created by month

    AprJunAugOctDecFeb

    Dashed line marks the month the engagement started.

    First-touch sourceLeadsQualifiedMeetings
    Google Ads — high intent502210
    Organic search44199
    Business Profile — call31136
    LinkedIn outbound23105
    Referral1573

    Honestly

    What we would do differently

    The first version was a single sorted sheet with no separate subscriber view, on the assumption that a filter would do the same job. It did not — a filter is something someone has to remember to apply, and in a meeting nobody applies it. The subscriber view is now the tab the file opens on, and the campaign view is the one you have to click to.

    Next

    Start the same conversation

    Start the same conversation

    Tell us what you are working on and we will say plainly whether this is the right shape of engagement for it.

    We use your details only to respond to this request. No lists, no resale.