With the rollout of Facebook’s Aggregated Event Measurement, many advertisers have been struggling with reporting and optimizing their campaigns on the platform. While we’ve been big proponents of looking at performance on a blended basis, it can still be difficult to feel confident about any ad ops on a day to day basis. At Thesis, we’ve been leveraging Facebook’s Offline Conversions as a way to circumvent a lot of the restrictions that AEM has placed on us. With its help, we’ve been able to close the gap on conversions that may have been missed from users who have opted out of tracking, get conversion data without any delays, and feel more confident in the conversion values being reported.
Originally developed to help advertisers measure the effectiveness of conversions that happen in the real world (think retail, auto, housing, etc). In its simplest form, it works by taking customer information that you send to Meta and matches that information with a user on one of Meta’s various platforms. If a match is found, look back at every ad that user has been served in the last 90 days. If it finds that a user viewed/clicked on one of your ads before the conversion took place and the timing of that view/click is within the attribution window your ad set is set to, it’ll attribute the conversion to the ad that was displayed.
It’s important to understand that since you’re removing any pixel based data from the process, offline conversions are not subject to the same restrictions as web conversions. Offline conversions will be reported in real time (or however frequently you upload data), will have accurate value numbers (assuming you also pass that information back), and can help bridge the gap between any missed conversions from the pixel and/or the Conversions API.
To illustrate how much of a difference this has made for some of our clients, we wanted to share a real world example. These are a few numbers pulled from a D2C client before implementing offline conversions.
While these cost per purchases were much higher than where they were pre-iOS14, on a blended basis, the client was still hitting their targets. The issue with that is on the media side, we only had so much conversion data to make optimizations off of. It’s hard to tell which ads were the most effective when we knew that we were only looking at a fraction of the conversions they were actually driving. Now here’s a look of what that account looks like with offline conversions over that same period of time.
After implementing offline events we saw an almost threefold increase in conversions. It’s important to mention that Facebook will deduplicate both offline and web purchases, so if set up correctly, you won’t have to worry about double counting events. So in the example above, all 119 offline purchases were conversions that the pixel/CAPI missed and can be added to the 59 website purchases to give us the total number of purchases. Facebook seems to favor pixel/CAPI conversions over offline, so your increase in conversion data may vary.
While there are various different ways to set this up, from plugging directly into the API, partner integrations, and manual uploads, we’re going to focus on the latter two as they don’t require much dev knowledge to execute.
No matter which way you decide to set this up, the first few steps are exactly the same:
This route is definitely the easiest in that you don’t really need any technical knowledge to complete. It’s great if you want to test into using offline conversions, but we wouldn’t recommend it if offline conversions are something you’d like to use on an ongoing basis as the process can be a bit tedious.
To start you’ll want to gather a list of records of whatever conversions you’d like to upload. This could be a list of leads from your CRM, purchase records from your e-com platform, or any lists that you may want to tie to a conversion event. Once you have that list, you’ll want to format it into a CSV (here’s a template to get you started) to upload into your offline event set. It’s important to know that not all columns are required, but Event Name, Time, Value (if applicable) and Currency are must haves. You will need to include some sort of data point that will help identify users (email, phone number, etc) however you don’t have to fill out every single column available in the template. Once complete you’ll upload your data using the following steps:
Once you’ve uploaded your data, it’ll take some time for Facebook to start matching your conversions to users. We typically recommend waiting at least a couple of hours, if not more depending on the size of the list you uploaded.
While there are quite a few partner integrations available (Segment is a common one we’ve used), we’re going to focus on Zapier as it’s the most flexible in terms of fitting into an existing tech stack and relatively simple (no dev resources needed). While most of the common connections require a paid account, the cheapest plan which starts at $19.99 per month, will be enough to get you started. Here are the steps necessary to start sending data:
How often you send data to Facebook will depend on the type of Zapier account you have. At minimum you’ll want to send data at least once per day, but we would recommend sending data on an hourly basis if not more frequently.
When trying to measure any offline conversion in Ads Manager, it’s important to make sure that you’re looking at the correct metrics. Using purchases as on example, the default performance view will not include any offline purchases. You’ll want to add the following metrics to make sure you’re accounting for those offline events, Purchases, Cost per purchase, Offline purchases, and Website Purchases. The process is similar for other events.
While offline conversions are a great way to help bridge the reporting gap in a post iOS14.5 world, there are a few limitations. It’s important to know that offline conversions will not allow you to see how many conversions your pixel/CAPI missed. While you can see the total number of records you uploaded on a given day (only going back 28 days), you’re unable to get an exact number of how many of those conversions are matched. After 1,000 records are uploaded, you’ll just see what percentage were matched. While you could do some quick math to back into the number of matched records, Ads Manager will only show you the number of offline conversions attributed to your ads, so there is no real way to judge the “iOS gap”.
It’s also important to know that offline events and web events will deduplicate. To make sure this is possible, you’ll want to make sure the Event Times you upload are as accurate as possible. This is also why you'll want to be uploading data as often as possible. If you’re using a partner integration or API, you’ll also want to make sure the Event ID you are using for your offline events matches what your pixel is using. Shopify and most other e-com platforms will use Order ID, but you’ll want to confirm that for your set up.
Lastly when it comes to match rates, we’ve typically found that ours hover somewhere between 70%-80%. The customer info we’ve found to have the biggest influence on match rates are Email Addresses and Phone Numbers. If you have access to your customers MAIDs, I’m sure they’d be much higher, but realistically that doesn’t seem very likely for most advertisers.
We've seen surprisingly strong performance using local TV news content in our online paid ads. In this post, I provided an overview of local TV lifestyle programming and how we use that content to drive paid performance.
We (along with the entire industry as far as I know) have seen Facebook's performance decline since Apple's introduction of ATT. Over the last 12 months, we've made channel exploration and expansion a core focus.
Our friends at Nest Commerce recently published their Readout for Jan 2023. In it, they discuss a number of trends they see impacting D2C. Their graphs comparing 2021 and 2022 performance on Black Friday caught my eye as they saw a considerable improvement...