Posts tagged with 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?

For monitoring, we are using Application Insights.

Since we are advertising on multiple platforms, (Google, Facebook, LinkedIn, other 3rd party platforms) one of the business goals is to track which marketing dollars on which platform result in most subscriptions, and pour more money there.

To do that I need to know which platform did user originate from.

Where do I find, where the user originated from, in Azure Portal? (referer URL maybe),

If it is not supported "out of the box" I would have to guess I need to pass parameter in URL that would indicate the platform or something similar like grab a cookie, how does one track where the user originated from?

This is obviously a solved problem, but I am having a hard time finding any articles on how to do this the way Microsoft expects it.

I am using Google Ads API SDK for Python. I want to get some Ads data and put them into a Dataframe to transform a bit. I made a call with the code below:

client = GoogleAdsClient.load_from_storage("config.yaml") customer_id = '<customer_id>' ga_service = client.get_service("GoogleAdsService") query = """     SELECT         campaign.id,         campaign.name,         customer.id     FROM campaign     """ response = ga_service.search_stream(customer_id=customer_id, query=query) for batch in response:     for row in batch.results:         print(row)         df = pd.DataFrame(row)         print(df) 

Here is the response I receive:

customer {   resource_name: "customers/<customer-id>"   id: <customer-id> } campaign {   resource_name: "customers/<customer-id>/campaigns/<campaign-id>"   name: "Test_campaign_1"   id: <campaign-id> } Traceback (most recent call last):   File "c:\Users\User\main.py", line 36, in <module>     print(dict(row)) TypeError: 'GoogleAdsRow' object is not iterable 

I tried using google.protobuf.json_format to convert the result into json/dict format with the below code

from google.protobuf.json_format import MessageToJson response = ga_service.search_stream(customer_id=customer_id, query=query) for batch in response:     for row in batch.results:         print(row)         jsonobj = MessageToJson(row) 

But I got the below error message:

  File "C:\Users\User\AppData\Local\Programs\Python\Python39\lib\site-packages\proto\message.py", line 605, in __getattr__     raise AttributeError(str(ex)) AttributeError: 'DESCRIPTOR' 

Could you please help me with this? Thank you.