canonical: https://jentic.com/apis/googleapis.com/dfareporting

# Google Campaign Manager 360 API

Google Campaign Manager 360 (formerly DoubleClick Campaign Manager / DFA Reporting) is an enterprise ad-server and trafficking platform for managing complex digital ad campaigns across display, video, and mobile. The API exposes campaigns, advertisers, creatives, placements, ad assignments, attribution, and reporting so agencies and advertisers can automate large-scale trafficking and pull conversion data programmatically. With 211 endpoints, it covers the full lifecycle from advertiser setup through reporting on file delivery.

## For AI agents

Traffic, manage, and report on display, video, and mobile ad campaigns at agency scale through Campaign Manager 360.

## Scope

Does not handle DSP bidding, search ads, or shopping feed management - use for Campaign Manager 360 ad trafficking and reporting only.

## Capabilities

- Traffic display and video creatives across advertisers, campaigns, and placements
- Schedule and download Campaign Manager 360 reports as CSV files
- Manage placement strategies, ad assignments, and creative rotations
- Create floodlight activities to track conversions and audience signals
- List remarketing lists and target audience segments for retargeting
- Reconcile billing and invoicing data via accountActiveAdSummaries

## Use cases

### Automated Creative Trafficking

Agencies use the Campaign Manager 360 API to traffic hundreds of creatives per launch without manual UI work. The agent uploads creative assets, creates creative records under an advertiser, then assigns them to placements with rotation rules. Trafficking that takes 2-3 days manually compresses to under an hour for a 200-creative launch.

Example prompt: Insert a new display creative under advertiser 12345 with a 300x250 image asset, then assign it to placement 67890 with rotation type RANDOM.

### Conversion and Performance Reporting

Pull standardized and custom reports out of Campaign Manager 360 for finance and analytics teams. Schedule a report via reports.insert, poll files.list until the file is REPORT_AVAILABLE, then download it from the file URL. Reports cover impressions, clicks, conversions by floodlight activity, and reach.

Example prompt: Insert a STANDARD report on advertiser 12345 with date range LAST_30_DAYS and dimensions [advertiser, campaign, day], poll for file availability, and download the CSV.

### Floodlight Conversion Tracking Setup

Configure floodlight activities and activity groups to capture conversions across advertiser sites. Marketing engineers use the API to register activity tags, manage conversion identifiers, and group activities by funnel stage so the rest of the platform (placements, reports) can attribute properly.

Example prompt: Create a floodlight activity named Signup_Confirmed under floodlight activity group Acquisition for advertiser 12345 with counting method TRANSACTIONS.

### Agent-Driven Campaign Audits

Through Jentic, an AI agent can sweep a media plan and audit which placements have ads assigned, which creatives are paused, and which campaigns are missing tracking. The agent calls campaigns.list, placements.list, and ads.list, then summarises gaps for the trafficker without exposing the OAuth credentials.

Example prompt: Use Jentic to list all campaigns under advertiser 12345, then for each campaign list placements with no active ad assigned and return the count by campaign.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /userprofiles | List user profiles available to the caller |
| GET | /userprofiles/{+profileId}/advertisers | List advertisers under a user profile |
| GET | /userprofiles/{+profileId}/campaigns | List campaigns under a user profile |
| GET | /userprofiles/{+profileId}/creatives | List creatives under a user profile |
| GET | /userprofiles/{+profileId}/placements | List placements under a user profile |
| GET | /userprofiles/{+profileId}/floodlightActivities | List floodlight conversion activities |
| GET | /reports/{reportId}/files/{fileId} | Get a generated report file |

## Key resources

- **advertisers** — Manage advertiser records under user profiles
- **campaigns** — Create and manage advertising campaigns
- **creatives** — Upload and configure display, video, and rich media creatives
- **placements** — Define inventory placements where ads run
- **ads** — Assign creatives to placements with targeting and rotation
- **reports / files** — Schedule reports and download generated files
- **floodlightActivities** — Configure conversion tracking activities and groups

## Why Jentic

- **Setup:** Wiring the Campaign Manager 360 API by hand means setting up Google OAuth with the trafficking and reporting scopes, minting short-lived tokens rather than shipping service-account JSON, and building user profile paths against dfareporting.googleapis.com/dfareporting/v4. Through Jentic you install once, import the Campaign Manager 360 API from the API Directory, store the Google credential once, and your agent calls it.
- **Permission scoping:** The API puts the user profile, report, and file id in the URL path (/userprofiles/{profileId}/campaigns and /reports/{reportId}/files/{fileId}), so a rule can pin your agent to one user profile or report. You choose the operations it may call across the large surface, so it can read advertisers, campaigns, and report files while write operations are not included unless you add them.
- **Credential handling:** Your Google OAuth credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'schedule a Campaign Manager 360 report', and Jentic returns the matching reports operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Display & Video 360 API** — Programmatic media buying that pairs with Campaign Manager 360 trafficking
- **DoubleClick Bid Manager API** — Bid Manager reporting that complements Campaign Manager attribution
- **Authorized Buyers (Ad Exchange Buyer) API** — Direct programmatic buying - lower-level than Campaign Manager 360

## FAQ

### What authentication does the Campaign Manager 360 API use?

OAuth 2.0 with the dfatrafficking, dfareporting, and ddmconversions scopes. Through Jentic, OAuth tokens are scoped per agent run and stored encrypted in your Jentic One instance, so raw service-account credentials never touch the agent runtime.

### Can I download a Campaign Manager 360 report file via the API?

Yes. Schedule the report via reports.insert, then poll files.list or files.get until status is REPORT_AVAILABLE. The response includes a urls.apiUrl that you can GET to retrieve the CSV body.

### What are the rate limits for the Campaign Manager 360 API?

Campaign Manager 360 enforces a default of 50 queries per second per user and 50,000 requests per day per project, with separate quotas for reporting versus trafficking. Quotas are visible in the Google Cloud Console under APIs and Services.

### How do I list advertisers through Jentic?

Search 'list Campaign Manager 360 advertisers', load the schema for /userprofiles/{profileId}/advertisers, then execute it with your user profile ID. Jentic returns the parsed advertiser list.

### Does Campaign Manager 360 require a user profile ID for most calls?

Yes. Most trafficking and reporting endpoints are scoped under /userprofiles/{profileId}/. Call userprofiles.list first to retrieve the profile ID for the account you want to operate on.

### Can I create floodlight activities programmatically?

Yes. Use floodlightActivities.insert under a user profile to register a new conversion activity, and floodlightActivityGroups to organise activities by funnel stage or product line.

### Can I limit what my agent is allowed to do with the Campaign Manager 360 API?

Yes. Because Jentic One is self-hosted, your own rules decide which Campaign Manager 360 operations and credentials the agent may use. Since the API puts the user profile, report, and file IDs in the URL path, such as /userprofiles/{profileId}/campaigns and /reports/{reportId}/files/{fileId}, you can pin the agent to a single user profile or report. You also choose the operations it may call across the large surface, so it can list advertisers, campaigns, and report files while write operations stay excluded unless you add them.
