googleads / googleads/data-manager-php
Inconsistent docs/validation for Event.event_source in Google Ads offline conversion migration
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 1
- Forks
- 1
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 5
Description
Hi,
I noticed an inconsistency while migrating Google Ads offline conversion uploads to the Data Manager API.
In the Google Ads offline conversion upgrade field mappings:
the table says:
ClickConversion.conversion_environment -> No equivalent
No equivalent -> Event.event_source
This suggests that conversion_environment should not be mapped directly to event_source, and that event_source is a separate Data Manager field.
However, when calling IngestEvents / events:ingest without event_source, the API rejects the request with:
{
"field": "events.events[0].event_source",
"description": "Required field is missing.",
"reason": "REQUIRED_FIELD_MISSING"
}
This makes event_source effectively required for Google Ads event ingestion, even though it is shown as having no Google Ads API equivalent in the migration table, and the generated PHP protobuf class documents it as optional.
Could the documentation clarify the recommended migration behavior?
Specifically:
- Is event_source required for Google Ads offline conversion event ingestion?
- If yes, should advertisers set it explicitly based on their own source context, e.g. WEB for website purchases?
- Should conversion_environment = WEB|APP be intentionally mapped to event_source = WEB|APP, despite the mapping table saying conversion_environment has no equivalent?
- Should the API reference/protobuf field behavior mark event_source as required for this use case?
Current workaround:
We keep conversion_environment for Google Ads API uploads and add a separate explicit Data Manager field:
{
"conversion_environment": "WEB",
"event_source": "WEB"
}
Then the Data Manager adapter maps only event_source to Event.event_source, avoiding an undocumented automatic mapping from conversion_environment.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Google Ads offline conversion field-mappings table and the IngestEvents/events:ingest behavior described in the issue, then inspect the generated PHP protobuf field documentation for Event.event_source. Confirm the required behavior and recommended relationship to conversion_environment, and update the migration documentation and API reference so the expected request fields and mapping are explicit.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- api, documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100