Facebook Ads Order ID Tracking: Why You Can’t See order_id in Ads Manager

Facebook Ads Order ID Tracking

I am trying to track facebook ad conversions on my e-commerce site. I created a Purchase event and sending 3 parameters:

value,currency,order_id

In Facebook Ads Manager I am seeing conversions come up, but the values are not equaling any orders that are placed, so Ive been trying to identify the order_id through Ads Manager, and through Graph API Explorer but have not been able to come up with any results that will show me which order_id.

I know I am passing the parameter to FB, but have no way to get that information back.

Any help would be appreciated!

The short answer is:

Can I see the order_id parameter in Facebook Ads Manager or the Graph API?

Unfortunately, Facebook does not provide a direct way to view the order_id or any custom parameters sent with your Purchase events within the Ads Manager interface or via the standard Ads Insights API because of their privacy policies.

This is a common challenge for advertisers trying to reconcile offline order data with Facebook’s reporting.

The solution is to use the Facebook Conversions API (CAPI) in conjunction with a server-side solution, like Google Tag Manager (GTM) with Stape or Google Cloud Platform (GCP), to securely store and then later match the order_id on your end.

You’d use the order_id as an identifier in your own system, not to retrieve it from Facebook.

The long answer is:

The reason you can’t see the order_id in Ads Manager or the Graph API Explorer is entirely intentional on Facebook’s part for user privacy.

While they accept and use the parameter for deduplication and internal matching, they do not expose custom parameters like order_id back to the advertiser via their standard reporting tools.

The recommended and most robust solution for reconciling discrepancies and ensuring accurate tracking is implementing the Facebook Conversions API.

By sending your Purchase events server-side through CAPI, you can pass the order_id and other valuable customer data, which improves match quality.

The crucial part of the solution, however, is what you do before sending the data to Facebook.

You need a server-side environment to capture the order_id immediately upon order completion and store it in a secure, temporary data source, such as a database or a simple lookup table, that you control.

An excellent and cheap solution involves using Google Tag Manager (GTM) for your client-side tracking, paired with a server-side tagging environment like Stape or Google Cloud Platform (GCP).

GTM allows you to reliably capture the order_id from the data layer when the order is placed.

The server-side environment (Stape or GCP) then acts as a proxy: it receives the event from GTM, sends the deduplication event to the Facebook Pixel, and uses the order_id to construct the server-side CAPI event.

Critically, before sending, this server can also send the order_id to your own secure storage, tying Facebook’s click information to an actual order in your system.

To match the data, you would pull your own order data (which now includes your stored order_id and a Facebook click identifier if you also captured it, like _fbc or _fbp) and compare it with the aggregate conversion data Facebook reports.

You are essentially using the order_id as a common key in your own systems to check against the conversions reported by Facebook, rather than trying to ask Facebook to return your key to you.

This server-side CAPI implementation dramatically improves data accuracy, ensures resilience against browser-side tracking prevention, and gives you the necessary control over your data to conduct independent reconciliation without relying on Facebook to expose privacy-sensitive parameters.

About The Author