Skip to content

Ads Manager: check what you pulled

https://ads-manager.huydata.com shows the same numbers the three APIs return, in each platform's own reporting interface. Data engineers use it the way they use the real Ads Managers: as the reference to verify that a pipeline pulled the right rows and the right totals.

Log in

Paste any one of your API tokens (Meta, TikTok or Google access token) on the login page. The session is tied to your student code; the token itself is not stored. Usage is logged per student, like API calls.

Three views, three vocabularies

Meta Ads Manager TikTok Ads Manager Google Ads
Levels Campaigns · Ad sets · Ads Campaign · Ad group · Ad Campaigns · Ad groups · Ads
Status words Active · Paused · Completed Active · Not delivering · Completed Enabled · Paused · Ended
Account id shown as act_<id> advertiser id 123-456-7890
Dates Oct 20, 2026 2026-10-20 Oct 20, 2026
Countries VN Vietnam (VN) Vietnam

Every view has the same controls: date range (presets or custom, max 184 days), breakdown (none, day, country), Data as reported on (see below), the level tabs, an Export (CSV) button and a Copy totals button. Click a campaign to drill into its ad sets / ad groups, then into its ads.

Column names on the UI versus fields in the API

The UI uses the platform's marketing names. Your pipeline sees the API names. They refer to the same numbers.

Meta

Ads Manager column Insights API field Notes
Amount spent spend string in the API, USD
Impressions / Reach / Frequency impressions / reach / frequency
Link clicks clicks (and actions[link_click])
CTR (all), CPC, CPM ctr, cpc, cpm ratios are computed from sums; never sum them
App installs actions[action_type = mobile_app_install]
Cost per app install cost_per_action_type[mobile_app_install]
Purchases actions[app_custom_event.fb_mobile_purchase] omni_purchase is the same number, do not add both
Purchases conversion value action_values[app_custom_event.fb_mobile_purchase]
Purchase ROAS purchase_roas[omni_purchase]
Video plays actions[video_view]
Day (breakdown) date_start = date_stop with time_increment=1
Country (breakdown) country with breakdowns=country

TikTok

Ads Manager column Report metric Notes
Cost spend string in the API
Impressions / Clicks / CTR / CPC / CPM / Reach impressions / clicks / ctr / cpc / cpm / reach
Conversions conversion (= app_install)
CPA, CVR cost_per_conversion, conversion_rate
Complete payment purchase
Total complete payment value total_purchase_value
Video views video_play_actions
By day (breakdown) dimension stat_time_day (YYYY-MM-DD 00:00:00)
By country (breakdown) dimension country_code
Google Ads column GAQL field Notes
Cost metrics.cost_micros divide by 1,000,000
Impr. / Clicks / CTR / Avg. CPC / Avg. CPM metrics.impressions / clicks / ctr / average_cpc / average_cpm CPC/CPM are in micros
Conversions metrics.conversions installs
Cost / conv. metrics.cost_per_conversion micros
Conv. value metrics.conversions_value
Conv. value / cost metrics.conversions_value / (metrics.cost_micros / 1e6)
Views / View rate metrics.video_views / metrics.video_view_rate
Day (segment) segments.date
Country/Territory (segment) segments.geo_target_country (geoTargetConstants/<id>) map via geo_target_constant

The API equivalent of this view panel at the bottom of every report prints the exact request (curl) that returns the rows on screen.

Checking your pipeline

  1. Open the account, level and breakdown you pulled, with the same date range.
  2. Compare the Totals row with the sums in your table: spend to the cent, impressions and clicks exactly.
  3. If installs or purchases differ, check when you pulled: those metrics keep increasing for 3 days. Choose the same date in Data as reported on and the totals must then match exactly.
  4. Rows shown as No delivery in this period are not returned by the API. Do not expect them in your data.
  5. For a row-by-row diff, Export (CSV). IDs are text; keep them as text in your tools (Excel turns long IDs into numbers and corrupts them).

Data as reported on

Installs and purchases are attributed for 3 days after the report date, so a value you fetched yesterday is smaller than the value you fetch today for the same day. The Data as reported on selector replays what the API returned on an earlier day. The banner then shows today's values for the same filter and the difference. A report date is final from its fourth day (D+3). Pipelines that need final numbers re-pull the last three report dates.