Back to source list
Official
Premium
Google Ads
The CloudQuery Google Ads plugin for CloudQuery pulls configuration from Google Ads API and loads it into any supported CloudQuery destination
Publisher
cloudquery
Latest version
v3.9.0
Type
Source
Platforms
Date Published
Price per 1M rows
Starting from $17
monthly free quota
1M rows
Set up process #
brew install cloudquery/tap/cloudquery
1. Download CLI and login
2. Create source and destination configs
Plugin configurationOverview #
The Google Ads source plugin extracts information from Google Ads API and loads it into any supported CloudQuery destination (e.g. PostgreSQL, BigQuery, Snowflake, and more).
Example Configuration #
kind: source
spec:
name: googleads
path: cloudquery/googleads
registry: cloudquery
version: "v3.9.0"
tables: ["*"]
destinations: ["postgresql"]
# Learn more about the configuration options at https://cql.ink/googleads_source
spec:
# required
developer_token: "${GOOGLE_ADS_DEVELOPER_TOKEN}"
Authentication #
Two methods are supported: OAuth 2.0 and Application Default Credentials.
Note: See the official documentation describing different authorization options.
OAuth 2.0 #
The following options are available when using OAuth:
- Using an existing access tokenThis token should be authorized for
https://www.googleapis.com/auth/adwords
scope (e.g. by using OAuth 2.0 Playground). - Using OAuth client ID & client secretYou can get your own OAuth credentials using this guide.
Application Default Credentials #
See the official Application Default Credentials guide.
Note: You will still need to authorize these credentials for
https://www.googleapis.com/auth/adwords
scope.Available options are all the same options described here in detail.
Configuration Reference #
This is the (nested) spec used by the Google Ads source plugin:
developer_token
(string
) (required)A Google Ads Developer Token.login_customer_id
(string
) (optional)Google Ads Login customer ID.Format: digits either with or without hyphen (-
).This parameter allows to specify the root account to fetch data from (as well as linked accounts). If omitted, the accessible accounts are listed and used instead.Note: As Google Ads API doesn't allow obtaining the current account ID, you can set this parameter to the account ID you generate Developer Token from. This way you'll be able to fetch the data from the root management account as well.customers
([]string
) (optional)Fetch the data only from the specified accounts. If account ID specified is a management account, the data will be fetched both from this account and all accounts accessible from it.Format: digits either with or without hyphen (-
).oauth
(OAuth spec) (optional)concurrency
(integer
) (optional) (default:10000
)A best effort maximum number of Go routines to use. Lower this number to reduce memory usage.scheduler
(string
) (optional) (default:dfs
) The scheduler to use when determining the priority of resources to sync. Supported values aredfs
(depth-first search),round-robin
,shuffle
andshuffle-queue
.For more information about this, see performance tuning.
Google Ads OAuth spec #
Google Ads API requires OAuth authorization for
https://www.googleapis.com/auth/adwords
scope to execute API calls.access_token
(string
) (optional)An access token that you generated authorizing forhttps://www.googleapis.com/auth/adwords
scope (e.g., by using OAuth 2.0 Playground).client_id
(string
) (optional)OAuth 2.0 Client ID.client_secret
(string
) (optional)OAuth 2.0 Client secret.
Licenses #
The following tools / packages are used in this plugin:
Name | License |
---|---|
cloud.google.com/go/auth | Apache-2.0 |
cloud.google.com/go/auth/oauth2adapt | Apache-2.0 |
cloud.google.com/go/compute/metadata | Apache-2.0 |
cloud.google.com/go/longrunning | Apache-2.0 |
github.com/adrg/xdg | MIT |
github.com/apache/arrow/go/v13 | Apache-2.0 |
github.com/apache/arrow/go/v17 | Apache-2.0 |
github.com/apapsch/go-jsonmerge/v2 | MIT |
github.com/aws/aws-sdk-go-v2 | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/config | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/credentials | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/feature/ec2/imds | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/internal/configsources | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/internal/ini | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/internal/sync/singleflight | BSD-3-Clause |
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/licensemanager | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/marketplacemetering | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/sso | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/ssooidc | Apache-2.0 |
github.com/aws/aws-sdk-go-v2/service/sts | Apache-2.0 |
github.com/aws/smithy-go | Apache-2.0 |
github.com/aws/smithy-go/internal/sync/singleflight | BSD-3-Clause |
github.com/bahlo/generic-list-go | BSD-3-Clause |
github.com/buger/jsonparser | MIT |
github.com/cenkalti/backoff/v4 | MIT |
github.com/cloudquery/cloudquery-api-go | MPL-2.0 |
github.com/cloudquery/plugin-pb-go | MPL-2.0 |
github.com/cloudquery/plugin-sdk/v2/internal/glob | MIT |
github.com/cloudquery/plugin-sdk/v2/schema | MIT |
github.com/cloudquery/plugin-sdk/v2/types | MPL-2.0 |
github.com/cloudquery/plugin-sdk/v4 | MPL-2.0 |
github.com/cloudquery/plugin-sdk/v4/glob | MIT |
github.com/cloudquery/plugin-sdk/v4/scalar | MIT |
github.com/davecgh/go-spew/spew | ISC |
github.com/felixge/httpsnoop | MIT |
github.com/ghodss/yaml | MIT |
github.com/go-logr/logr | Apache-2.0 |
github.com/go-logr/stdr | Apache-2.0 |
github.com/goccy/go-json | MIT |
github.com/golang/groupcache/lru | Apache-2.0 |
github.com/google/flatbuffers/go | Apache-2.0 |
github.com/google/s2a-go | Apache-2.0 |
github.com/google/uuid | BSD-3-Clause |
github.com/googleapis/enterprise-certificate-proxy/client | Apache-2.0 |
github.com/googleapis/gax-go/v2 | BSD-3-Clause |
github.com/grpc-ecosystem/go-grpc-middleware/v2/interceptors | Apache-2.0 |
github.com/grpc-ecosystem/grpc-gateway/v2 | BSD-3-Clause |
github.com/hashicorp/go-cleanhttp | MPL-2.0 |
github.com/hashicorp/go-retryablehttp | MPL-2.0 |
github.com/invopop/jsonschema | MIT |
github.com/klauspost/compress | Apache-2.0 |
github.com/klauspost/compress/internal/snapref | BSD-3-Clause |
github.com/klauspost/compress/zstd/internal/xxhash | MIT |
github.com/mailru/easyjson | MIT |
github.com/mattn/go-colorable | MIT |
github.com/mattn/go-isatty | MIT |
github.com/oapi-codegen/runtime | Apache-2.0 |
github.com/pierrec/lz4/v4 | BSD-3-Clause |
github.com/pmezard/go-difflib/difflib | BSD-3-Clause |
github.com/rs/zerolog | MIT |
github.com/samber/lo | MIT |
github.com/santhosh-tekuri/jsonschema/v6 | Apache-2.0 |
github.com/shenzhencenter/google-ads-pb | Apache-2.0 |
github.com/spf13/cobra | Apache-2.0 |
github.com/spf13/pflag | BSD-3-Clause |
github.com/stretchr/testify | MIT |
github.com/thoas/go-funk | MIT |
github.com/wk8/go-ordered-map/v2 | Apache-2.0 |
github.com/zeebo/xxh3 | BSD-2-Clause |
go.opencensus.io | Apache-2.0 |
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc | Apache-2.0 |
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | Apache-2.0 |
go.opentelemetry.io/otel | Apache-2.0 |
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp | Apache-2.0 |
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp | Apache-2.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace | Apache-2.0 |
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp | Apache-2.0 |
go.opentelemetry.io/otel/log | Apache-2.0 |
go.opentelemetry.io/otel/metric | Apache-2.0 |
go.opentelemetry.io/otel/sdk | Apache-2.0 |
go.opentelemetry.io/otel/sdk/log | Apache-2.0 |
go.opentelemetry.io/otel/sdk/metric | Apache-2.0 |
go.opentelemetry.io/otel/trace | Apache-2.0 |
go.opentelemetry.io/proto/otlp | Apache-2.0 |
golang.org/x/crypto | BSD-3-Clause |
golang.org/x/exp | BSD-3-Clause |
golang.org/x/net | BSD-3-Clause |
golang.org/x/oauth2 | BSD-3-Clause |
golang.org/x/sync | BSD-3-Clause |
golang.org/x/sys | BSD-3-Clause |
golang.org/x/text | BSD-3-Clause |
golang.org/x/time/rate | BSD-3-Clause |
golang.org/x/xerrors | BSD-3-Clause |
google.golang.org/api | BSD-3-Clause |
google.golang.org/api/internal/third_party/uritemplates | BSD-3-Clause |
google.golang.org/genproto/googleapis/api | Apache-2.0 |
google.golang.org/genproto/googleapis/rpc | Apache-2.0 |
google.golang.org/grpc | Apache-2.0 |
google.golang.org/protobuf | BSD-3-Clause |
gopkg.in/yaml.v2 | Apache-2.0 |
gopkg.in/yaml.v3 | MIT |