The tap-adwords Singer tap pulls data from Google Ads that can then be sent to a destination using a Singer target.

Alternative variants

Multiple variants of tap-adwords are available. This document describes the default singer-io variant, which is recommended for new users.

Alternative variants are:

Standalone usage

Install the package using pip:

pip install tap-adwords

For additional instructions, refer to the README in the repository.

Usage with Meltano

Install Meltano, create your Meltano project, and add the tap to your project as an extractor:

meltano add extractor tap-adwords

For additional instructions, refer to the Meltano-specific documentation for tap-adwords.



Developer Token (developer_token)

Your Developer Token for Google AdWord Application

OAuth Client ID (oauth_client_id)

Your Google OAuth Client ID

OAuth Client Secret (oauth_client_secret)

Your Google OAuth Client Secret

Access Token (refresh_token)

The Refresh Token generated through the OAuth flow run using your OAuth Client and your Developer Token

Account ID(s) (customer_ids)

A comma-separated list of Ad Account IDs to replicate data from


Determines how much historical data will be extracted. Please be aware that the larger the time period and amount of data, the longer the initial extraction can be expected to take.


Date up to when historical data will be extracted.

User Agent for your OAuth Client (user_agent)

  • Default: tap-adwords via Meltano

The User Agent for your OAuth Client (used in requests made to the AdWords API)

Conversion Window Days (conversion_window_days)

  • Default: 0

How many Days before the Start Date to fetch data for Performance Reports

Primary Keys (primary_keys)

  • Default: {"AD_PERFORMANCE_REPORT"=>["customerID", "campaignID", "adGroupID", "adID", "day", "network", "device"], "KEYWORDS_PERFORMANCE_REPORT"=>["customerID", "campaignID", "adGroupID", "keywordID", "day", "network", "device"]}

Primary Keys for the selected Entities (Streams)

Looking for help?

If you're having trouble getting tap-adwords to work by itself or with Meltano, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the #plugins-general channel.

Found an issue on this page?

This page is generated from a YAML file that you can contribute changes to! It is also validated against a JSON Schema used for taps and targets.

Edit this page on GitLab!