Skip to main content
Solved

How to Identify Whether a Facebook Post Is an Ad or an Organic Post

  • January 8, 2026
  • 1 reply
  • 18 views

raj gupta

How can we reliably determine whether a Facebook post is a paid ad or an organic post using Meta APIs?


one approach I known so far is fetch all ads related data and store copy in database. and extract and match the effective_post_id.but this approach requrire a lot of effort.

is there any approach or endpoint where we can directly detect is it paid or not by post_id
thanks community

Best answer by Sahra

Hi ​@raj gupta,

You’ve touched on a common challenge! Unfortunately, you are correct—there is no single "is_paid" flag or direct endpoint that lets you look up a post_id for a simple Yes/No answer. Because Meta treats organic page data and advertising data as two separate systems, we have to look for specific "signals" to tell them apart.

While matching effective_post_id in a database is the most robust method, here are three lighter approaches you can use:

1. The "Metric Signal" Method (Best for Published Posts)

If you already have a post_id and want to know if it has been boosted, the most reliable way is to check its Insights.

  • The Logic: If a post has any value greater than zero for paid metrics (like post_impressions_paid), it has been promoted.

  • Important Note: Meta frequently updates these field names. For example, many organic and paid impression fields were deprecated or replaced in September 2024.

  • Reference: Facebook Insights Field Changes - Sept 2024

2. Identifying "Dark Posts" (Ads-Only)

If you are looking for ads that never appeared on the organic timeline, these won't show up in your regular Page Feed.

  • The Solution: Use the Facebook Ads connector and enable the advanced option "Include unpublished promotable posts."

  • The Signal: These posts often have the flag is_inline_created set to true in the Meta API, meaning they were created specifically for an ad campaign.

  • Reference: Facebook Insights Updates & Features

3. Known API Limitations

It is worth noting that the Facebook Insights API (used for organic data) does not have a built-in feature to "tag" a post as boosted. To get the full picture, you usually have to combine data from both the Insights and Ads connectors.

Quick Summary Table

Post Type Identification Signal Recommended Source
Purely Organic Paid impressions = 0 Facebook Insights
Boosted Post Paid impressions > 0 Facebook Insights or Ads
Dark Post (Ad Only) Only appears in Ads data Facebook Ads (with Unpublished Posts enabled)


Pro Tip: Since Meta deprecated several fields in late 2024, make sure you are using the most current metric names in your queries to avoid null values. You can track those specific changes here.

Hope this helps save you some manual effort! 

1 reply

Sahra
Forum|alt.badge.img+6
  • Community Moderator
  • Answer
  • January 13, 2026

Hi ​@raj gupta,

You’ve touched on a common challenge! Unfortunately, you are correct—there is no single "is_paid" flag or direct endpoint that lets you look up a post_id for a simple Yes/No answer. Because Meta treats organic page data and advertising data as two separate systems, we have to look for specific "signals" to tell them apart.

While matching effective_post_id in a database is the most robust method, here are three lighter approaches you can use:

1. The "Metric Signal" Method (Best for Published Posts)

If you already have a post_id and want to know if it has been boosted, the most reliable way is to check its Insights.

  • The Logic: If a post has any value greater than zero for paid metrics (like post_impressions_paid), it has been promoted.

  • Important Note: Meta frequently updates these field names. For example, many organic and paid impression fields were deprecated or replaced in September 2024.

  • Reference: Facebook Insights Field Changes - Sept 2024

2. Identifying "Dark Posts" (Ads-Only)

If you are looking for ads that never appeared on the organic timeline, these won't show up in your regular Page Feed.

  • The Solution: Use the Facebook Ads connector and enable the advanced option "Include unpublished promotable posts."

  • The Signal: These posts often have the flag is_inline_created set to true in the Meta API, meaning they were created specifically for an ad campaign.

  • Reference: Facebook Insights Updates & Features

3. Known API Limitations

It is worth noting that the Facebook Insights API (used for organic data) does not have a built-in feature to "tag" a post as boosted. To get the full picture, you usually have to combine data from both the Insights and Ads connectors.

Quick Summary Table

Post Type Identification Signal Recommended Source
Purely Organic Paid impressions = 0 Facebook Insights
Boosted Post Paid impressions > 0 Facebook Insights or Ads
Dark Post (Ad Only) Only appears in Ads data Facebook Ads (with Unpublished Posts enabled)


Pro Tip: Since Meta deprecated several fields in late 2024, make sure you are using the most current metric names in your queries to avoid null values. You can track those specific changes here.

Hope this helps save you some manual effort!