Posts tagged with ads

{ "name": "ewf", "adset_id": "120215374042820542", "creative": { "creative_id": "1336302651052048" }, "status": "ACTIVE", "leadgen_form_id": "3944213285856717", "access_token": "EAARyZAITtz6QBO86pyaorCyAa5uij334AFiVizvoL5rnw65FBlnqWQJydGUhd1L6fgfIHmxuNyz2lba3xGj6Y8c1jZCvZBkrZA4sVvoImjNpfBdJrELvylBr8lNm5MpBKrzP7dg9FzLULbt9taTUjxge63my0RhvdKxdHS3BZAsUrbMn8AcJmeBePLZAFcZBGfGIwZDZD" }

I am trying to create A/B test using facebook graph API. The documentation I follow: https://developers.facebook.com/docs/marketing-api/guides/split-testing

The documentation mentions following curl command:

curl \ -F 'name="new study"' \ -F 'description="test creative"' \  -F 'start_time=1478387569' \ -F 'end_time=1479597169' \ -F 'type=SPLIT_TEST' \ -F 'cells=[{name:"Group A",treatment_percentage:50,adsets:[<AD_SET_ID>]},{name:"Group B",treatment_percentage:50,adsets:[<AD_SET_ID>]}]' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/ad_studies 

I am able to run this command successfully and get the split test ID which has been created, but I am unable to find the created split test:https://www.facebook.com/test-and-learn The created test is fetch-able through API GET endpoint, but it does not exist on facebook console. Here is the place where I am trying to find it:

My goal is to create facebook ads A/B test through graph API. Is there any other documentation for this? or am I understanding something wrong there?

I'm creating a datacollector which would fetch data from public available ad in order to retrieve it on my app.

Basically, I would like to create a copycat of the official tool from Meta on my application.

I followed the Meta Ad Library API Guide, generated the user token access and when I make a call (e.g. https://graph.facebook.com/v20.0/ads_archive?ad_reached_countries=["FR"]&search_terms=savon&access_token=MY_TOKEN) I always have this return :

{ "error": {     "message": "Application does not have permission for this action",     "type": "OAuthException",     "code": 10,     "error_subcode": 2332004,     "is_transient": false,     "error_user_title": "App role required",     "error_user_msg": "You need to be assigned a role by the app owner to continue. Learn more at https://developers.facebook.com/docs/development/build-and-test/app-roles",     "fbtrace_id": "AEtWDzYFQypjN8PvUhnHwSQ" } 

I've seen many issues identical to mine (another one here) and I don't really understand as my user is an administrator, of a fully verified business.

I even found people saying it's because the app doesn't have the correct scopes (such as : ads_read, public_profile). I can't add the scope "ads_archive" on my app as I can't see it anywhere in App Review > Permissions and Features on my developer account, otherwise everything seems okay, here is the debug of my token :

{ "data": {     "app_id": "APP_ID",     "type": "USER",     "application": "APPLICATION_NAME",     "data_access_expires_at": 1734880167,     "expires_at": 1727107200,     "is_valid": true,     "scopes": [         "read_insights",         "pages_show_list",         "ads_management",         "ads_read",         "business_management",         "pages_read_engagement",         "pages_read_user_content",         "public_profile"     ],     "granular_scopes": [         {             "scope": "pages_show_list"         },         {             "scope": "ads_management"         },         {             "scope": "ads_read"         },         {             "scope": "business_management"         },         {             "scope": "pages_read_engagement"         },         {             "scope": "pages_read_user_content"         }     ],     "user_id": "USER_ID" } 

}

How to finally access the public data ?

I have implemented AdMob Server Side Verification How to verify Admob Rewarded Video Ad on a server?

Everytime the user finishes watcing a rewarded ad, Google Server Makes a GET call to my Server. I verify the signature, then store an entry to my database.

To my surprise, I noticed a discrepancy between the number of API calls recorded and the impression count on the AdMob Panel.

This results in lesser earning than what I actually reward my user.

Server Logs:

ad_reward_audit.dart:52:7) 2024-07-31 00:00:00.000Z: 2 ad_reward_audit.dart:52:7) 2024-08-01 00:00:00.000Z: 3 ad_reward_audit.dart:52:7) 2024-08-02 00:00:00.000Z: 1 ad_reward_audit.dart:52:7) 2024-08-03 00:00:00.000Z: 2 ad_reward_audit.dart:52:7) 2024-08-04 00:00:00.000Z: 35 ad_reward_audit.dart:52:7) 2024-08-06 00:00:00.000Z: 6 ad_reward_audit.dart:52:7) 2024-08-07 00:00:00.000Z: 3 ad_reward_audit.dart:52:7) 2024-08-08 00:00:00.000Z: 5 ad_reward_audit.dart:52:7) 2024-08-09 00:00:00.000Z: 36 ad_reward_audit.dart:52:7) 2024-08-10 00:00:00.000Z: 28 

AdMob Panel:

Am I wrong to think that the number of impression should match the number SSV API call ?

If it should be the case, what other steps can I do to investigate this ? I am making loss at the moment do this issue as my rewards to user actually cost me actual money (Computing time cost on expensive GPU)