Take the 2-minute tour ×

Enabling post privacy gating in the Page's privacy settings allows creating of posts with separate Gating and Targeting. Enable:


Now I have been able to get news feed targeting to work through the api by specifying the param feed_targeting when as specified in the docs.

However there is only one mention of Gating in the docs:

Gating vs. Targeting

Gating a post is restricted to only language and country currently. This is different from news feed targeting because a gated post to a language or country will not show up to a user outside of the gating criteria. Using targeting, the post will be visible on the Page and only visible to those in the targeting segment of the Page. If a user shares a post, the user’s friends will be able to see the post even if they are outside the targeting set.

Is is possible to set Gating through the API?

share|improve this question

4 Answers 4

up vote 5 down vote accepted


  1. Make sure that gating is turned on for the page gate

  2. Make sure that you use the page token not the user token.

  3. Then when you create you're post with the api the targeting param will perform gating while the feed_targeting param will do news feed targeting.

Note: Gating only works for language and country.

share|improve this answer

I have made targeting script I have checked: Post privacy gating is on script uses page access token Passing parametes to feed_targeting

But script posts on Facebook page posts as just public. what I can do ?

share|improve this answer

In your your code while adding the parameters use "targeting" instead of "feed_targeting", that worked with me

share|improve this answer

Can somebody post a bit of example code for locales and countries? There is really nothing in the api and the net overall although this feature is so powerful!

Code example that worked for me:

    curl -F 'access_token=[page_access_token]' 
         -F 'message=Testing post to certain language' 
         -F 'link=http://stackoverflow.com/questions/15280604/can-you-gate-and-target-a-page-post-through-the-facebook-graph-api' 
         -F 'feed_targeting={'locales':[1001]}' 

To get language numbers:

    curl -G -d "access_token=xx" -d"q=en"  
            -d "type=adlocale" 

A bit of help is the Targeting from the ads api doc but only some fields are possible for post targeting.

To get locales,city,... codes graph search via curl

Hope this helps someone!

share|improve this answer

Your Answer


