Published on 8/4/2025 Staff Pick

Solved: Data Hashing Requirements for Meta Ads Attribution

Inside this article, you'll discover:

I’m setting up GTM containers to track users from ads to a subdomain form. Its not clear to me what info, like from the form, need to be hashed first. Is it okay if Meta hashes the data? or should I do it? I herd if Meta does it, the data needs to be in a special format so they can hash it right for attribution. Also, what exact data from the basic info I collect has to be hashed? Like, every single piece?

Mentioned On*

Bloomberg MarketWatch Reuters BUSINESS INSIDER National Post

Hi there,

Thanks for reaching out! Happy to give you some initial thoughts and guidance on your Meta CAPI question. It's a good question and one that trips a lot of people up, so you're right to be digging into the details. Getting this stuff right from the start saves a world of pain later on.

The technical setup is definately one piece of the puzzle, but the real value, the thing that actually moves the needle on performance, is what you *do* with that data once it's flowing correctly. So I'll give you my take on the hashing question first, and then maybe we can broaden out a bit and look at how this all fits into a strategy that actually gets you the results your after. It's all connected at the end of the day.


You definetely need to hash your data...

Alright, let's get straight to it. Your main question about whether to hash before sending data to the sGateway. The short answer is: yes, absolutely, one hundred percent. You MUST hash all personally identifiable information (PII) on your side, within your server-side GTM container, *before* you send it to Meta. Don't even think about sending it raw.

The confusion you've seen online is understandable, because Meta's documentation can be a bit dense and people often misinterpret it. Here's the simple way to think about it. Your responsibility, as the one collecting the data, is to protect your user's privacy. Under regulations like GDPR in Europe and similar laws elsewhere, you can't just be slinging people's personal details across the internet unencrypted. It's a massive legal and ethical liability. Hashing the data before it leaves your server is how you meet that obligation. It turns "john.doe@email.com" into a meaningless string of characters that can't be reversed.

So why do people say "Meta will hash it"? Because they do, but it's a different step for a different reason. Meta needs the data in a very specific, standardised format (SHA-256) so it can effectively match that hashed string from you against the hashed data it has for its own users. When your hashed data arrives, Meta takes it and re-hashes it using their own system to ensure it's in the perfect format for their matching process. It's a verification and standardisation step on their end.

Think of it like this: you're sending a sensitive document by post. Your job is to put the document inside a secure, sealed envelope (that's your hashing). You then give that sealed envelope to the post office. The post office might then put your envelope into a special, tracked mailbag along with other sealed envelopes (that's Meta's process). You wouldn't just hand the postman the loose pages of your document and hope for the best, would you? It's the same principle. You do your part first, then they do theirs. Relying on Meta to do the initial hashing for you is a disaster waiting to happen and, frankly, its just not how the system is designed to work. To be on the save side, you always, always hash first.


I'd say you should hash all PII...

So, your next question was what data actually needs to be hashed. Looking at the list you've got in your screenshot, my advice would be to hash pretty much all of it. When it comes to user privacy, the best approach is to be over-cautious rather than under-cautious.

Let's go through the list:

-> Email (em) & Phone Number (ph): These are the big ones. Non-negotiable. They must be hashed. They are the strongest unique identifiers for Meta's matching process, so getting these right and sending them securely is probably the most important part of the whole setup. This is where you'll get the biggest uplift in your match quality score.

-> First Name (fn) & Last Name (ln): Again, absolutely hash these. This is core PII. You need to lowercase them and remove any punctuation before hashing to give Meta the best chance of a match.

-> City (ct), State/Province (st), Post Code (zp), Country (country): Yep, hash these as well. While a single piece of location data like 'London' isn't unique, a combination of city, postcode, and country can become quite specific. Best practice is to treat all of it as sensitive and hash it. It all helps the algorithm build a more confident picture of the user without you ever exposing their raw data.

-> Client IP Address & Client User Agent: These are also considered PII under most data privacy laws. The IP address in particular is a strong location and user signal. Hash 'em. No question.

The main goal here is to send as many of these signals as you can, because the more hashed data points Meta can use to triangulate a user, the higher your Event Match Quality score will be. A higher score means Meta is more confident that the user who filled out your form is the same user they saw an ad. This leads to better attribution, which means you can actually trust your reporting, and more importantly, it gives the algorithm much more accurate data to optimise your campaigns with. So the rule is simple: if it can be used to identify a person, even indirectly, you should hash it.


