ServicesAboutNotesContact Get in touch →
EN FR
Note

Ad Platform API Landscape

API characteristics, authentication models, and engineering gotchas for Google Ads, Meta, LinkedIn, Microsoft, TikTok, Pinterest, and Twitter ad platforms

Planted
google adsdata engineeringetl

Each ad platform has a distinct API design, authentication model, and set of engineering gotchas. This note covers the characteristics relevant to data extraction: data structure, authentication, and known failure modes.

Google Ads has the most mature ecosystem. The API (v18+) uses GAQL (Google Ads Query Language) for querying — a SQL-like syntax for requesting specific fields and filtering results declaratively. Documentation is extensive and community support is broad.

The key engineering gotcha: cost is reported in micros. You divide by 1,000,000 to get actual currency values. Miss this conversion and your dashboards will show spend figures a million times too high.

Google Ads is the only major platform offering a native BigQuery integration via the Data Transfer Service. It’s free, runs daily, and produces a fixed schema in your BigQuery project. The limitation: daily granularity only, and Performance Max campaigns have well-documented gaps in ad-level reporting. If you need fresher data or more granular Performance Max breakdowns, you’ll need the API directly.

Performance Max campaigns support campaign-level reporting only, leaving gaps in ad-level and ad-group-level analysis. PMax is increasingly the default campaign type Google directs advertisers toward.

Meta Ads

Meta uses the Marketing API with quarterly version releases and a roughly 2-year deprecation cycle. Regular migration work is required.

The primary engineering challenge is the nested JSON actions array. Conversions don’t come back as flat columns. Instead, you get structures like:

[
{"action_type": "link_click", "value": "150"},
{"action_type": "offsite_conversion.fb_pixel_purchase", "value": "12"}
]

Flattening this into queryable columns is the central transformation task for Meta ad data. Every action type you care about needs to be extracted from the array and pivoted into its own column. This is where the intermediate layer in a dbt project earns its keep.

Meta’s June 2025 attribution change split the attribution model: on-Meta events (like leads from lead forms) attribute to impression time, while off-Meta events (like website purchases) attribute to conversion time. There is no opt-out. This means the same campaign can show different conversion counts depending on which event types you’re analyzing, and comparing before/after June 2025 data requires careful handling.

Meta’s attribution data also updates retroactively over 3-7 day windows. Yesterday’s numbers will change tomorrow. Any pipeline that snapshots daily totals needs to account for this restatement window.

LinkedIn Ads

LinkedIn has the most difficult API access of any major platform. Manual review of developer applications can take weeks to months. Rejected applications cannot reapply with the same developer app.

The naming convention is inverted compared to every other platform: a LinkedIn “Campaign” maps to what others call an “Ad Group”, and LinkedIn’s “Campaign Group” maps to what others call a “Campaign.” This naming mismatch causes confusion in cross-platform reporting if you don’t remap terms in your transformation layer.

Authentication is another pain point. OAuth tokens expire after 60 days. Refresh tokens expire after 365 days. After that, the user must re-authenticate interactively — there’s no long-lived service account pattern. Build monitoring around token expiration dates.

Rate limits are unpublished. The Developer Portal’s Analytics tab is the only way to check current usage; there is no programmatic way to know how close you are to a limit before hitting it.

Microsoft/Bing Ads

Microsoft Advertising uses a SOAP-protocol API requiring both a developer token and OAuth authentication. SOAP is a legacy protocol; tooling is less convenient than REST-based APIs and debugging is more involved. Ecosystem and community support are thinner than Google or Meta. Data quality and reporting capabilities are solid once connected.

TikTok Ads

TikTok’s Marketing API has growing maturity but less stability than Google or Meta. Breaking changes are more frequent and documentation is less comprehensive. Audience overlap capabilities and creative-level reporting are improving. The platform is evolving fast enough that API assumptions made one quarter may not hold the next.

Pinterest Ads

Pinterest supports a Conversions API for server-side tracking. The reporting API covers standard metrics across campaigns, ad groups, and ads. Smaller advertiser base means less community tooling and fewer pre-built connectors than Google or Meta.

Twitter/X Ads

The advertising API roadmap is not well-communicated and reliability has been uncertain. Teams depending on Twitter/X ad data programmatically should maintain contingency plans for API changes or access restrictions.

Cross-Platform Considerations

The diversity across these platforms — different auth models, data structures, rate limit behaviors, and attribution methodologies — is why managed extraction tools exist. Building custom pipelines for multiple platforms simultaneously is a significant engineering investment. Each additional platform increases the surface area for pipeline maintenance and failure modes.