This guide is built from the practical experience of animal organizations across Europe who ran Meta ad campaigns during the 2024 year-end fundraising season (for context, see the results from 2023 and 2024). Also, if interested in joining the Support group, click here (or reach-out akvile@growth-impact.eu directly).
Some organizations were first-timers, others had experience, but all had learnings worth sharing.
For benchmarking, cost per donor and other data, see the table here.
The guide was created under Growth and Impact group, organization which helps and supports other Groups and Specialists in getting Regular donors, Activists and Supporters.
You’ll find:
What worked (and what didn’t)
How to plan your campaign
How to target the right people
What creative gets results
How to track success without getting fooled by vanity metrics
The goal is simple: help you build Meta campaigns that turn into regular donors (also called monthly givers).
3 core principles to remember
1️⃣ You need to invest to get results: Meta is not a free tool. If you don’t put money behind your campaign, you won’t reach the right people and you won’t get donations. Treat this as an investment in long-term support.
2️⃣ Good testing and clear reporting are everything: You won’t know what works unless you test different messages and formats. But testing is useless without good data. Use tracking tools (like UTMs and your CRM) so you’re not flying blind. For more info about UTM tracking please see the guide here.
3️⃣ Focus on content: The strongest campaigns use emotional content, social proof (“100+ donors already gave”), and countdowns (“Only 3 days left!”). Plan for urgency, especially at the end, to drive action.
Define responsibility across content creation, ads management, budget tracking, and reporting. Clear roles means everyone knows what to do.
If working with an agency, confirm they have nonprofit experience.
Set regular check-ins (daily or every other day during the campaign).
✅ Align on campaign objectives
You will be most probably optimizing for regular donors.
Align targeting and creative (graphics, videos, texts) accordingly. Keep this in mind troughout the creation of everything: this is my goal.
✅ Set realistic budget expectations
Be ready to invest. Meta isn't free to play platform anymore. Yes, sometimes it's possible to get organic reach but usually through non-campaign related or very unique content (positive news, fun content, breaking news and similar). For year end fundraiging campaign, you need to work with specific audiences and messages which are delivarable mostly only through paid reach.
First-time teams should anticipate higher cost per donor acquisition. Regular donor acquisition often can exceed €100 per conversion. This should be calculated beforehand as when you want you investment back. Usually, you optimize for target price per regular donation: your average monthly donation × 10. This means you will get your investment back in a year.
Use an investment mindset: long-term ROI matters more than immediate returns.
Be ready to scale up budget. If you are hitting your target price, put more budget into the ads. It's that simple. When not hitting the target price, use different content or target audience.
✅ Prepare tech setup in advance
You need proper tracking to avoid wasting money. Set this up before launch:
Meta Pixel: This is a small piece of code you install on your website. It helps Meta track user behavior after someone clicks your ad – like whether they landed on a donation thank-you page. You set this up through Meta's Events Manager, where you can also create and manage your pixel.
UTM Tracking: UTMs are custom tags added to the end of your URLs. They let tools like Google Analytics or spreadsheets track which specific ad brought someone to your website. You can generate these links easily using Google’s UTM builder. Example: ?utm_source=facebook&utm_medium=ad&utm_campaign=yearend2025. For more info see the guide here.
CRM Integration: CRM (Customer Relationship Management) tools help you track donors – who gave, when, how much, and whether they’re giving monthly. Popular options include Donorbox or Salesforce
This can be a lot but is crucial for success of your Meta ads. If this is isn't within your experience, ask other orgs or consultants for help. Without proper reporting, you can't get good results.
One organization thought they had 173 regular donors from Meta Ads. After a while they looked deeper. Through UTM tracking, they found out the actual number of acquired regular donors is 38.
Why it happened?
This was due to how Meta attribution model works. They were targetting the same target groups both in newsletter and Meta Ads. And even though the conversion actually happened after clicking a link in a newsletter, same people already either saw or clicked the Meta Ads as well beforehand.
So Meta was like – this is my conversion. UTM tags and backend reporting saved their decision-making.
Learning: don't trust only Meta Ads data, always compare it to your data from UTM tracking
🔥 Start with warm audiences
Petition signers/email subscribers
One-off and regular donors
Website visitors
Social engagers (engaged with your Facebook or Instagram page)
The audiences above are your essentials. If you have capacity for more testing, then use audiences below as well.
🔍 Add cold audiences
📘 Definition: Cold audience = audiences based on general interests or demographics. They’ve likely never interacted with your content before.
Special type of cold audiences are lookalike audiences: people on Facebook or Instagram who are similar to your existing donors. Meta analyzes what your donors have in common - like age, location, or interests - and finds other users who share those traits. You create lookalikes based on a source audience, like your donor email list. You can find more info here. Don't worry if lookalikes don't work. It's usually quite random, sometimes they work, other times not really.
🎯 Meta targeting settings
When setting up your campaign, think about targeting as a spectrum - from the warmest audience (people who already know you) to the coldest (people who’ve never heard of you)
In most Meta campaigns, you’ll want to create 3–5 different target groups (called "ad sets") so you can test what works best. Further down the guide you can find more info on this.
Start with warm audiences like petition signers - these usually give you the best results. Then, if you have budget and capacity, test broader groups like lookalikes or interest-based segments.
The "narrow to wide" principle means:
Narrow = warm audiences (people who signed your petition, visited your site, or engaged with your posts)
Wide = cold or broad audiences (people Meta thinks might care, but who don’t know you yet)
You can also narrow within an ad set by layering filters (e.g. women aged 25–45 living in cities, interested in vegan food).
Always compare performance between these groups.
You may think you should exclude your existing regular donors or one-time donors. But one organization found out that one of their most effective audiences were one-time donors who converted to monthly.
Learning: Don't over-exclude. Donor audiences are often small and cheap to reach. Target one-off donors to convert them into regular donors. Target regular donors to motivate them to give more.
This is done in "Audience" settings within Business Manager. You can get creative! Upload your supporters list or one off donors. You can create audiences like: people who engaged with your Facebook page, or people who engaged with specific videos.
For lookalike audiences. Use high-quality sources like donors and email lists. Test 1%, 2%, and broader percentages gradually.
Most importantly: test your audiences. Create different ad sets with different audiences with the same content and see the results.
You go from broader targeting to narrower targeting (e.g. women 25–50 interested in animal welfare) to your warm audiences like supporters list.
Before anything goes live, you need content. No content, no campaign. This means:
📸 Build a content library – prepare a folder of usable, high-quality images and videos of animals. Think emotional appeal. Close-up. One animal. Real story.
🎨 Make it work with what you have – don’t have quality photos? Ask partner orgs or check your archive – create graphics using older images and simple overlays ("Only 10 animal defenders left", "Donate now"). If you have content which worked for you in the last year, use the same content this year.
🎥 Video can work, but it’s hard to nail – production takes time and budget. Unless you already have powerful raw material and editing capacity, don’t make video your main bet.
🧪 Test everything – there’s no universal best format. Run at least 3–5 creative variants per target group and let the data guide you.
Buuuuuut… even though there’s no universal rule, here’s what actually worked for different orgs:
✅ STATIC VISUAL
Graphics with an emotional photo and text on the image is the usual way to go.
But it doesn't have to be only graphics. You can use just photos as these will be accompanied with headlines and primary texts in dark posts (❓What are dark posts? These are ads that you do not post on your Facebook or Instagram page - they’re shown only to targeted audiences and are build in Ads Manager. They only appear on the news feed, and are labeled as sponsored content).
Drastic images worked usually best. Don't use images with a lot of visible blood as this can be rejected by Meta, but animals clearly in distress worked the best.
Which animals to show? This is very specific for different organizations based on the campaign goals. If your campaign however allows showing different animals in the ads, definitely try it out and test it. For one organization, images of piglets were the most effective. In another, hens in poor living conditions outperformed all other visuals.
Choose images with contrast, clear emotional expression, and visible context (e.g. living conditions, cages).
Other formats to try: Carousel posts work well for storytelling - each slide can show a moment in the animal’s journey.
📝 TEXT ON IMAGE
Urgency lines (“Only few days left to donate”, “Only 10 people missing”)
Matching offer callouts (“Your donation = 3x impact”)
Social proof (“100+ donors joined”)
📣 PRIMARY TEXT / HEADLINES (TEXT NOT ON IMAGE)
Simple and action-driven: “Become a defender of animals.”
Short intro, then quick CTA: “You can stop this suffering. Donate now.”
If testing longer copy, keep it focused on why now and why you. Good idea is also to use single animal's voice in first person ("I was born in suffering and this is my story...").
🎥 VIDEOS
Only worked well when:
Emotionally strong scenes (e.g. inside factory farms)
Short and punchy (under 30 seconds)
Doesn’t have to be high production. A simple 10-second phone video can work if it shows something emotional or urgent.
Video example: someone from your organisation (e.g. campaigner, director) talking directly to the camera with cuts back to animal footage.
🧾 MESSAGING TIPS
Urgency drives action: countdowns, limited-time matching, end-of-year framing (“Matching ends tonight” → urgency spike).
Social proof boosts trust: "Hundreds already donated"
Concrete number of donors usually works "Only 10 donors missing"
Empower the donor: use "You can help" or "Your donation changes lives."
Links to more content of different orgs can be found here.
Example from Tušti narvai (Lithuania)
SPONSORED ORGANIC POST
Visual: Piglet in distress, muddy environment, emotional expression
Text on Image: “NOW YOU CAN PROTECT THEM: Become a protector for animals
Social proof bar: “507 people already joined”
Primary text:
NOW YOU CAN PROTECT HIM: become a legal animal defender ❤️🐷
He was only a few days old, but already had to endure unimaginable pain. First, metal pliers are used to cut his teeth. Then his tail is docked using the same tool. And on top of that, he’s castrated — all without anesthesia.
This is routine. This is legal. This happens without any pain relief.
We wouldn’t allow dogs or cats to be treated like this — so why pigs?
Now YOU can protect piglets like him by supporting our demand to make better laws for animals in Lithuania.
Join the movement for stronger legal protection. Your pledge guarantees that the parliament will create better animal laws — and that we can continue fighting for them.
[Link to landing page]
Example from Nähtamatud Loomad (Estonia)
DARK POST
Visual: Bald hen in a cage - clearly in poor condition, emotionally triggering image
Urgency in top part of the image: “Only until December 31”
Main headline in image: “ONLY NOW YOUR MONTHLY DONATION WILL BE DOUBLED”
CTA Button style is matching oriented: DONATE (15+15)
HEADLINE in the lower part (outside image): Become a monthly donor
Primary text:
⭐ Become a hero for animals and start a monthly donation ⭐
In December, a generous major donor will double your monthly contribution ❤️❤️
Example from Anima (Norway)
DARK POST
Visual: single image, calf peeking out from a transport vehicle — direct gaze
HEADLINE in the lower part (outside image): Double the effect of your donation!
Primary text:
🛑 Totally legal: Calves can be isolated alone for up to 8 weeks!
Just hours after being born, they are taken from their mothers and placed alone in tiny pens. This is the reality for thousands of calves every single year. 😢
Now is the time to act — become a monthly donor today and your donation will be doubled! 💰✨
Many people believe that all calves in Norway are well cared for. The truth is, they’re mostly seen as byproducts of the dairy industry — and the law allows this. Not enough protection. No proper regulations for how to treat them in their most vulnerable weeks of life.
Imagine being born and never seeing your mother again.
In the coming year, we will fight to end isolation of calves and push for better laws. But we need your help. With just 150 NOK per month, you can help protect animals — and now your first donation will be doubled.
🐮 This is your chance. Only a few weeks left until the end of the year.
Become a monthly donor today and double your impact for the animals ❤️
Example from Tušti narvai (Lithuania)
DARK POST (video link)
Visual: video of director of the organizations along with scenes of piglets
Video captions:
“In Lithuania, newborn piglets just a few days old can be mutilated without any pain relief.
Right now, piglets are being castrated on Lithuanian farms without any anesthetics.
You can change that.”
“Join the ranks of animal law defenders and help ensure that proper laws to protect animals are passed in Lithuania.
Support the fight for animals with a monthly donation and guarantee
that victories for animals don’t stop.”
HEADLINE in the lower part (outside image): Protect animals ❤️
Primary text:
NOW YOUR FIRST DONATION TO ANIMALS WILL BE TRIPLED ❤️
Right now, you have a chance to help animals suffering the most in Lithuania — your first monthly donation will be tripled. That’s a triple gift for the animals. 🐷
Join the movement of animal law defenders and make sure the fight for animals doesn't stop.
Your support guarantees that politicians pass better laws to protect and defend animals already suffering.
Example from Otwarte Klatki (Poland)
SPONSORED ORGANIC POST (video link)
Emphasized urgency and emotional appeal
Visual: short video of a single bald hen in a dark, crowded farm corridor.
Video captions:
It's the last day!
Do it for her.
Join the fundraiser at obronca-zwierzat.pl
Primary text:
If you are reading this, it means that the fate of animals is really on your heart!
Your empathy and support can make a difference in their fate today. 🧡
This is the last day to join the collection and help the laying hens. Every donation, is a step towards a better tomorrow for the animals!
👉 Join now
Drastic but non-bloody images of animals in distress
Urgency overlays like “Only 10 defenders left”
Static image with emotional impact
Matching donation messaging (e.g. “Tripled until Dec 31”)
Real person speaking + cut to issue
Direct address to the supporter: “You can help”
Clean, pretty animal photos with no context
Generic text with no action or time pressure
High-production video with no strong narrative
Asking for help without incentive or reason why now
Polished animations or explainer formats
Institutional language like “We work to...”
How to structure your campaign
1️⃣ Campaign Level
Usually it's best to use objective as “Sales” → “Conversions” → "Website donations"
You don’t need hundreds of conversions for the Meta algorithm to "learn" - but it still helps to have a focused setup. Conversions can be expensive, especially if your budget is tight.
If you're splitting your budget too thin across many campaigns or ad sets, you won't give any of them a fair shot to optimize.
In low-budget or early-phase situations, it can make sense to run Traffic or Landing Page Views campaigns instead — but only if you're tracking results via UTMs and backend reporting.
Traffic can be a solid warm-up phase to bring people to your site - followed by retargeting with conversions.
⚠️ Meta’s native A/B Testing tool ("Experiments") is often clunky and rigid. It locks your setup and makes changes harder. Better to test manually by duplicating ad sets or ads.
2️⃣ Ad Set Level
Audience is defined here. Start with 2-5 ad sets (per campaign) based on different groups:
One-off donors
Petition signers
Website visitors
Lookalikes
Cold interests
Budget strategy: either split your total budget between sets or use CBO (Campaign Budget Optimization) on campaign level. There isn't really a better solution here as this is mainly about how much flexibility are you giving Meta alghorithm and how much control do you want to have.
3️⃣ Ad Level
Upload 3–10 ad versions per ad set (different images, different copy, etc.)
Too often, teams make 3 similar ads and give up. Push yourself to create at least 10 strong, clearly different ads. The good ones will stand out in testing. Ideally the more you have the better.
🎯 Goal: The structure should help you learn what audience + message + visual works - and give you room to adjust fast.
Once your campaign is running, your job isn't done. How you manage the campaign daily can make the difference between success and wasted money.
Budgeting & scaling
Don’t "set it and forget it" - monitor results every day. Scale up the ads that are performing well (they are bringing in donors at your target cost), and pause those that aren’t. A good rule of thumb is to spend at least double your target cost per donor acquisition before making decisions.
For example, if your goal is to get one regular donor for €50, let the campaign spend about €100 before judging it. This ensures you collect enough data for Meta to learn and optimize - and gives your ads a fair chance.
Most donations come in the last 3–4 days of the campaign. Plan to increase your spend near the end.
What to test (and what not to)
You don’t need to test every tiny thing. Focus on testing what actually makes a difference:
Visual type: photo vs. graphic
Message angle: urgency vs. hopeful impact
Format: static image vs. video vs. carousel
Test big differences, not small tweaks. Beginners often create 3 ads that are almost the same and then conclude "ads don’t work." The more different versions you test, the more likely you'll find one that clicks.
Daily monitoring is a must
Check your ads every day. Focus on cost per donor.
Meta's algorithm often needs some time to learn. Give each ad or ad set enough time and budget to show potential - ideally around double your target cost per donor as mentioned above.
If after 2–3 days of spending that budget you still see no results, pause the ad or lower its daily limit to minimum and test new creative. Big budget burns early on are rarely effective - scaling slowly based on real performance is the better move.
Meta won't auto-fix your ads - it's up to you to monitor and adapt.
Don’t trust Meta blindly
Meta attribution is generous towards its own results in the Ads Manger.
Track results with your CRM or donation system through UTM.
Clicks aren’t conversions - confirmed donors matter.
Use UTM tracking to stay in control
Add UTM tags to all ad links.
Track results in Google Sheets or Looker Studio.
What to measure
Compare Meta vs. real donations.
Segment results by audience/content variations
Step 1: Plan & Assign Roles
✅ Who’s writing copy?
✅ Who’s making visuals?
✅ Who’s posting it on FB/IG?
✅ Who’s running ads?
✅ Who’s reporting results?
Step 2: Define Your Goal
🎯 Budget and cost-per-donor target?
Step 3: Set Up Tech
🔧 Install pixel
🔧 Create UTMs for each ad
🔧 Check donation tracking (CRM / platform)
Step 4: Target Smartly
🔁 Target petition signers, donors, visitors
🔍 Test mainly warm audiences, but use also broader targeting and interest based targeting
🧬 Build lookalikes from quality audiences
Step 5: Launch the Right Creative
🐥 Well chosen static image can work well. Don't overthink it.
📊 Videos can really work, but keep them short and engaging
🕐 Use urgency + social proof
✍️ Short copy, clear CTA, or long copy with why you, why now
Step 6: Monitor & Adapt
📊 Check daily: Cost per donor, frequency, CTR
🔁 Reinvest in top ads, kill bad ones fast
📊 Compare Meta results to real donations
Step 7: Wrap Up & Learn
✅ Wrap up the data in a clear way so everyone understands what was working, what wasn't working
✅ Save best performing creatives
✅ Debrief the team
✅ Plan early for the next year
If you have feedback or questions please contact Matěj Fišer, social media strategist: matej@growth-impact.eu