Facebook Offline Events Error


It seems the last few weeks there have been discrepancies with the Facebook offline events.

We use this as a tool to track conversions directly within Facebook to understand which components of a campaign are working much like you would in Adwords. When it was released it was a huge positive but it’s been so inaccurate it’s not helping at all.

Has anyone else experienced this issue or are we any closer to getting a fix from the Facebook and CallRail tech teams?


Hey @paulhanney! Just chatted with another CallRail team member about this - Can you provide a little more info as to what exact discrepancies you are seeing between CallRail and Facebook?


Sure, the calls are appearing in CallRail and they clearly show the source of the call is from Facebook. They even show the specific UTM parameters associated with the phone number that feeds into the Facebook campaign.

The discrepancy is most / all of these calls are not appearing in Facebook and tracked as the offline event. The integration is setup properly, the offline events are appearing in the Facebook interface, however they are not attributing them to the campaign which is the whole purpose of doing this.

So in summary, it clearly shows the calls in CallRail and links to them to the Facebook campaign, however it doesn’t attribute them to the campaign within Facebook which is the whole point of the integration.


Hey @paulhanney - I think what you’re noticing is a limitation of the Facebook API and how we match callers with ad clicks.

Once you connect CallRail and Facebook, what we’re doing is sending every single call that funnels through that CallRail company into Facebook. The primary data point we send is the caller’s phone number. Facebook knows which users saw your ad, and uses every phone number we send over to try and match to a specific person on their platform. The only way they can do that is if the caller also happens to have the same phone number they used to call the CallRail number listed on their personal Facebook profile.

So even though we can attribute the phone call inside of CallRail via our swap code or a source number, if the caller doesn’t list their number on their Facebook profile there is no way for us to match that offline event directly to your ad campaign inside of Facebook.

Two good examples of this in action:

  1. A caller sees the ad on their personal Facebook profile but places the call on their business line. They have their personal number on their Facebook profile. In this instance, the call would not attribute as a conversion to your campaign inside of Facebook.
  2. A caller sees the ad on their personal profile and calls your business. They’ve removed their phone number from their Facebook profile for privacy reasons. In this instance, the call would not attribute as a conversion to your campaign inside of Facebook.

So, unfortunately, there are limitations on how the integration works based on the data users are sharing inside of Facebook. We wish there was a workaround at this time, and we’re always looking for other ways to enhance this integration.


Madelyn, thanks for this.

a deeper question we all soon have to dive in is how can the call be attributed to a specific Facebook adset? for example, I ran a Facebook ad that has a callrail number in it. then I have a link on that ad going to my landing page. And my landing page has that same number.
How will callrail know that the call came from Facebook only, or unbounce / landing page?

Im my current understanding - this will be double reported. callrail will tell FB and unbounce that a call was made to the number who saw the fb ad and landing page.
If I then make the FB ad and Landing page 2 different numbers, then it could be confusing and inconsistent on which number customers should call.


Hey there Marc,

Great question! And I apologize in advance for my long-winded answer.

If you’ve created a single source number for a Facebook ad, and are using the number in both the ads themselves in addition to swapping on a landing page, you are correct: CallRail will always attribute these calls to Facebook and you will not be able to distinguish whether the call was made on Facebook or via the landing page.

That being said, these calls will not be double-counted: we can only send calls to the Unbounce platform as conversions if you’re using keyword-level tracking (more on that here). So all of these calls will be attributed to the source of that single number in CallRail, none will be reported in Unbounce or attributed to the landing page specifically. If you’re using the Facebook integration we’ll send these calls to Facebook, who will then attribute them to the proper ad set inside of Facebook Ads. Facebook can do this because they are aware which Facebook users saw what ads, and will match the CallRail calls to ad sets based on user phone numbers.

If you’d like to distinguish between calls from the ad on Facebook and click-throughs to the Unbounce landing page that turn into calls, I would recommend creating a single number to use in the Facebook Ads and then a keyword pool set to swap either specifically for your ad’s UTM parameters or all sources. You’re correct in that there will be inconsistency on which numbers customers see, but in our experience, the amount of customers confused by this is very minimal and shouldn’t have a huge impact on your conversions.

What will happen in this second scenario:

  1. All of the calls will be captured by CallRail and you will be able to report which calls came from the ad directly vs. click-throughs on the landing page.

  2. Call conversions from the landing page will be sent to and counted in Unbounce.

  3. All of the calls will be sent to Facebook and marked as conversions on that ad if the user’s phone number is on their profile whether from the ad or the landing page.

You will see a discrepancy between Unbounce and Facebook, and this may be considered “double-counted” depending on how you do your reporting. Ultimately, CallRail will be your main source of truth from where the calls are coming from if you want to deep dive, but you’ll be able to see at a high level whether or not the ads are generating calls in both Unbounce and in Facebook.

I hope this helps! Let me know if you have any other questions.