def create_campaign(self, account_id, name): """ create a campaign """ campaign = Campaign(parent_id=account_id) campaign.update({ Campaign.Field.name: name, Campaign.Field.objective: 'APP_INSTALLS', }) campaign.remote_create(params={ 'status': Campaign.Status.paused }) return campaign
def create_campaign(params=None): if params is None: params = {} campaign = Campaign(parent_id=test_config.account_id) campaign[Campaign.Field.name] = unique_name('Test Campaign') campaign[Campaign.Field.buying_type] = Campaign.BuyingType.auction campaign[Campaign.Field.objective] = Campaign.Objective.link_clicks campaign['status'] = Campaign.Status.paused campaign.update(params) campaign.remote_create() atexit.register(remote_delete, campaign) return campaign
def create_campaign(self, fb_account_id, logger): """ You must create campaign under one fb_account""" try: campaign = Campaign(parent_id='act_' + str(fb_account_id)) campaign.update({ Campaign.Field.name: 'my_test_campaign', # for mobile app install ads Campaign.Field.objective: Campaign.Objective.mobile_app_installs, ## for website conversion ads #Campaign.Field.objective: Campaign.Objective.website_clicks, Campaign.Field.status: Campaign.Status.paused, Campaign.Field.buying_type: Campaign.BuyingType.auction, }) campaign.remote_create() return int(campaign[Campaign.Field.id]) except Exception as e: logger.exception(e)
def update_campaign_name(self, fb_campaign_id, new_campaign_name, logger): """ Update fb campaign""" try: campaign = Campaign(str(fb_campaign_id)) # You may read campaign field first, not necessary campaign.remote_read(fields=[ Campaign.Field.id, Campaign.Field.status, ]) if campaign[Campaign.Field.status] == 'ARCHIVED': logger.error('cpid[%d] in ARCHIVED status, no update' % fb_campaign_id) return campaign.update({ Campaign.Field.name: new_campaign_name, }) campaign.remote_update() except Exception as e: logger.exception(e)
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. from examples.docs import fixtures from facebookads import test_config ad_account_id = test_config.account_id page_id = fixtures.get_page_with_locations_id_assured() # _DOC oncall [pruno] # _DOC open [ADCAMPAIGN_CREATE_DLA] # _DOC vars [ad_account_id:s, page_id] from facebookads.objects import Campaign campaign = Campaign(parent_id=ad_account_id) campaign.update({ Campaign.Field.name: 'Local Awareness Campaign', Campaign.Field.objective: Campaign.Objective.local_awareness, Campaign.Field.promoted_object: { 'page_id': page_id, }, }) campaign.remote_create(params={ 'status': Campaign.Status.paused, }) # _DOC close [ADCAMPAIGN_CREATE_DLA] campaign.remote_delete()
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. from facebookads import test_config ad_account_id = test_config.account_id # _DOC open [ADCAMPAIGN_CREATE_VIDEO_VIEWS] # _DOC vars [ad_account_id:s] from facebookads.objects import Campaign campaign = Campaign(parent_id=ad_account_id) campaign.update({ Campaign.Field.name: 'Video Views Campaign', Campaign.Field.objective: Campaign.Objective.video_views, }) campaign.remote_create(params={ 'status': Campaign.Status.paused, }) print(campaign) # _DOC close [ADCAMPAIGN_CREATE_VIDEO_VIEWS] campaign.remote_delete()
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. from facebookads import test_config ad_account_id = test_config.account_id # _DOC oncall [pruno] # _DOC open [ADCAMPAIGN_CREATE_CONVERSIONS] # _DOC vars [ad_account_id:s] from facebookads.objects import Campaign campaign = Campaign(parent_id=ad_account_id) campaign.update({ Campaign.Field.name: 'Conversions Campaign', Campaign.Field.objective: Campaign.Objective.conversions, }) campaign.remote_create(params={ 'status': Campaign.Status.paused, }) # _DOC close [ADCAMPAIGN_CREATE_CONVERSIONS] campaign.remote_delete()
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. from facebookads import test_config ad_account_id = test_config.account_id # _DOC open [ADCAMPAIGN_CREATE_WITH_ADVANCED_OBJECTIVE] # _DOC vars [ad_account_id:s] from facebookads.objects import Campaign campaign = Campaign(parent_id=ad_account_id) campaign.update({ Campaign.Field.name: 'My First Campaign', Campaign.Field.objective: Campaign.Objective.post_engagement, }) campaign.remote_create(params={ 'status': Campaign.Status.paused, }) print(campaign) # _DOC close [ADCAMPAIGN_CREATE_WITH_ADVANCED_OBJECTIVE] campaign.remote_delete()
if __name__ == '__main__': FacebookAdsApi.set_default_api(api) print('\n\n\n********** Ad Creation example. **********\n') ### Setup user and read the object from the server me = AdUser(fbid='me') ### Get first account connected to the user my_account = me.get_ad_account() ### Create a Campaign campaign = Campaign(parent_id=my_account.get_id_assured()) campaign.update({ Campaign.Field.name: 'Seattle Ad Campaign', Campaign.Field.objective: 'LINK_CLICKS', Campaign.Field.effective_status: Campaign.Status.paused, }) campaign.remote_create() print("**** DONE: Campaign created:") pp.pprint(campaign) ### Create an Ad Set ad_set = AdSet(parent_id=my_account.get_id_assured()) ad_set.update({ AdSet.Field.name: 'Puget Sound AdSet', AdSet.Field.effective_status: AdSet.Status.paused, AdSet.Field.daily_budget: 3600, # $36.00 AdSet.Field.billing_event: 'IMPRESSIONS', # $36.00 AdSet.Field.is_autobid: 'true', # $36.00 AdSet.Field.start_time: int(time.time()) + 15, # 15 seconds from now
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. from facebookads import test_config ad_account_id = test_config.account_id # _DOC oncall [pruno] # _DOC open [ADCAMPAIGN_CREATE_MAIA] # _DOC vars [ad_account_id:s] from facebookads.objects import Campaign campaign = Campaign(parent_id=ad_account_id) campaign.update({ Campaign.Field.name: 'Mobile App Installs Campaign', Campaign.Field.objective: Campaign.Objective.mobile_app_installs, }) campaign.remote_create(params={ 'status': Campaign.Status.paused, }) # _DOC close [ADCAMPAIGN_CREATE_MAIA] campaign.remote_delete()
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. from facebookads import test_config from facebookads.objects import Campaign ad_account_id = test_config.account_id objective = Campaign.Objective.page_likes # _DOC open [ADCAMPAIGN_CREATE_WITH_SIMPLE_OBJECTIVE] # _DOC vars [ad_account_id:s, objective:s] from facebookads.objects import Campaign campaign = Campaign(parent_id=ad_account_id) campaign.update({ Campaign.Field.name: 'My First Campaign', Campaign.Field.objective: objective, }) campaign.remote_create(params={ 'status': Campaign.Status.paused, }) print(campaign) # _DOC close [ADCAMPAIGN_CREATE_WITH_SIMPLE_OBJECTIVE] campaign.remote_delete()
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. from facebookads import test_config ad_account_id = test_config.account_id # _DOC oncall [pruno] # _DOC open [ADCAMPAIGN_CREATE] # _DOC vars [ad_account_id:s] from facebookads.objects import Campaign campaign = Campaign(parent_id=ad_account_id) campaign.update({ Campaign.Field.name: 'My Campaign', Campaign.Field.objective: Campaign.Objective.link_clicks, }) campaign.remote_create(params={ 'status': Campaign.Status.paused, }) # _DOC close [ADCAMPAIGN_CREATE] campaign.remote_delete()
# shall be included in all copies or substantial portions of the software. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. from facebookads import test_config ad_account_id = test_config.account_id # _DOC open [ADCAMPAIGN_CREATE_LOCAL_AWARENESS] # _DOC vars [ad_account_id:s] from facebookads.objects import Campaign campaign = Campaign(parent_id=ad_account_id) campaign.update({ Campaign.Field.name: 'Local awareness campaign', Campaign.Field.objective: Campaign.Objective.local_awareness, }) campaign.remote_create(params={ 'status': Campaign.Status.paused, }) # _DOC close [ADCAMPAIGN_CREATE_LOCAL_AWARENESS] campaign.remote_delete()