We use a python script to connect to Google Ads API and consume its REST operations.

All of a sudden the working script has started giving error with below message:

from google.ads.googleads.v10.enums.types import offline_user_data_job_status ModuleNotFoundError: No module named 'google.ads.googleads.v10' 

Please advise.

I have implemented a simple game for which I have added banner, interstitial and reward ads.

The banner and interstitial ads work perfectly both on test and my own google adMob adIds. However only the reward ads do not work. Even the test reward ad gives an error 3.

The code is as follows

Future<void> _loadRewardedAd() async {     if (this.mounted) {       setState(() {         loading = true;       });     }     await RewardedAd.load(         adUnitId: TestAdHelper.rewardedAdUnitId,         request: const AdRequest(),         rewardedAdLoadCallback: RewardedAdLoadCallback(onAdLoaded: (ad) {           ad.fullScreenContentCallback =               FullScreenContentCallback(onAdDismissedFullScreenContent: (ad) {             ad.dispose();             _rewardedAd = null;             widget.close(domain.Dialog.awardAd, show: false);           });           _rewardedAd = ad;         }, onAdFailedToLoad: (error) {           _rewardedAd?.dispose();           failedAttempts++;           log("failed to load reward ad $error");           failedAttempts <= 3               ? 2.seconds.delay().then((value) => _loadRewardedAd())               : null;           setState(() {             loading = false;             didntLoad = true;           });         }));   } 

and

ElevatedButton(     style: ElevatedButton.styleFrom(         minimumSize: Size(90, 60),         backgroundColor: Colors.greenAccent.shade700),     onPressed: () async {       await _loadRewardedAd().then((value) async {         await _rewardedAd?.show(             onUserEarnedReward: (_, reward) {           widget.incrementCoins();           widget.close(domain.Dialog.awardAd,               show: false);         });       });     },     child: loading         ? CircularProgressIndicator(             color: Colors.white,             backgroundColor: Colors.white38,           )         : Icon(             Icons.ondemand_video_rounded,             size: 40,           )) 

The test ID helper class uses the following IDs

static String get rewardedAdUnitId {     if (Platform.isAndroid) {       return "ca-app-pub-3940256099942544/5224354917";     } else if (Platform.isIOS) {       return "ca-app-pub-3940256099942544/1712485313";     } else {       throw UnsupportedError("Unsupported platform");     }   } 

I have tried looking up this issue but to no avail, only people agreeing that they have the same issue in threads that go as far as 2021.

I also get this error in the debug console, the number varies although 3 is the most common

I/flutter (10788): Ad with id 1 is not available for onAdFailedToLoad. I/flutter (10788): Ad with id 2 is not available for onAdFailedToLoad. I/flutter (10788): Ad with id 3 is not available for onAdFailedToLoad.

i have integrated google adsense for my client's website, ads are showing in some devices, but in some devices it showing always, particularly ads are not showing always in my client's devices,

is that any mistake i did on my google adsense account to resolve this issue, or it is the nature of google adsense?

but client's want to get ads for all devices and every time it need to show on his website,

i have tried with lots of blogs about this, everything is failed, and i'm finally here, hopefully i get a valuable knowledge here,

this is my first question on stackoverflow, if i made any mistake on it, please don't mind it, i'll correct on my future questions.

Thanks in advance.

My app was getting too high CTR for AppOpenAd which was around 35%-40%. So after looking for the issue I found that the AppOpen Ad is displaying the AppContent background in place of the advertisement. Below are the screenshots to demonstrate the exact issue.

So, in normal implementation as per the Google Admob Documentation. Below is the picture of what is exactly happening at many times. There is a comparison between the perfect display and problem happening display.

So, to work around I tried setting the background to the AdActivity with the following style and theme in Manifest file.

<style name="Theme.AppThemeNoActionBar.AdTheme" ><item name="android:background">@color/black</item>     <item name="android:windowBackground">@color/black</item>     <item name="android:windowExitAnimation">@null</item>     <item name="android:windowEnterAnimation">@null</item></style>

And setting it into manifest file

<activity         android:name="com.google.android.gms.ads.AdActivity"         android:theme="@style/Theme.AppThemeNoActionBar.AdTheme"         tools:replace="android:theme"/> 

But still the issue remained same. Here the comparison picture.

My site has 3 "conversion" events:

  • User signs up for the site by providing their email (GCLID is known and a pixel fires)
  • User starts a free 7-day trial (by submitting a CC) (GCLID is known and a pixel fires)
  • User becomes a full member if CC is charged by Stripe on the 7th day (GCLID is known, no pixel because this occurs at Stripe)

My questions are:

  1. For the first 2 events, which API endpoint is best to send this data to Google to make sure 100% of conversions are attributable via the GCLID?

  2. For the last event, which API endpoint is best since Google will not be aware this subscription took place?

In the campaign setup, I'm optimizing for all 3 events and they are ranked by conversion value (full member is worth say $50, trial is $1, and providing email is $0.50).

I did notice a few threads that appeared similar, but couldn't find a use case that covered both scenarios, so figured I'd ask.

Just to further clarify, it'd be like this in order of events:

  1. User joins newsletter. A pixel fires. I also send this conversion via API for redundancy
  2. User signs up for a free trial. A pixel fires. I also send this conversion via API for redundancy
  3. User becomes a full member after trial ends automatically. A pixel does not fire. I send this conversion via API because there is no pixel and this is the ultimate goal of the campaign.

Three different conversion goals are setup in Measurement > Conversions, the last of which is "offline".

Appreciate any insight or help.

Thanks,

ENDPOINTS CONSIDERED:

For the 3rd event, I was considering using the following:

https://developers.google.com/google-ads/api/docs/conversions/upload-clicks#upload_clickconversion

For the first 2 events, I was considering using the following:

https://developers.google.com/google-ads/api/docs/conversions/enhance-conversions?hl=en

However, when I asked this question in the Google Ads API forum, the answer I received reversed these two, which I am not sure is correct.

Additionally, the documentation related to Google Enhanced Conversions (https://support.google.com/google-ads/answer/9888656?hl=en) state that you can use the Google Ads API for the "set up enhanced conversions for web", but for "set up enhanced conversions for leads" it doesn't specify the Google Ads API is an option.

In that specific context, I'm not clear on which is better to use.