data-manager-api-audience-ingestion
>- Guides developers through managing (adding, removing, and clearing) audience members for Google products using the Data Manager API and its associated client libraries. Use this skill when the user wants to upload audience members, remove specific users, or clear/replace an entire audience for Customer Match, mobile device ID audiences, or any other audience use case supported by the Data Manager API. Don't use for uploading events or conversions (use the data-manager-api-event-ingestion skill).
Why we recommend it: Audience ingestion for Customer Match supports go-to-market/customer acquisition, adjacent to founder marketing work.
Inspect before use
Read the source instructions and check the requirements before you install this skill.
SKILL.md
The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.
---
name: data-manager-api-audience-ingestion
description: >-
Guides developers through managing (adding, removing, and clearing) audience members for Google products using
the Data Manager API and its associated client libraries. Use this skill when the user wants to upload audience
members, remove specific users, or clear/replace an entire audience for Customer Match, mobile device ID audiences, or any
other audience use case supported by the Data Manager API. Don't use for uploading events or
conversions (use the data-manager-api-event-ingestion skill).
metadata:
version: 1.1
category: GoogleAds
---
# Data Manager API Audience Ingestion
## Implementation Workflow
### Prerequisites
- **Authentication & Library Installation**: If you need to set up access to
the Data Manager API or install the client and utility libraries, refer to
the `data-manager-api-setup` skill.
- **Audience Creation (if needed)**: If the user does not have an existing
audience or needs to create a new one, use the
[Create an Audience](references/create-audience.md) reference. This step
provides the `product_destination_id` needed for the ingestion or removal
requests.
### Step 1: Identify Use Case & Read Documentation
- **Determine Destination Account Type**: [CRITICAL] If it's not clear where
the data is being sent (e.g., Google Ads, Display & Video 360, etc.), STOP
and CLARIFY with the user BEFORE generating any code. Do not assume Google
Ads by default. This maps to the `account_type` field of the
`operating_account` in the `Destination`.
- **Read the implementation guide**: Read the relevant guide for your
destination and use case. Do this before answering questions or writing code
because each destination has unique payload structures, consent rules, and
required fields.
| Destination | Audience Type | Accepted Data Types | Upload Guide | Remove All/Replace All Guide |
| :--- | :--- | :--- | :--- | :--- |
| **Google Ads** | Customer Match | `composite_data.user_data` (contact info), `mobile_data` (device IDs), `user_id_data` (user IDs) | [Upload Data](https://developers.google.com/data-manager/api/devguides/audiences/google-ads/customer-match/upload-data.md.txt) | [Remove All/Replace All](https://developers.google.com/data-manager/api/devguides/audiences/google-ads/customer-match/remove-all-members.md.txt) |
| **Display & Video 360** (DV360) | Customer Match | `composite_data.user_data` (contact info), `mobile_data` (device IDs) | [Upload Data](https://developers.google.com/data-manager/api/devguides/audiences/display-video/customer-match/upload-data.md.txt) | [Remove All/Replace All](https://developers.google.com/data-manager/api/devguides/audiences/display-video/customer-match/remove-all-members.md.txt) |
### Step 2: Retrieve Code Sample
> [!IMPORTANT] If writing or updating an ingestion script, ALWAYS retrieve the
> relevant code sample to use as a reference:
| Language | Sample |
| :--- | :--- |
| **Python** | [`ingest_audience_members.py`](https://github.com/googleads/data-manager-python/blob/main/samples/audiences/ingest_audience_members.py) |
| **Java** | [`IngestAudienceMembers.java`](https://github.com/googleads/data-manager-java/blob/main/data-manager-samples/src/main/java/com/google/ads/datamanager/samples/IngestAudienceMembers.java) |
| **PHP** | [`ingest_audience_members.php`](https://github.com/googleads/data-manager-php/blob/main/samples/audiences/ingest_audience_members.php) |
| **Node** | [`ingest_audience_members.ts`](https://github.com/googleads/data-manager-node/blob/main/samples/audiences/ingest_audience_members.ts) |
| **.NET**| [`IngestAudienceMembers.cs`](https://github.com/googleads/data-manager-dotnet/blob/main/samples/IngestAudienceMembers.cs) |
### Step 3: Retrieve Migration Guides
> [!IMPORTANT] If refactoring code to upgrade from another Google API, ALWAYS
> extract the full contents of the relevant field mapping guide.
#### Google ARead the full source on GitHub (opens external page)