We'll need to look at why this setup is so important...

Okay, so we've covered the 'how'. Now let's talk about the 'why', because understanding this is what seperates people who just run ads from people who build profitable advertising systems. The reason you're going through all this hassle with server-side GTM and CAPI is to solve a huge problem that has been getting worse for years: the unreliability of browser-based tracking.

With things like Apple's iOS14 updates, Intelligent Tracking Prevention (ITP) in Safari and Firefox, and the rise of ad blockers, the standard Meta Pixel that runs in a user's browser is becoming blind. It gets blocked, its cookies get deleted, and a huge chunk of your conversion data simply vanishes. You might get a form fill, but the Pixel never fires, so Meta never knows about it. The result? Your reported CPA (Cost Per Acquisition) goes through the roof, you can't tell which ads are working, and the algorithm is starved of the data it needs to find you more customers. It's trying to fly a plane with a blindfold on.

The Conversions API is the solution. Because it sends data from your server directly to Meta's server, it's immune to all that browser-level interference. It's a clean, reliable, unbreakable data pipeline. When a user fills out your form, your server knows it happened. By sending that event via CAPI, you guarantee Meta knows it too.

This has a massive impact. I remember we were working with a client in the medical recruitment space, a kind of job matching SaaS platform. When they came to us, their CPA was around £100 per user acquisition, which was just crippling them. The first thing we did was a full audit of their tracking. It was a mess, relying solely on a patchy pixel implementation. We rebuilt the entire thing using a server-to-server approach, much like what you're doing now. Once we had that reliable data flowing, we could actually start optimising properly. We were able to reduce their CPA from £100 all the way down to just £7. That's not a typo. A 93% reduction. Of course we worked on ads and targeting too, but none of it would have been possible without fixing the data foundation first. The reliable data from CAPI was the bedrock of that success.


You probably should structure your campaigns to use this data...

So, you're building this brilliant, robust data pipeline. Now what? The biggest mistake I see people make is they set up CAPI and then just carry on running their campaigns the same way they did before. You've just upgraded from a horse and cart to a Formula 1 car; you need to learn how to drive it properly to get the benefit.

The real power of your CAPI data comes to life in your audience strategy. With accurate, server-verified conversion events, your ability to create custom audiences becomes a superpower. This is where you can implement a proper funnel-based campaign structure – what some people call Top-of-Funnel (ToFu), Middle-of-Funnel (MoFu), and Bottom-of-Funnel (BoFu).

Your "form fill on a subdomain" event is a perfect, high-intent signal. Here's how you use it across the funnel:

-> ToFu (Prospecting): This is where you find new customers. The single most powerful audience you can now create is a Lookalike Audience based on the people who have completed your form fill. Because your CAPI data is accurate, you're feeding Meta a clean, high-quality list of your most valuable leads. The algorithm is brilliant at finding patterns, and it will go and find millions of other people who share the same characteristics. A Lookalike of actual leads is infinitely more powerful than a Lookalike of 'all website visitors'. You should test different percentages (1%, 1-3%, 3-5%) to see what works best for you.

-> MoFu (Consideration/Retargeting): This is for people who've shown interest but haven't converted yet. You can now create a custom audience of everyone who visited the landing page with your form on it, but then *exclude* the custom audience of people who successfully submitted the form (your CAPI event). This lets you run specific ads to those people who dropped off, maybe addressing common objections or reminding them of the benefit of filling out the form.

-> BoFu (Conversion/Exclusion): At the bottom of the funnel, you need to be efficient. You should be using your CAPI-powered 'form fill' audience as a master exclusion list across all of your ToFu and MoFu campaigns. There is no point continuing to spend money showing ads to people who have already done the thing you're asking them to do. It's wasted money and it annoys your new leads. Clean exclusions are a sign of a professionally managed account.

To make it clearer, here is a simplified way I'd think about structuring things based on your setup:

Funnel Stage Audience Example (based on your form fill) Campaign's Job
ToFu (Prospecting) Lookalike Audience (1%) of all users who completed the form fill event (from CAPI). Find new people who look exactly like your existing leads. This is your primary growth engine.
MoFu (Retargeting) Custom Audience: All users who visited the form page in the last 30 days.
EXCLUDE: All users who completed the form fill event.
Bring back the people who got close but didn't convert. Overcome their hesitation.
BoFu (Exclusion) In your ToFu and MoFu campaigns, always exclude the custom audience of users who completed the form fill event. Stop wasting ad spend on people who have already converted. Keep your campaigns efficient.

