Skip to content

Instantly share code, notes, and snippets.

@zachmiri
Created September 19, 2019 10:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zachmiri/faed4f5bb176ffd41b1a0d77655b4753 to your computer and use it in GitHub Desktop.
Save zachmiri/faed4f5bb176ffd41b1a0d77655b4753 to your computer and use it in GitHub Desktop.
# Generate an ABCLA
import requests
import json
import time
# Update with a list of all adset IDs (lookalike seeds)
adset_ids = [""]
# Update with a list of all countries (lookalike geos)
countries = [""]
# Update with a list of ratios (lookalike percentage brackets)
ratios = [[0.01, 0.01]]
# Update with your Facebook Ad Account ID and Access Token
adaccount_id = ''
access_token = ''
for ratio in ratios:
for adset_id in adset_ids:
for country in countries:
time.sleep(0.5)
if ratio[0] != ratio[1]:
data_dump = {
'subtype': 'LOOKALIKE',
'access_token': access_token,
'lookalike_spec': json.dumps({
'origin_ids': adset_id,
'starting_ratio': ratio[0],
'ratio': ratio[1],
'conversion_type': 'campaign_conversions',
'country': country
})
}
else:
data_dump = {
'subtype': 'LOOKALIKE',
'access_token': access_token,
'lookalike_spec': json.dumps({
'origin_ids': adset_id,
'ratio': ratio[0],
'conversion_type': 'campaign_conversions',
'country': country
})
}
r = requests.post('https://graph.facebook.com/v4.0/act_' + adaccount_id + '/customaudiences', data=data_dump)
result = r.json()
if 'id' in result:
print('Adset ID: ' + adset_id + ', Country: ' + country + ', Ratio: ' + str(ratio[0]) + ':' + str(ratio[1]) + ', ' + ' Audience ID: ' + result['id'])
else:
print('Adset ID: ' + adset_id + ', Country: ' + country + ', Error: ' + result['error']['message'])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment