Skip to main content

Google Ads Component

Manage Google Ad campaigns

Component key: google-ads

Description#

Google 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.0#

This 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:

  1. Access the project selector in the top-left and select an existing project or create a new one.
  2. Select APIs & Services -> Enabled APIs & services from the left hand menu
  3. Click Enable APIs and Services towards the top of the screen
  4. Search for "google ads api" and select Google Ads API in the results (avoid selecting AdWords as that is deprecated)
  5. Click the Enable button to add the API to your project
  6. On the sidebar, select Credentials.
  7. 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.
    1. Your app will be externally available to your customers, so choose a User Type of External.
    2. Fill out the OAuth consent screen with an app name (your company or product's name), support email, app logo, domain, etc.
    3. You can ignore domains for now.
    4. On the next page, ignore scopes - this component knows what scopes it needs to run and will request the right scopes for you.
    5. 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.
  8. Once your "Consent Screen" is configured open the Credentials page from the sidebar again.
  9. Click +CREATE CREDENTIALS and select OAuth client ID.
    1. Under Application type select Web application.
    2. Under Authorized redirect URIs enter Prismatic's OAuth 2.0 callback URL: https://oauth2.prismatic.io/callback
    3. Click CREATE.
  10. 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.

InputDefaultNotes
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 Customers#

Get a list of accessible customers for the logged in user | key: listAccessibleCustomersDataSource | type: picklist

InputNotes
Input
Connection
connection
/ Required
Notes
 

Data Source Payload#

{ "result": [{ "label": "123-456-7890", "key": "1234567890" }] }

Actions#

Confirm Client Link#

Confirm a pending customer client link | key: confirmClientLink

InputNotesExample
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 Link#

Create an invitation to link a client account to a manager account | key: createClientLink

InputNotesExample
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 Action#

Get Conversion Action | key: getConversionAction

InputDefaultNotesExample
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 Customer#

Get Customer | key: getCustomer

InputDefaultNotesExample
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 User#

Invite a user by email to a customer | key: inviteUser

InputNotesExample
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 Customers#

Get a list of customers accessible to the logged in user | key: listAccessibleCustomers

InputNotes
Input
Connection
connection
/ Required
Notes
 

Output Example Payload#

{  "data": {    "resourceNames": [      "customers/1234567890",      "customers/5555555555"    ]  }}

List Manager's Customers#

List all customers under a manager account | key: listCustomers

InputDefaultNotesExample
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 Conversions#

Manual Conversions | key: manualConversions

InputNotesExample
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 Request#

Send Raw Request to Google Ads | key: rawRequest

InputDefaultNotesExample
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