By structuring your account this way, you're not just 'running ads'. You're building a machine. Each part has a specific job, and your clean CAPI data is the fuel that makes the whole thing run smoothly. Your gonna see much better results when every part of your spend has a clear purpose.


You'll need an offer that actually converts...

Now for some brutal honesty. This might be the most important part of this entire letter. You can have the most perfectly configured server-side tracking in the world, and the most sophisticated campaign structure known to man, but if your *offer* is wrong, none of it matters. The best tracking in the world can't fix a bad offer.

You mentioned your funnel is a "form fill on a subdomain". I have to ask: what is that form for? What are you asking people to do? In my experience, especially in B2B, the default offer is often a "Request a Demo" or "Book a Consultation" button. Let me be blunt: this is one of the worst, most arrogant calls to action you can have. It's high-friction and low-value. You're asking a busy person to commit their valuable time to be sold to, before you've given them anything of real value. It instantly positions you as just another vendor begging for their time.

Your offer's only job is to deliver an "aha!" moment. A moment of undeniable value that makes the prospect sell themselves on your solution. You have to solve a small, real problem for them for free to earn the right to solve the big one for a price.

If you're a SaaS company, this is your unfair advantage. The gold standard is a free trial, no credit card required. Let them get their hands on the product. Let them feel the transformation. When the product itself proves its value, the sale becomes a formality. We've worked with numerous B2B SaaS clients, and the ones that scale fastest are almost always the ones with a seamless free trial or freemium plan. We took one SaaS client from zero to 1535 trials by focusing the entire ad strategy around a frictionless self-serve trial. No demos, no salespeople. Just pure value first.

If you're not a SaaS company, you're not exempt. You must bottle your expertise into a tool or an asset that provides instant value. For an agency, it could be a free, automated website audit. For a data analytics company, a free 'Data Health Check' that finds issues in their database. For us, as a B2B advertising consultancy, it's this kind of advice and the free 20-minute strategy sessions we offer where we audit failing ad campaigns. We solve a small problem for free. You must do the same.

Think about what you can give away that demonstrates your expertise and solves a real pain point for your ideal customer. A checklist? A calculator? A short video course? A template? When you switch from a high-friction "Request a Demo" to a low-friction, high-value offer, your conversion rates will skyrocket. And what happens when your conversion rate goes up? You get more CAPI events, which feeds the algorithm better data, which creates better Lookalikes, which lowers your CPA. It is a virtuous cycle that all starts with having an offer people actually want.


I'd say you need to work out your numbers...

The final piece of the puzzle is understanding the economics of your own business. It's great that you're focused on the technicals of tracking leads, but a lead is only useful if you know what it's worth. The real question isn't "How low can my Cost Per Lead (CPL) go?" but "How high a CPL can I afford to acquire a truly great customer?" The answer to that lies in calculating your Customer Lifetime Value (LTV).

It's simpler than it sounds. You just need three numbers:

1. Average Revenue Per Account (ARPA): What do you make per customer, per month/year? Let's use a simple example and say it's £500 per month.

2. Gross Margin %: What's your profit margin on that revenue? After your cost of goods or cost of service. Let's say it's 80%.

3. Monthly Churn Rate: What percentage of customers do you lose each month? Let's say it's 4% (meaning the average customer stays for 25 months).

Now, the calculation is straightforward:

LTV = (ARPA * Gross Margin %) / Monthly Churn Rate

Using our examples:

LTV = (£500 * 0.80) / 0.04
LTV = £400 / 0.04 = £10,000

In this scenario, every new customer you acquire is worth £10,000 in gross margin to your business over their lifetime. This number changes everything. A healthy business often aims for a 3:1 LTV to Customer Acquisition Cost (CAC) ratio. This means for a £10,000 LTV customer, you can afford to spend up to £3,333 to acquire them and still have a very healthy, profitable business.

Now let's bring it back to your form fill. If your sales process converts, say, 1 in 10 of these qualified leads into a paying customer, you can do the math: £3,333 CAC / 10 leads = £333 per lead. You can afford to pay up to £333 for one of those form fills you're tracking with CAPI.

