Can Facebook Ads Optimize for Imported CallRail Calls?

Question from user:

Is it possible to create a Meta campaign optimizing to imported Callrail calls? I see the Callrail calls importing in the events manager, but when I try to set up a campaign or ad set optimizing to calls or “website and calls”, it appears to be for call extension clicks directly on Facebook ads.

I need to create a campaign that optimizes to both website form submits tracked by the Facebook pixel and imported Callrail calls. But if that is not possible, I need to create a campaign that optimizes only to the imported Callrail calls. I do not want to include a call extension directly on the ads because I need the leads to hit the landing page and then call if they are interested.

Something like this is easy to set up in Google Ads, but in Facebook it’s a headache.

Answer from Nabil:

The short answer is:

Can Facebook Ads optimize for imported CallRail calls?

Yes, you absolutely can optimize your Meta campaigns to imported CallRail calls, but the method is not intuitive through Meta’s standard interface, which defaults to on-ad call extensions.

The core issue is that Meta’s event optimization system needs to recognize the imported CallRail calls as a high-quality conversion event, which requires passing a custom, high-quality event with strong Customer Information Parameters (CIPs) via the Meta Conversions API (CAPI).

The solution is to use the CallRail API to capture the call data and then immediately send that data, enriched with the initial Facebook Click ID (fbc/fbp) that CallRail should be tracking, to Meta’s CAPI via a server-side solution like Stape or Google Cloud Platform, using a custom conversion name like Call_Lead.

You then set your campaign to optimize for this specific, custom Call_Lead event.

The long answer is:

Your frustration is completely understandable; while CallRail is great at collecting the call data, and Meta’s Events Manager shows the imported calls, connecting those high-value conversions to the campaign optimization engine is a pain point that many marketers face.

The reason you can’t simply select the imported CallRail call as a direct optimization goal is that Meta prioritizes events fired via the Meta Pixel or events sent with high-quality user matching data through the Conversions API.

When CallRail sends data to Meta, it’s often using a less-robust method or the data is not being treated with the same weight as a CAPI event.

To achieve the reliable, high-performing optimization you need – where a campaign can optimize for both website form submissions (via the pixel) and CallRail calls – you need to shift from standard CallRail integration to a server-side Conversions API (CAPI) flow.

This starts with Google Tag Manager (client-side) capturing the required Meta browser ID parameters, specifically fbp (browser ID) and fbc (click ID), and passing them into your CallRail tracking setup or the data layer.

Crucially, the CallRail API is the superior solution here.

When a call occurs and CallRail captures the lead information, you use the CallRail API to extract the specific call data and the associated Meta click IDs that CallRail tracks from the landing page.

This data is then routed to a server-side tagging solution (like Stape or Google Cloud Platform).

Within this server environment, you use the Meta Conversions API to send a new, custom conversion event – let’s call it Call_Lead_CAPI – back to Meta.

Since this event is sent via CAPI, it has high-quality CIPs and a direct, first-party connection, making it highly reliable for optimization.

By sending this custom event, you can then log into Meta Ads Manager and select a Website Conversion campaign objective, choosing your custom Call_Lead_CAPI event for optimization.

This approach allows you to achieve both of your goals: you can create one campaign optimizing for a Lead event (which you configure to trigger for both the Pixel’s form submission and your server-side Call_Lead_CAPI event), or you can create a dedicated campaign optimizing only for the high-value Call_Lead_CAPI event, completely bypassing the confusing “call extension clicks” option and ensuring your optimization includes leads who hit the landing page before calling.

About The Author