Geotargeting Page Posts with the Facebook API

2.9k views Asked by At

I'm trying to geotarget wall posts to my fan page using the Facebook PHP SDK.

The following snippet successfully posts a message to my wall, but the geotargeting isn't taking.

I'm new to programming and I've done my best to follow the documentation here but it's pretty sparse -- I'm not confident that my syntax is correct.

Any help would be very much appreciated.

//compiling the geotargeting parameters
$geoTarget = "{'cities':'Richmond,VA','regions':'Virginia','countries':'US'}";

//my arguments
$args = array(
'access_token'  => $page_access_token,
'message'       => "this is my message",
'targeting' => $geoTarget
);

//posts the message
$facebook->api("/$page_id/feed","post",$args);
2

There are 2 answers

1
user1145959 On BEST ANSWER

The field is privacy in the Post table

The description field may contain a comma-separated lists of valid country, city and language if a Page's post targeting by location/language is specified.

http://developers.facebook.com/docs/reference/api/post/

1
Kevin Cooper On

To make this easier this is the bit you need http://developers.facebook.com/docs/reference/api/page/#targeting

this will give the info on how to target regions too. http://developers.facebook.com/docs/reference/ads-api/get-autocomplete-data/

What you need to complete the targeting in the question would be:

The countries bit was right. Virginia's region code is 51 (which you can find by searching _">https://graph.facebook.com/search?q=vi&type=adregion&match_country_code=true&country_list=US&access_token=_) Richmond's city id is 2538983 (which you can find by searching _">https://graph.facebook.com/search?q=richmon&type=adcity&limit=150&access_token=_)

so the geotarget would be

$geoTarget = "{'cities':[2538983],'regions':[51],'countries':'US'}";