0

I'm new to the Facebook Ads Python SDK and am trying to create an ad that will display on mobile and desktop news feeds. Reviewing the web flow to create an ad, to show up in a feed, the ad needs to be related to a Facebook page. I manage a Facebook page, but am not sure where I need to input the FB page info.

I've reviewed the documentation and getting started examples, however the getting started is about a page post ad, so not relevant to me. I assumed "Placements" would be relevant but nothing I find there is helpful either. I also looked at Connection objects but that also seemed a dead end.

The code I've got runs and creates ads that are right column ads. I've tried adding "page_types: ['feed']" to AdSet targeting but that returns an error saying that placement is ineligible for this ad.

Could someone point me in the right direction on how to create an ad that will show up in the desktop news feed? Meat of the code is below.

`

# create campaign
campaign = AdCampaign(parent_id=config['act_account_id'])
campaign[AdCampaign.Field.name] = 'Test Campaign'
campaign[AdCampaign.Field.status] = AdCampaign.Status.paused
campaign[AdCampaign.Field.objective] = AdCampaign.Objective.website_clicks
campaign.remote_create()

# create adset
targeting = {
    #'page_types': ['feed'],
    'geo_locations': {
        'cities': [{'key': '2532348', 'radius': 25, 'distance_unit': 'mile'}]
    }
}

data = {
    AdSet.Field.name: 'My Python SDK AdSet',
    AdSet.Field.bid_type: AdSet.BidType.cpc,
    AdSet.Field.is_autobid: True,
    AdSet.Field.status: AdSet.Status.active,
    AdSet.Field.lifetime_budget: 500,
    AdSet.Field.end_time: '2015-06-4 23:59:59 PDT',
    AdSet.Field.campaign_group_id: config['campaign_id'],
    AdSet.Field.targeting: targeting,
}

adset = AdSet(parent_id=config['act_account_id'])
adset.remote_create(params=data)

# Set up creative for ad
image = AdImage(parent_id=config['act_account_id'])
image[AdImage.Field.filename] = image_filename
image.remote_create()

creative = AdCreative(parent_id=config['act_account_id'])
creative[AdCreative.Field.name] = 'sample creative'
creative[AdCreative.Field.title] = 'ad headline'
creative[AdCreative.Field.body] = 'ad text'
creative[AdCreative.Field.object_url] = 'www.http://www.misc-url.com'
creative[AdCreative.Field.image_hash] = image[AdImage.Field.hash]
creative.remote_create()

# Create your ad by referencing the ad creative.
adgroup = AdGroup(parent_id=config['act_account_id'])
adgroup[AdGroup.Field.name] = 'Testing SDK Ad'
adgroup[AdGroup.Field.campaign_id] = config['adset_id']
adgroup[AdGroup.Field.creative] = {'creative_id': str(creative_id)}
adgroup[AdGroup.Field.status] = AdGroup.Status.paused
adgroup.remote_create()

`

JNoVa
  • 1
  • 1

1 Answers1

0

There is an api call to create a page post at the time of ad creation:

https://developers.facebook.com/docs/marketing-api/adcreative/v2.3#object_story_spec

See the blog post for more detailed info:

https://developers.facebook.com/ads/blog/post/2014/08/28/creative-page-post-api

Craig Kochis
  • 873
  • 1
  • 8
  • 21
  • Hmm, I'm not sure if that's it. That's related to boosting posts made on a page, right? I want to just create an ad that appears in Feeds but that is sponsored by my FB Page. – JNoVa Jun 04 '15 at 18:34
  • Ads that appear in the feed are unpublished page posts. It's a page post in the sense that it behaves the same as any post (comment, like, share, etc..) but unpublished in the sense that it does not appear in the page's feed. – Craig Kochis Jun 04 '15 at 20:29