Overview
This source syncs entity data and report exports from Campaign Manager 360 using the Campaign Manager 360 API (dfareporting v5). API v4 is sunset; this connector targets v5 only. There are two categories of streams:- Entity streams (
user_profiles,advertisers,campaigns,reports) — list resources via the DFA Reporting & Trafficking API. Each row includes a stableentity_id, flattened top-level fields, and_raw(full API object as JSON). - Report export stream (
report_rows) — runs saved Report Builder reports by ID, waits for completion, downloads the CSV file via the API, and emits one record per data row. Columns vary by report definition and are packed into arow_dataJSON string.
email field.
All streams use full table replication.
Configuration
Sample configs
Entity streams only — user profiles, advertisers, campaigns, reports (no report download):Streams
report_rows and sample data: When loading sample data, only the first report_id is run and at most 25 CSV rows are returned, so the UI preview does not trigger every report or download large files.
How report_rows works
- For each
report_id, the connector callsreports.runto start a new execution (or, ifreport_use_latest_file: true, looks up the most recent completed file viareports.files.list). - It polls
files.geteveryreport_poll_interval_secondsuntil the status reachesREPORT_AVAILABLE,FAILED, orCANCELLED, or untilreport_poll_timeout_secondsis exceeded. - Once available, the file is downloaded in streaming chunks via the
files.get_mediaendpoint and written to a local temp file. - The temp file is parsed as a UTF-8 CSV. Blank rows are skipped. Each data row is emitted as a record.
Prerequisites
- Enable Campaign Manager 360 API (
dfareporting.googleapis.com) in Google Cloud Console. - Create a service account and download its JSON key. Set
path_to_credentials_json_fileto the local path. - In Campaign Manager 360, grant the service account access to the account (via Admin → User Profiles). Use domain-wide delegation and set
emailif your organization requires impersonation. - For
report_rows: create and save the report in Campaign Manager’s Report Builder with CSV output format. Copy the numeric report ID from the URL or Report Builder UI and add it toreport_ids.
OAuth scopes used
Related links
- Campaign Manager 360 API (v5) overview
- reports.run reference
- File status lifecycle
- Service account authentication