Suddenly, a lead that costs £50 or £100 doesn't look so expensive, does it? It looks like a bargain. This is the math that unlocks aggressive, intelligent growth. It frees you from the tyranny of chasing cheap, low-quality leads and allows you to confidently pay what's necessary to acquire high-quality leads that turn into valuable customers. Knowing your numbers is what turns advertising from a cost centre into a predictable profit engine.


This is the main advice I have for you:

I know that was a lot to take in, so I've put the main points into a table to summarise my recommendations for you. This is the path I'd suggest to go from having a technical question to building a proper, scalable advertising system.

Area of Focus Your Problem My Recommendation Why it Matters
1. CAPI Technicals Unsure about hashing requirements. Hash ALL PII (email, name, phone, location) on your server before sending to Meta. Ensures privacy compliance, improves Event Match Quality, and provides reliable data for Meta's algorithm.
2. Campaign Structure Not leveraging CAPI data for campaign optimization. Implement a funnel-based audience strategy (ToFu, MoFu, BoFu) using CAPI data for Lookalikes and exclusions. Optimizes ad spend, improves targeting accuracy, and drives better campaign performance.
3. Your Offer High-friction "Request a Demo" type offer. Develop a low-friction, high-value offer (e.g., free trial, audit, valuable asset) that provides an "aha!" moment. Increases conversion rates, generates more high-quality CAPI events, and fuels the virtuous cycle of better data and lower CPA.
4. Business Economics Unclear on what a lead is truly worth. Calculate your Customer Lifetime Value (LTV) to understand how much you can afford to spend per acquisition. Enables aggressive, intelligent growth, frees you from chasing cheap leads, and turns advertising into a predictable profit engine.
Real Results

See how we've turned 5-figure ad spends
into 6-figure revenue streams.

View All Case Studies
$ Software / Google Ads

3,543 users at £0.96 each

A detailed walkthrough on how we achieved 3,543 users at just £0.96 each using Google Ads. We used a variety of campaigns, including Search, PMax, Discovery, and app install campaigns. Discover our strategy, campaign setup, and results.

Implement This For Me
$ Software / Meta Ads

5082 Software Trials at $7 per trial

We reveal the exact strategy we've used to drive 5,082 trials at just $7 per trial for a B2B software product. See the strategy, designs, campaign setup, and optimization techniques.

Implement This For Me
👥 eLearning / Meta Ads

$115k Revenue in 1.5 Months

Walk through the strategy we've used to scale an eLearning course from launch to $115k in sales. We delve into the campaign's ad designs, split testing, and audience targeting that propelled this success.

Implement This For Me
📱 App Growth / Multiple

45k+ signups at under £2 each

Learn how we achieved app installs for under £1 and leads for under £2 for a software and sports events client. We used a multi-channel strategy, including a chatbot to automatically qualify leads, custom-made landing pages, and campaigns on multiple ad platforms.

Implement This For Me
🏆 Luxury / Meta Ads

£107k Revenue at 618% ROAS

Learn the winning strategy that turned £17k in ad spend into a £107k jackpot. We'll reveal the exact strategies and optimizations that led to these outstanding numbers and how you can apply them to your own business.

Implement This For Me
💼 B2B / LinkedIn Ads

B2B decision makers: $22 CPL

Watch this if you're struggling with B2B lead generation or want to increase leads for your sales team. We'll show you the power of conversion-focused ad copy, effective ad designs, and the use of LinkedIn native lead form ads that we've used to get B2B leads at $22 per lead.

Implement This For Me
👥 eLearning / Meta Ads

7,400 leads - eLearning

Unlock proven eLearning lead generation strategies with campaign planning, ad creative, and targeting tips. Learn how to boost your course enrollments effectively.

Implement This For Me
🏕 Outdoor / Meta Ads

Campaign structure to drive 18k website visitors

We dive into the impressive campaign structure that has driven a whopping 18,000 website visitors for ARB in the outdoor equipment niche. See the strategy behind this successful campaign, including split testing, targeting options, and the power of continuous optimisation.

Implement This For Me
🛒 eCommerce / Meta Ads

633% return, 190 % increase in revenue

We show you how we used catalogue ads and product showcases to drive these impressive results for an e-commerce store specialising in cleaning products.

Implement This For Me
🌍 Environmental / LinkedIn & Meta

How to reduce your cost per lead by 84%

We share some amazing insights and strategies that led to an 84% decrease in cost per lead for Stiebel Eltron's water heater and heat pump campaigns.

