/data-manager-api-event-ingestion
Guides developers through implementing event and conversion ingestion to Google products using the Data Manager API /v1/events/ingest endpoint and its associated client libraries. Use this skill when the user wants to upload offline conversions, enhanced conversions for leads,
Claude Code
$ npx -y skills add google/skills --skill data-manager-api-event-ingestion --agent claude-code
Codex
$ npx skills add google/skills --skill data-manager-api-event-ingestion -a codex -y
Cursor
$ npx skills add google/skills --skill data-manager-api-event-ingestion -a cursor -y
Gemini CLI
$ npx skills add google/skills --skill data-manager-api-event-ingestion -a gemini-cli -y
GitHub Copilot
$ npx skills add google/skills --skill data-manager-api-event-ingestion -a github-copilot -y
OpenCode
$ npx skills add google/skills --skill data-manager-api-event-ingestion -a opencode -y
Windsurf
$ npx skills add google/skills --skill data-manager-api-event-ingestion -a windsurf -y
SKILL.md
data-manager-api-event-ingestion.SKILL.mdname: data-manager-api-event-ingestion
description: >-
Guides developers through implementing event and conversion ingestion to
Google products using the Data Manager API /v1/events/ingest endpoint
and its associated client libraries. Use this skill when the user wants to upload
offline conversions, enhanced conversions for leads, click conversions, Google
Analytics web or app events, or any other event ingestion use case supported by
the Data Manager API. Don't use for uploading audience members (use the
data-manager-api-audience-ingestion skill).
metadata:
version: "1.2.0"
category: GoogleAds
Data Manager API Event 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.
Step 1: Identify Use Case & Read Documentation
- **Determine Destination Account Type**: [CRITICAL] If it can't be determined
from the user's context, consider clarifying which destination events are being ingested to before generating any code. This maps to the `account_type` field of the `operating_account` in the `Destination`, and also determines valid event identifiers and requirements.
- **Identify User Intent**:
- **Implementing ingestion code**: Follow the relevant
implementation guide for the destination and use case in the **Implementation guide** column below. This is critical to ensure field requirements are met and destinations are correctly configured.
- **Checking request status or inspecting errors**: Refer to the
[Error Handling & Troubleshooting](#error-handling-troubleshooting) section below.
- **Migrating from another Google API**: Refer to
[Step 3: Retrieve Migration Guides](#step-3-retrieve-migration-guides) below to extract the full contents of the relevant field mapping guide.
| Destination (`operating_account.account_type`) | Use case | Implementation guide | | :--- | :--- | :--- | | **Google Ads** (`GOOGLE_ADS`) | Offline conversions, enhanced conversions for leads | [Send events](https://developers.google.com/data-manager/api/devguides/events/google-ads/offline/send-events.md.txt) | | **Google Ads** (`GOOGLE_ADS`) | Multi-source conversions supplementing the Google tag | [Send events](https://developers.google.com/data-manager/api/devguides/events/google-ads/online/send-events.md.txt) | | **Google Ads** (`GOOGLE_ADS`) | Store sales conversions | [Send events](https://developers.google.com/data-manager/api/devguides/events/google-ads/store-sales/send-events.md.txt) | | **Google Analytics** (`GOOGLE_ANALYTICS_PROPERTY`) | Recommended and custom GA4 events | [Send events](https://developers.google.com/data-manager/api/devguides/events/analytics/recommended-custom-events/send-events.md.txt) | | **Google Analytics** (`GOOGLE_ANALYTICS_PROPERTY`) | Multi-source events with a transaction ID | [Send events](https://developers.google.com/data-manager/api/devguides/events/analytics/online/send-events.md.txt) | | **Floodlight** (`FLOODLIGHT_CONFIG`) | Floodlight offline conversions | [Send events](https://developers.google.com/data-manager/api/devguides/events/cm360/offline/send-events.md.txt) | | **Floodlight** (`FLOODLIGHT_CONFIG`) | Multi-source conversions supplementing the Google or Floodlight tag | [Send events](https://developers.google.com/data-manager/api/devguides/events/cm360/online/send-events.md.txt) |
If the request doesn't match any row, fetch the [Events overview](https://developers.google.com/data-manager/api/devguides/events.md.txt) to find the right guide rather than guessing.
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_events.py`](https://github.com/googleads/data-manager-python/blob/main/samples/events/ingest_events.py) | | **Java** | [`IngestEvents.java`](https://github.com/googleads/data-manager-java/blob/main/data-manager-samples/src/main/java/com/google/ads/datamanager/samples/IngestEvents.java) | | **PHP** | [`ingest_events.php`](https://github.com/googleads/data-manager-php/blob/main/samples/events/ingest_events.php) | | **Node** | [`ingest_events.ts`](https://github.com/googleads/data-manager-node/blob/main/samples/events/ingest_events.ts) | | **.NET**| [`IngestEvents.cs`](https://github.com/googleads/data-manager-dotnet/blob/main/samples/IngestEvents.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 Ads
- **Offline conversions, enhanced conversions for leads** (migrating from the Google Ads API):
[Google Ads Offline Conversions Migration Field Mappings](https://developers.google.com/data-manager/api/devguides/events/google-ads/offline/upgrade/field-mappings.md.txt)
- **Store sales conversions** (migrating from the Google Ads API):
[Google Ads Store Sales Migration Field Mappings](https://developers.google.com/data-manager/api/devguides/events/google-ads/store-sales/upgrade/field-mappings.md.txt)
Google Analytics
- **Recommended and custom GA4 events** (migrating from the Google Analytics Measurement Protocol):
[Google Analytics Measurement Protocol Migration Field Mappings](https://developers.google.com/data-manager/api/devguides/events/analytics/measurement-protocol/upgrade/field-mappings.md.txt)
Floodlight
- **Floodlight offline conversions** (migrating from the Campaign Manager 360 API):
[Campaign Manager 360 Offline Conversions Migration Field Mappings](https://developers.google.com/data-manager/api/devguides/events/cm360/offline/upgrade/field-mappings.md.txt)
Step 4: Implemen
Read more
name: data-manager-api-event-ingestion description: >- Guides developers through implementing event and conversion ingestion to Google products using the Data Manager API /v1/events/ingest endpoint and its associated client libraries. Use this skill when the user wants to upload offline conversions, enhanced conversions for leads, click conversions, Google Analytics web or app events, or any other event ingestion use case supported by the Data Manager API. Don't use for uploading audience members (use the data-manager-api-audience-ingestion skill). metadata: version: "1.2.0" category: GoogleAds
Data Manager API Event 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.
Step 1: Identify Use Case & Read Documentation
- **Determine Destination Account Type**: [CRITICAL] If it can't be determined
from the user's context, consider clarifying which destination events are being ingested to before generating any code. This maps to the `account_type` field of the `operating_account` in the `Destination`, and also determines valid event identifiers and requirements.
- **Identify User Intent**:
- **Implementing ingestion code**: Follow the relevant
implementation guide for the destination and use case in the **Implementation guide** column below. This is critical to ensure field requirements are met and destinations are correctly configured.
- **Checking request status or inspecting errors**: Refer to the
[Error Handling & Troubleshooting](#error-handling-troubleshooting) section below.
- **Migrating from another Google API**: Refer to
[Step 3: Retrieve Migration Guides](#step-3-retrieve-migration-guides) below to extract the full contents of the relevant field mapping guide.
| Destination (`operating_account.account_type`) | Use case | Implementation guide | | :--- | :--- | :--- | | **Google Ads** (`GOOGLE_ADS`) | Offline conversions, enhanced conversions for leads | [Send events](https://developers.google.com/data-manager/api/devguides/events/google-ads/offline/send-events.md.txt) | | **Google Ads** (`GOOGLE_ADS`) | Multi-source conversions supplementing the Google tag | [Send events](https://developers.google.com/data-manager/api/devguides/events/google-ads/online/send-events.md.txt) | | **Google Ads** (`GOOGLE_ADS`) | Store sales conversions | [Send events](https://developers.google.com/data-manager/api/devguides/events/google-ads/store-sales/send-events.md.txt) | | **Google Analytics** (`GOOGLE_ANALYTICS_PROPERTY`) | Recommended and custom GA4 events | [Send events](https://developers.google.com/data-manager/api/devguides/events/analytics/recommended-custom-events/send-events.md.txt) | | **Google Analytics** (`GOOGLE_ANALYTICS_PROPERTY`) | Multi-source events with a transaction ID | [Send events](https://developers.google.com/data-manager/api/devguides/events/analytics/online/send-events.md.txt) | | **Floodlight** (`FLOODLIGHT_CONFIG`) | Floodlight offline conversions | [Send events](https://developers.google.com/data-manager/api/devguides/events/cm360/offline/send-events.md.txt) | | **Floodlight** (`FLOODLIGHT_CONFIG`) | Multi-source conversions supplementing the Google or Floodlight tag | [Send events](https://developers.google.com/data-manager/api/devguides/events/cm360/online/send-events.md.txt) |
If the request doesn't match any row, fetch the [Events overview](https://developers.google.com/data-manager/api/devguides/events.md.txt) to find the right guide rather than guessing.
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_events.py`](https://github.com/googleads/data-manager-python/blob/main/samples/events/ingest_events.py) | | **Java** | [`IngestEvents.java`](https://github.com/googleads/data-manager-java/blob/main/data-manager-samples/src/main/java/com/google/ads/datamanager/samples/IngestEvents.java) | | **PHP** | [`ingest_events.php`](https://github.com/googleads/data-manager-php/blob/main/samples/events/ingest_events.php) | | **Node** | [`ingest_events.ts`](https://github.com/googleads/data-manager-node/blob/main/samples/events/ingest_events.ts) | | **.NET**| [`IngestEvents.cs`](https://github.com/googleads/data-manager-dotnet/blob/main/samples/IngestEvents.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 Ads
- **Offline conversions, enhanced conversions for leads** (migrating from the Google Ads API):
[Google Ads Offline Conversions Migration Field Mappings](https://developers.google.com/data-manager/api/devguides/events/google-ads/offline/upgrade/field-mappings.md.txt)
- **Store sales conversions** (migrating from the Google Ads API):
[Google Ads Store Sales Migration Field Mappings](https://developers.google.com/data-manager/api/devguides/events/google-ads/store-sales/upgrade/field-mappings.md.txt)
Google Analytics
- **Recommended and custom GA4 events** (migrating from the Google Analytics Measurement Protocol):
[Google Analytics Measurement Protocol Migration Field Mappings](https://developers.google.com/data-manager/api/devguides/events/analytics/measurement-protocol/upgrade/field-mappings.md.txt)
Floodlight
- **Floodlight offline conversions** (migrating from the Campaign Manager 360 API):
[Campaign Manager 360 Offline Conversions Migration Field Mappings](https://developers.google.com/data-manager/api/devguides/events/cm360/offline/upgrade/field-mappings.md.txt)
Step 4: Implemen
This repository contains Agent Skills for Google products and technologies, including Google Cloud.
Other skills on skills.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about data-manager-api-event-ingestion.
- Which coding agents can use data-manager-api-event-ingestion?
- data-manager-api-event-ingestion installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

