I tried to clone the Google Ads GitHub library (adwords-axis-jars-and-examples) but when I try to run the GetCampaigns.java file I get this error: build output in IntelliJ

So I tried to change the compiler settings that people have recommended, still no luck. Compiler settings

I downloaded the adwords-axis-jars-and-examples, but do I need to download the adwords-axis-maven-and-examples for this GitHub library?

If you can help me with this I will Venmo or Cash App you $. I'm just learning how to program so forgive me in advance.

I'm using the latest (v7) Google Ads API to upload offline conversions for Google Ads, using the Python Client Library. This is the standard code I'm using:

import os from google.ads.googleads.client import GoogleAdsClient client = GoogleAdsClient.load_from_env(version='v7') def process_adwords_conversion(     conversion_date_time,      gclid,      conversion_action_id,      conversion_value ):     conversion_date_time = convert_datetime(conversion_date_time)     customer_id = os.environ['GOOGLE_ADS_LOGIN_CUSTOMER_ID']     click_conversion = client.get_type("ClickConversion")     conversion_action_service = client.get_service("ConversionActionService")     click_conversion.conversion_action = (         conversion_action_service.conversion_action_path(             customer_id, conversion_action_id         )     )     click_conversion.gclid = gclid     click_conversion.conversion_value = float(conversion_value)     click_conversion.conversion_date_time = conversion_date_time     click_conversion.currency_code = "USD"     conversion_upload_service = client.get_service("ConversionUploadService")     request = client.get_type("UploadClickConversionsRequest")     request.customer_id = customer_id     request.conversions = [click_conversion]     request.partial_failure = True     conversion_upload_response = (         conversion_upload_service.upload_click_conversions(             request=request,         )     )     uploaded_click_conversion = conversion_upload_response.results[0]     print(conversion_upload_response)     print(         f"Uploaded conversion that occurred at "         f'"{uploaded_click_conversion.conversion_date_time}" from '         f'Google Click ID "{uploaded_click_conversion.gclid}" '         f'to "{uploaded_click_conversion.conversion_action}"'     )     return False 

I believe the code is fine, but I'm having problems locating the conversion_action_id value to use. In the Google Ads UI there's a screen listing the different Conversion Actions, with no sign of an ID anywhere. You can click on the name and get more details, but still no ID:

The conversion action detail screen in Google Ads UI

I've tried the following:

  1. Using the ocid, ctId, euid, __u, uscid, __c, subid URL parameters from this detail page as the conversion_action_id. That always gives an error:
partial_failure_error {   code: 3   message: "This customer does not have an import conversion action that matches the conversion action provided., at conversions[0].conversion_action"   details {     type_url: "type.googleapis.com/google.ads.googleads.v7.errors.GoogleAdsFailure"     value: "\n\305\001\n\003\370\006\t\022dThis customer does not have an import conversion action that matches the conversion action provided.\0320*.customers/9603123598/conversionActions/6095821\"&\022\017\n\013conversions\030\000\022\023\n\021conversion_action"   } } 
  1. Using the standard Google answer:

https://support.google.com/google-ads/thread/1449693/where-can-we-find-google-ads-conversion-ids?hl=en

Google suggests creating a new Conversion Action and obtaining the ID in the process. Unfortunately their instructions don't correspond to the current UI version, at least for me. The sequence I follow is:

  • Click the + icon on the Conversion Actions page
  • Select "Import" as the kind of conversion I want
  • Select "Other data sources or CRMs" then "Track conversions from clicks"
  • Click "Create and Continue"

I then get the screen:

Screen following Conversion Action creation

The recommended answer says:

The conversion action is now created and you are ready to set up the tag to add it to your website. You have three options and the recommended answer in this thread is discussing the Google Tag Manager option, which is the only option that uses the Conversion ID and Conversion Label. If you do not click on the Google Tag Manager option you will not be presented with the Conversion ID and Conversion Label.

Not so! What three options? The first "Learn more" link mentions the Google Tag Manager, but in the context of collecting the GCLID, which I already have. The "three options" mentioned in the official answer have gone. Clicking "done" simply takes me back to the Conversion Actions listing.

  1. Using the REST API

I've tried authenticating and interrogating the endpoint:

https://googleads.googleapis.com/v7/customers/9603123598/conversionActions/

hoping that would give a list of conversion actions, but it doesn't. It just gives a 404.

Does anybody know a way of getting the Conversion Action ID, either from the UI or programmatically (via client library, REST or some other method)?

Thanks!

Currently we are moving from google-ads-node package to google-ads-api.

The main problem that we can not retrieve detailed information about customers ads account.

The method Client.listAccessibleCustomers work just fine but it retrieve only following data

[ `customers/${customerID}`, `customers/${customerID}`, ... ] 

But we need all the data from the customer ads account

There is a file in package ServiceFactory which extends each exported class (place in a raw mode because it's huge)

There is a getter public get customers which retrieve some methods to get them, but there is also warning that you shouldn't use it in production, so how I should retrieve this info?

Even if I try to use it I've get the following error

    {        "errors": [            {              "error_code": {                "authorization_error": 24              },              "message": "The customer can't be used because it isn't enabled."          }        ]     } 

On google-ads-node there aren't any errors and we get the result, but they advice to move to google-ads-api

having function to get AdvertisingIdClient.Info

private static AdvertisingIdClient.Info getAdsClientInfo(@NonNull final Context context) throws GooglePlayServicesNotAvailableException, IOException, GooglePlayServicesRepairableException {     int isGPAvailable = GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(context);     if (isGPAvailable == ConnectionResult.SUCCESS) {         return AdvertisingIdClient.getAdvertisingIdInfo(context);     }     return null; } 

it uses AdvertisingIdClient.getAdvertisingIdInfo(context)

there are three libs in https://developers.google.com/android/guides/setup

Google Mobile Ads   com.google.android.gms:play-services-ads:20.1.0 Android Advertising ID (AAID)   com.google.android.gms:play-services-ads-identifier:17.0.0 Lightweight version of Google Mobile Ads com.google.android.gms:play-services-ads-lite:20.1.0 

what are the difference among these, and which one is safe to use for the purpose?