Skip to content

feat(ads): wrap the Google Ads surface - #22

Merged
alihesari merged 2 commits into
mainfrom
feature/google-ads
Sep 20, 2026
Merged

alihesari merged 2 commits into
mainfrom
feature/google-ads

Conversation

@alihesari

Copy link
Copy Markdown
Member

$client->ads()->google() covers what only Google has: keywords and keyword ideas, search terms, bid strategies, ad schedule, negative keyword lists, assets, Performance Max asset groups, Local Services leads, conversions, and query() for a raw read-only GAQL SELECT.

Campaigns, ad groups, ads, audiences and insights stay on the ads resource, where they dispatch by connection. ads()->authorizeGoogle() starts the connection.

Every call names a customer id the connection's grant reaches; any other answers 404. Amounts stay in the account's currency, minor units.

Merged with main (28 commits: contacts, broadcasts, sequences, catalogs). The one conflict was the resource docblock, which now names both networks.

Needs fopost/fopost#997 on the API side. 151 tests pass and phpcs is clean.

ads()->google() covers what only Google has: keywords and keyword ideas,
search terms, bid strategies, ad schedule, negative keyword lists, assets,
Performance Max asset groups, Local Services leads, conversions, and query()
for a raw GAQL read. Campaigns, ad groups, ads, audiences and insights stay on
the ads resource, where they dispatch by connection.

ads()->authorizeGoogle() starts the connection.
# Conflicts:
#	src/Resource/AdsResource.php
@alihesari
alihesari merged commit 9b499fd into main Sep 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant