Integration

Google Ads cost per purchase, not just cost per install

Connect Google Ads and WhyItChanged pulls daily cost, clicks, impressions and conversions per campaign, plus budget and bidding changes from the change history. Those changes appear as markers on your timeline, so when installs or revenue move after you touched a budget, you can see it.

Connect Google Ads freeSee the demo first

What WhyItChanged pulls from Google Ads

Questions it answers

Access it needs

OAuth for a Google user with read access to the ad account, plus a developer token. Only GAQL SELECT reports are run. Credentials are encrypted at rest and used read-only. How keys are handled.

Set it up

  1. Get a developer token from Google Ads → Tools → API Center (Basic access is enough).
  2. In Google Cloud, enable the Google Ads API and create an OAuth client (Desktop app). Set the consent screen to In production, or refresh tokens expire after 7 days.
  3. Use Google's OAuth Playground with your own client to get a refresh token for the adwords scope.
  4. Paste the customer ID, developer token, client ID, client secret and refresh token into the Google Ads connector.
WhyItChanged change timeline: Google Ads data next to release and ad-change markers

Questions

My refresh token keeps expiring. Why?

OAuth apps in Testing status issue refresh tokens that last 7 days. Publish the consent screen to In production, or set the expiry date in the connector to get warned in time.

Do I need a manager (MCC) account?

No. Add the manager ID only if you sign in through one.

Guides

Works well with

See why your numbers moved.

Start free

Free for 1 app · No card