Google Ads Component

Manage Google Ad campaigns
Component key: google-ads#
DescriptionGoogle Ads (formerly Google AdWords and Google AdWords Express) is an online advertising solution that businesses use to promote their products and services on Google Search, YouTube, and other sites across the web. Google Ads also allows advertisers to choose specific goals for their ads, like driving phone calls or website visits. With a Google Ads account, advertisers can customize their budgets and targeting, and start or stop their ads at any time.
This component allows you to add external conversions to Ads campaigns.
Google documents many common errors that will aid in troubleshooting.
#
Google Ads Connections#
OAuth 2.0This component uses OAuth 2.0 to connect to the Google Ads API. To begin working with Google Ads you will need a Developer Token. You will also need to make note of the Customer ID of the Ads Manager account (the hyphenated number in the top-left corner of the Ads app).
Next, you will need to create a GCP OAuth 2.0 app. To create one you will need to ensure you have a Google Developer account. Then:
- Access the project selector in the top-left and select an existing project or create a new one.
- Select APIs & Services -> Enabled APIs & services from the left hand menu
- Click Enable APIs and Services towards the top of the screen
- Search for "google ads api" and select Google Ads API in the results (avoid selecting AdWords as that is deprecated)
- Click the Enable button to add the API to your project
- On the sidebar, select Credentials.
- An OAuth 2.0 app includes a "Consent Screen" (the page that asks "Do you want to allow (Your Company) to access Google Drive on your behalf?"). Click CONFIGURE CONSENT SCREEN.
- Your app will be externally available to your customers, so choose a User Type of External.
- Fill out the OAuth consent screen with an app name (your company or product's name), support email, app logo, domain, etc.
- You can ignore domains for now.
- On the next page, ignore scopes - this component knows what scopes it needs to run and will request the right scopes for you.
- Enter some test users for your testing purposes. Your app will only work for those testing users until it is "verified" by Google. When you are ready for verification (they verify your privacy policy statement, etc), click PUBLISH APP on the OAuth consent screen. That'll allow your customers to authorize your integration to access their Google Drive.
- Once your "Consent Screen" is configured open the Credentials page from the sidebar again.
- Click +CREATE CREDENTIALS and select OAuth client ID.
- Under Application type select Web application.
- Under Authorized redirect URIs enter Prismatic's OAuth 2.0 callback URL:
https://oauth2.prismatic.io/callback
- Click CREATE.
- Take note of the Client ID and Client Secret that are generated.
info
Make sure to publish your OAuth 2.0 app after you've tested it so users outside of your test users can authorize your integration to interact with Google Drive on their behalf.
Now that you have a Client ID and Client Secret, add Google Ads step to your integration in Prismatic. Open the Configuration Wizard Designer by clicking Configuration Wizard, select your Google Ads Connection and enter your client ID and secret.
Input | Default | Notes |
---|---|---|
Input Authorize URL string / Required Hidden Field | Default https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&prompt=consent | Notes The OAuth 2.0 Authorization URL for the API |
Input Client ID string / Required | Default | Notes Client Identifier of your app for the API |
Input Client Secret password / Required | Default | Notes Client Secret of your app for the API |
Input Developer Token password / Required | Default | Notes Developer token of your Account Manager account |
Input Scopes string / Required Hidden Field | Default https://www.googleapis.com/auth/adwords | Notes Space separated OAuth 2.0 permission scopes for the API |
Input Token URL string / Required Hidden Field | Default https://oauth2.googleapis.com/token | Notes The OAuth 2.0 Token URL for the API |
#
Data Sources#
List Accessible CustomersGet a list of accessible customers for the logged in user | key: listAccessibleCustomersDataSource | type: picklist
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
#
Data Source Payload{ "result": [{ "label": "123-456-7890", "key": "1234567890" }] }
#
Actions#
Confirm Client LinkConfirm a pending customer client link | key: confirmClientLink
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input Customer ID string / Required | Notes Customer ID of the Google Ads Client account; accepts hyphenated or number forms. | Example 111-222-4444 |
Input Manager Customer ID string / Required | Notes Customer ID of the Google Ads Client account; accepts hyphenated or number forms. | Example 123-456-7890 |
Input Manager Link ID string / Required | Notes | Example |
#
Create Client LinkCreate an invitation to link a client account to a manager account | key: createClientLink
Input | Notes | Example |
---|---|---|
Input Connection connection / Required | Notes | Example |
Input Customer ID string / Required | Notes Customer ID of the Google Ads Client account; accepts hyphenated or number forms. | Example 111-222-4444 |
Input Manager Customer ID string / Required | Notes Customer ID of the Google Ads Client account; accepts hyphenated or number forms. | Example 123-456-7890 |
#
Output Example Payload{ "data": { "resourceName": "customers/1111111111/customerClientLinks/2222222222~3333333333", "managerCustomerId": "1111111111", "clientCustomerId": "2222222222", "managerLinkId": "3333333333" }}
#
Get Conversion ActionGet Conversion Action | key: getConversionAction
Input | Default | Notes | Example |
---|---|---|---|
Input Connection connection / Required | Default | Notes | Example |
Input Customer ID string / Required | Default | Notes Customer ID of the Google Ads Client account; accepts hyphenated or number forms. | Example 111-222-4444 |
Input Page Size string / Required | Default 20 | Notes Numerical value indicating desired page size of paginated results. | Example 20 |
Input Page Token string | Default | Notes Identifier of which page of results to return. This is returned with paginated results. | Example CJL5XLT2PWDmIpGNGciABRnu |
#
Get CustomerGet Customer | key: getCustomer
Input | Default | Notes | Example |
---|---|---|---|
Input Connection connection / Required | Default | Notes | Example |
Input Customer ID string / Required | Default | Notes Customer ID of the Google Ads Client account; accepts hyphenated or number forms. | Example 111-222-4444 |
Input Page Size string / Required | Default 20 | Notes Numerical value indicating desired page size of paginated results. | Example 20 |
Input Page Token string | Default | Notes Identifier of which page of results to return. This is returned with paginated results. | Example CJL5XLT2PWDmIpGNGciABRnu |
#
Invite UserInvite a user by email to a customer | key: inviteUser
Input | Notes | Example |
---|---|---|
Input Access Role string / Required | Notes | Example |
Input Connection connection / Required | Notes | Example |
Input Customer ID string / Required | Notes Customer ID of the Google Ads Client account; accepts hyphenated or number forms. | Example 111-222-4444 |
Input Email Address string / Required | Notes The email address to invite to the customer | Example |
#
List Accessible CustomersGet a list of customers accessible to the logged in user | key: listAccessibleCustomers
Input | Notes |
---|---|
Input Connection connection / Required | Notes |
#
Output Example Payload{ "data": { "resourceNames": [ "customers/1234567890", "customers/5555555555" ] }}
#
List Manager's CustomersList all customers under a manager account | key: listCustomers
Input | Default | Notes | Example |
---|---|---|---|
Input Connection connection / Required | Default | Notes | Example |
Input Manager Customer ID string / Required | Default | Notes Customer ID of the Google Ads Client account; accepts hyphenated or number forms. | Example 123-456-7890 |
Input Page Size string / Required | Default 20 | Notes Numerical value indicating desired page size of paginated results. | Example 20 |
Input Page Token string | Default | Notes Identifier of which page of results to return. This is returned with paginated results. | Example CJL5XLT2PWDmIpGNGciABRnu |
#
Output Example Payload{ "data": { "results": { "results": [ { "customerClient": { "resourceName": "customers/1234567890/customerClients/1234567890", "clientCustomer": "customers/1234567890", "id": "1234567890", "hidden": false, "level": "1" } }, { "customerClient": { "resourceName": "customers/1234567890/customerClients/1234567890", "clientCustomer": "customers/1234567890", "id": "1234567890", "hidden": false, "level": "1" } } ], "nextPageToken": "CJL5XLT2PWDmIpGNGciABRnu", "fieldMask": "customerClient.resourceName,customerClient.clientCustomer,customerClient.id,customerClient.level,customerClient.hidden,customerClient.level" } }}
#
Manual ConversionsManual Conversions | key: manualConversions
Input | Notes | Example |
---|---|---|
Input Click ID string / Required | Notes Google Click ID (gclid) of the conversion. | Example |
Input Connection connection / Required | Notes | Example |
Input Conversion Currency string / Required | Notes Currency associated with the conversion value. This is the ISO 4217 3-character currency code. For example: USD, EUR. | Example USD |
Input Conversion Name string / Required | Notes Resource name of the conversion action associated with this conversion. | Example customers/1234567890/conversionActions/1234567890 |
Input Conversion Time string / Required | Notes The date time at which the conversion occurred. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+|-hh:mm" | Example 2019-01-01 12:32:45-08:00 |
Input Conversion Value string / Required | Notes The value of the conversion for the advertiser. | Example 1 |
Input Customer ID string / Required | Notes Customer ID of the Google Ads Client account; accepts hyphenated or number forms. | Example 111-222-4444 |
#
Raw RequestSend Raw Request to Google Ads | key: rawRequest
Input | Default | Notes | Example |
---|---|---|---|
Input Connection connection / Required | Default | Notes | Example |
Input Data string | Default | Notes The HTTP body payload to send to the URL. | Example {"exampleKey": "Example Data"} |
Input Debug Request boolean | Default false | Notes Enabling this flag will log out the current request. | Example |
Input File Data string Key Value List | Default | Notes File Data to be sent as a multipart form upload. | Example [{key: "example.txt", value: "My File Contents"}] |
Input Form Data string Key Value List | Default | Notes The Form Data to be sent as a multipart form upload. | Example [{"key": "Example Key", "value": new Buffer("Hello World")}] |
Input Header string Key Value List | Default | Notes A list of headers to send with the request. | Example User-Agent: curl/7.64.1 |
Input Max Retry Count string | Default 0 | Notes The maximum number of retries to attempt. | Example |
Input Method string / Required | Default | Notes The HTTP method to use. | Example |
Input Query Parameter string Key Value List | Default | Notes A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | Example |
Input Response Type string / Required | Default json | Notes The type of data you expect in the response. You can request json, text, or binary data. | Example |
Input Retry On All Errors boolean | Default false | Notes If true, retries on all erroneous responses regardless of type. | Example |
Input Retry Delay (ms) string | Default 0 | Notes The delay in milliseconds between retries. | Example |
Input Timeout string | Default | Notes The maximum time that a client will await a response to its request | Example 2000 |
Input URL string / Required | Default /v13/ | Notes This is the URL to call. | Example /v13/customers:listAccessibleCustomers |
Input Use Exponential Backoff boolean | Default false | Notes Specifies whether to use a pre-defined exponential backoff strategy for retries. | Example |