Data Manager
Data Manager has 2 operations in gum's generated catalog. Start with search when you know the task, use describe to inspect request fields and scopes, then dispatch through the command that matches the operation risk class.
| Count | Value |
|---|---|
| Family | Ads and maps |
| Operations | 2 |
| Risk classes | 1 read, 1 write |
| Auth strategies | 2 byo_oauth |
Start here
gum search "data manager"
gum describe datamanager.requestStatus.retrieve
gum read datamanager.requestStatus.retrieve --args '{"requestId":"<requestId>"}' --output jsonFor write-class operations, gum requires the write command and an explicit write gate:
gum describe datamanager.events.ingest
gum write datamanager.events.ingest --allow-write --args '{"body":{"destinations":[{"operatingAccount":{"accountType":"GOOGLE_ADS","accountId":"<customer-id>"},"productDestinationId":"<conversion-action-id>"}],"events":[{"eventTimestamp":"<RFC-3339-time>","eventSource":"WEB","adIdentifiers":{"gclid":"<click-id>"}}],"validateOnly":true}}'Auth
Auth strategies in this service: 2 byo_oauth. Authenticate the strategy used by the operation you plan to call.
Bring-your-own OAuth
- In Google Cloud, enable Data Manager API.
- Configure the OAuth consent screen. Add your Google account as a test user when the app is still in testing mode.
- Create an OAuth client ID with application type
Desktop app. - Add the scopes this service needs to the consent screen.
- Store the client in gum:
printf '%s' "$GOOGLE_OAUTH_CLIENT_SECRET" \
| gum auth use-oauth-client --client-id "$GOOGLE_OAUTH_CLIENT_ID" --secret-stdin- Authorize this service:
gum login --service datamanager- Verify the grant before dispatch:
gum auth status --scopes datamanager
gum describe datamanager.requestStatus.retrieveScopes used by these operations:
https://www.googleapis.com/auth/datamanager
Service setup notes: Data Manager auth guide.
Operations
| Operation | Risk | Auth | Summary |
|---|---|---|---|
datamanager.events.ingest |
write |
byo_oauth |
Send conversion events to a Google Ads or Display & Video 360 account (args.body: destinations[] with operatingAccount {accountType:GOOGLE_ADS, accountId} and productDestinationId = the conversion action id, plus events[] with eventTimestamp, eventSource, adIdentifiers {gclid|gbraid|wbraid}, conversionValue, currency, and transactionId). At most 2000 events per request. Set validateOnly=true in the body to check a batch without recording it. For live uploads, check the returned requestId with datamanager.requestStatus.retrieve after 30 minutes; processing can take 24 hours. Status lookup is unavailable for validateOnly requests. |
datamanager.requestStatus.retrieve |
read |
byo_oauth |
Read what Google did with an earlier Data Manager request. Needs the requestId returned by a live ingest call. Wait 30 minutes before checking; processing can take 24 hours. Not available for validateOnly requests. Returns per-destination ingestion status, error info, and warnings. |
Next
- Use API workflows for search, describe, invoke, and error handling.
- Use Auth guides for service-specific Google setup.
- Use Command index for CLI flags and generated help.