Implement This For Me
🛒 eCommerce / Meta Ads

8x Return, $71k Revenue - Maps & Navigation

Learn how we tackled challenges for an Australian outdoor store to significantly boost purchase volumes and maintain a strong return on ad spend through effective ad campaigns and strategic performance optimisation.

Implement This For Me
$ Software / Meta Ads

4,622 Registrations at $2.38

See how we got 4,622 B2B software registrations at just $2.38 each! We’ll cover our ad strategies, campaign setups, and optimisation tips.

Implement This For Me
📱 Software / Meta & Google

App & Marketplace Growth: 5700 Signups

Get the insight scoop of this campaign we ran for a childcare services marketplace and app. With 5700 signups across two ad platforms and multiple campaign types.

Implement This For Me
🎓 Student Recruitment / Meta Ads

How to reduce your cost per booking by 80%

We discuss how to reduce your cost per booking by 80% in student recruitment. We explore a case study where a primary school in Melbourne, Australia implemented a simple optimisation.

Implement This For Me
🛒 eCommerce / Meta Ads

Store launch - 1500 leads at $0.29/leads

Learn how we built awareness for this store's launch while targeting a niche audience and navigating ad policies.

Implement This For Me

Featured Content

The Ultimate Guide to Stop Wasting Money on LinkedIn Ads: Target Ideal B2B Customers & Drive High-Quality Leads

Tired of LinkedIn Ads that drain your budget and deliver poor results? This guide reveals the common mistakes B2B companies make and provides a proven framework for targeting the right customers, crafting compelling ads, and generating high-quality leads.

July 26, 2025

Find the Best PPC Consultant in London: Expert Guide

Tired of PPC 'experts' who don't deliver? This guide reveals how to find a results-driven PPC consultant in London, spot charlatans, and ensure a profitable ad strategy.

July 31, 2025

The Complete Guide to Google Ads for B2B SaaS

B2B SaaS Google Ads a money pit? Target the WRONG people & offer demos nobody wants? This guide reveals how to fix it by focusing on customer nightmares.

August 15, 2025

Fix Failing Facebook Ads: The Ultimate Troubleshooting Guide

Frustrated with Facebook ads that burn cash? This expert guide reveals why your campaigns fail and provides a step-by-step strategy to turn them into profit-generating machines.

July 31, 2025

Solved: Video ads or still images on Facebook Ads?

I'm trying to figure out if I should make video ads or just use still images on Facebook. Because it's a newer solution to business problems, I'm thinking of using still images to get a simple message across to users. What do you all recommend?

August 4, 2025

Solved: Best bid strategy for new Meta Ads ecom account?

Im starting a new meta ads account for my ecom company and im not sure what bid strategy to use.

July 18, 2025

B2B Social Media Advertising: Generate Leads on LinkedIn & Meta

Unlock the power of B2B social media advertising! This guide reveals how to choose the right platforms, target your ideal customers, craft compelling ads, and optimize your campaigns for lead generation success.

August 4, 2025

The Complete Guide to Meta Ads for B2B SaaS Lead Generation

B2B SaaS ads failing? You're likely making these mistakes. Discover how to fix them by targeting pain points and offering instant value, not demos!

August 17, 2025

Building Your In-House Paid Ads Team vs. Hiring an Agency: A Founder's Decision Framework

Struggling to decide between an in-house team and an agency? Discover a founder's framework that avoids costly mistakes by focusing on speed, expertise, and risk mitigation. Learn how a hybrid model with a junior coordinator and the agency will let you scale faster!

August 8, 2025

Google Ads vs. Meta Ads: A Data-Driven Framework for E-commerce Brands

Struggling to choose between Google & Meta ads? E-commerce brands, discover a data-driven framework using LTV. Plus: Target search intent & ad creative tips!

August 19, 2025

Solved: Need LinkedIn Ads Agency for B2B SaaS in London

I'm trying to find an agency that know how to run LinkedIn ads for B2B SaaS, but I'm having a tough time finding someone in London that get it.

July 31, 2025

The Small Business Owner's First Paid Ads Campaign: A Step-by-Step Guide

Struggling with your first paid ads? It's likely you're making critical foundational mistakes. Discover how defining your customer's 'nightmare' and LTV can unlock explosive growth. Plus: high-value offer secrets!

August 19, 2025

Unlock The Ad Expertise You're Missing.

Free Consultation & Audit