For my Use case, im planning a Live demo where i start an Instagram Marketing Campaign. After launching the Ads, the goal is to present an Instagram Account where the Advertisement can be seen. So it really only needs to be visible on that specific account.

Whats the best way to do this?

  • I saw that there is a sandbox mode, but it states that it doesnt actually launch ads. is that correct?
  • Are the are other test environments i could use?
  • If it has to be the real instagram, is it even possible to narrow the targeting down to a point it could be a guaranteed to show up on that account?

I use Facebook Graph API to get my ads insights. However, I notice small discrepancies (a few people or a few dozen) when I fetch the data for the previous day at different times. This is likely due to Facebook API caching. I couldn't find information on how long it takes for these data to stabilize (for example, GA4 states that data stabilizes after 48 hours). Could anyone provide some details on this ? Thanks.

I couldn't find specific time range.

Hi. I'm trying to retrieve user's albums using me/albums but i'm getting the following errors on Graph Explorer:
{ "error": { "message": "(#10) Application does not have permission for this action", "type": "OAuthException", "code": 10, "fbtrace_id": "A1QZ2wQfn_IT-YaZp4P2Ziw" } }
user_photos permissions in grated in test mode , and me/photos?fields=picture&limit=10&type=uploaded retourn uploaded photos.
So it's not related to permission error. Looks like a bug.

Goal: I am trying to calculate the total spend (cost) of an ad from by Google Ads data that is in BigQuery

Problem: The output of my BQ SQL does not match the output I see in Google Ads reports

Example: In BigQuery, I grab the metrics_cost_micros from AdStats table and divide it by 1m for the time period. This tells me for 'Ad 1' the total cost is $3,625.76 and avg CPC $1.21

SELECT    a.ad_group_ad_ad_name,   SUM(metrics_cost_micros)/ 1000000 AS total_spend,   AVG(metrics_cost_micros)/ 1000000 AS avg_daily_spend,   MAX(metrics_cost_micros)/ 1000000 AS max_spend FROM `[project].google_ads.p_ads_AdStats_xxx` ast LEFT JOIN `[project].google_ads.p_ads_Ad_xxx` a    ON ast.ad_group_ad_ad_id = a.ad_group_ad_ad_id WHERE a.ad_group_ad_ad_name = "Ad 1" GROUP BY ALL 

However, in Google Ads reporting tool, the same ad in the same timeframe has a total cost of $107.53 and avg CPC of $0.38

I thought currency conversion might be an issue, but it doesn't account for the discrepancy

After the latest depreciation of APP v13, the photos and Videos endpoints stopped returning data.
As per the documentation found here, https://developers.facebook.com/docs/graph-api/reference/v14.0/page/photos, we need the "pages_read_engagement" and the "pages_show_list" permissions to be able to read content.
The documentation also states that "By default reading from the photos edge returns the current profile picture for the Page as well as previous profile pictures. Use the optional type parameter with the value uploaded to get the photos that a Page has uploaded."
Below is a sample examples for the Photos Endpoint.
https://graph.facebook.com/v17.0/msalloumpage3/photos?access_token=&type=uploaded&fields=images,link&limit=1000
which returns the following response: { "data": [] }
If we use the same endpoint without the type=uploaded we do get the profile picture just like mentioned in the documentation.