pipedream icon indicating copy to clipboard operation
pipedream copied to clipboard

[Components] google-ads

Open pipedream-component-development opened this issue 1 year ago • 4 comments

google-ads

URLs

  • https://developers.google.com/google-ads/api/docs/start

Webhook Sources

new-lead-form-entry-instant

Prompt

Emit new event whenever a new lead is created from a Lead Form Extension. Please include a required prop for Use Google Ads as, optional prop for Managed Account, and a required prop for Lead Form which Lists Lead Forms.

Polling Sources

new-campaign

Prompt

Emit new event whenever a new campaign is created. Please include a required prop for Use Google Ads As, and use async additionalProps for Managed Account.

Actions

send-offline-conversion

Prompt

Sends event from customer systems to Google Ads to track offline conversions. Please include required props for Use Google Ads As, Managed Account, Conversion User Identifier, Conversion Action, Timestamp, and optional props for Consent for ad user data and Consent for ad personalization, Value, and Currency.

create-report

Prompt

Generates a report for your Google Ads campaigns. Please include required props for Use Google Ads As, Managed Account, Resource, Date Range.

create-customer-list

Prompt

Creates a customer list in Google Ads Audience Manager. Please include required props for Use Google Ads As, Managed Account, Name, and an optional prop for Description.

You will need to refactor the app code for Google Ads, as I removed login-customer-id as a custom field, as this can be an async options call instead and easier to work with than manually inputting the Login Customer ID.

We should have two props if we want to be able to support API operations operating as:

  1. MCC (Managed Account, or Manager Account) 2) Customer account directly.

Please create two additional props:

  • Use Google Ads As - which utilizes ListAccessibleCustomers call to find out which MCC accounts the OAuth token has access to. This ties directly to the login-customer-id header. https://developers.google.com/google-ads/api/docs/account-management/listing-accounts
      method: "get",
      url: "/v16/customers:listAccessibleCustomers",
  • Managed Account - When Relevant, once the MCC account is selected, another async options call to List Customer Accounts under a given MCC, by querying the account hierarchy https://developers.google.com/google-ads/api/docs/account-management/get-account-hierarchy

malexanderlim avatar May 07 '24 18:05 malexanderlim

Hello everyone, I have tested this PR and there're some test cases failed or needed improvement.

Please check the test report below for more information https://vunguyenhung.notion.site/Components-google-ads-317d8bc7bf1146f187481a77b05877ab

vunguyenhung avatar May 27 '24 05:05 vunguyenhung

Indeed it seems a campaign cannot be created directly under the root manager account, so I made the 'managed account' prop required only for this source. Also fixed the bug that prevented events from being emitted after the initial deploy.

GTFalcao avatar May 28 '24 00:05 GTFalcao

Hi everyone, all test cases are passed! Ready for release!

Test report https://vunguyenhung.notion.site/Components-google-ads-317d8bc7bf1146f187481a77b05877ab

vunguyenhung avatar May 28 '24 05:05 vunguyenhung