Thunkable Docs
Build an AppDrag and Drop DocsSnap to Place DocsAcademy
Drag and Drop
Drag and Drop
  • What is Thunkable?
  • 🗺️Getting Started
    • Getting Started Guide
    • Keyboard Shortcuts
    • Undo Redo
    • Thunkable Account
      • Account Management
    • Preview and Test your App
    • Versioning
    • Data Sources
      • Google Sheets Data Source
      • Airtable Data Source
      • Webflow Data Source
      • Local Table Data Source
    • Project Collaboration
      • Organizations
    • 🎓Sample Apps & Tutorials
      • Thunkable Community Forums
      • Sample Apps
      • Video Tutorials
        • Thunkable Live App
          • How to Test and Troubleshoot with Thunkable Live App
        • Data Source Tutorials
          • Connecting to Data Sources
            • Google Sheets
            • Local Table
          • Create Data in a Thunkable Data Source
          • Read Data in a Thunkable Data Source
          • Update Data in a Thunkable Data Source
          • Delete Data in a Thunkable Data Source
        • User Auth & Management
          • Firebase
            • User Sign-Up, Sign-In, and Auth
            • User Sign Out and Password Reset
          • Google
            • User Sign-Up, Sign-In, Sign-Out, and Auth
          • Apple
            • User Sign-Up, Sign-In, Sign-Out, and Auth
        • Projects
          • How to Save Versions of Your Thunkable Project
          • How to Copy and Customize Public or Sample Thunkable Projects
        • User Interface & Design
          • Screens
            • Save and Reuse Thunkable Screens
            • Change Thunkable Screens with a Button Click
            • Create Scrollable Screens in Your Thunkable App
          • Navigators
            • How to Use the Thunkable Stack Navigator
            • How to Use Thunkable Top and Bottom Tab Navigators
            • How to Use the Thunkable Drawer Navigator
            • Combine Figma Frames with Thunkable Navigators
          • Components
            • How to Use the Visibility Property to Create Modals in Thunkable
          • Data Visualization
            • Customize a Data Viewer
          • Text
            • Implement Text Input Validation
        • Alerts & Notifications
          • Display Alert Messages in Your Thunkable App
          • How to Create Three-Button Alert Messages
        • Files
          • Cloudinary
            • Store and Access Cloudinary Files in Your Thunkable App
        • Camera
          • How to Use the Device’s Camera
          • How to Use the Device’s Video Camera
          • Use the Device’s Camera as a QR or Barcode Scanner
        • Realtime Databases
          • Firebase
            • How to Read Data in a Firebase Realtime Database
            • How to Update Data in a Firebase Realtime Database
        • Advanced Blocks
          • Connect Your Thunkable App to a Web API
        • Thunkable Academy
          • Building Your First Thunkable App
            • Getting Started with Thunkable
            • How to Design a Thunkable App
            • How to Connect a Thunkable App to a Data Source
            • How to Make A Thunkable App Interactive with Blocks
          • Thunkable No Code App Creation Basics
            • Thunkable UI Components and App Features
            • Understanding Thunkable's Drag and Drop Block Builder
            • Design, Develop, Debug, and Deploy Your App
        • Hour of Code
          • 2021 - Build an Informational App
          • 2022 - Build a Scavenger Hunt App
          • 2023 - Build a Translator and Text-to-Speech App
        • App Building
          • How to Build a Translation App in Thunkable
          • How to Create an Image Recognition App with Thunkable
          • How to Create a Text-to-Speech App in Thunkable
  • 🎨App Design
    • User Interface (UI) Components
      • Basic Components
        • Button Component
        • Label Component
        • Rich Text Component
        • Image Component
        • Text Input Component
        • Layout Component
        • Group Component
      • Data Components
        • Simple List Component
        • Data Viewer Components
          • Data Viewer List Component
          • Data Viewer Grid Component
          • Custom Data Viewer
      • Input Components
        • Switch Component
        • Slider Component
        • Checkbox Component
        • Date Input Component
        • Time Input Component
      • Media Components
        • Animation Component
        • Video Component
        • Loading Icon Component
      • Embed Components
        • Web Viewer Component
        • Map Component
        • Canvas Component
        • PDF Reader Component
        • Rating Component
      • Modules
        • Introduction
        • User Guide
      • Generative AI
    • Screens
      • Save and Reuse Screens
      • Improve Thunkable Load Time
    • Navigators
      • Top Tab Navigator
      • Bottom Tab Navigator
      • Drawer Navigator
      • Stack Navigator
    • Figma Integration
  • 🛠️Blocks
    • Thunkable Blocks Overview
    • Core Blocks
      • Control Blocks
      • Logic Blocks
      • Math Blocks
      • Text Blocks
      • Lists Blocks
      • Color Blocks
      • Device Blocks
      • Objects Blocks
      • Variables Overview
        • Connect a Firebase Realtime Database
        • Variables Blocks
      • Functions Blocks
    • App Features Blocks
      • Speech Blocks
      • Sound Blocks
      • Share Blocks
      • Camera Blocks
      • Files Blocks
      • Sign In Blocks
        • User Sign Up, Sign In, and Authentication with Firebase
        • User Sign Up, Sign In, and Authentication with Google
        • User Sign Up, Sign In, and Authentication with Apple
      • Location Blocks
      • Push Notification Blocks
      • In-App Purchase Blocks (with RevenueCat)
      • Data Sources Blocks
      • Alerts Blocks
      • Timer Blocks
      • Sensors Blocks
        • Gyroscope
        • Magnetometer
        • Accelerometer
        • Location Sensor
      • Ads by AdMob
    • Advanced Blocks
      • Web APIs Blocks
        • CORS Policy
        • 🆓No Auth APIs
          • Update Data in a Data Source
          • CRUD Operations
          • Setting Headers
        • 📊Charting APIs
          • Create a chart template
          • Charting in Thunkable
      • Bluetooth Low Energy Blocks
      • OpenAI Services ChatGPT Integration Blocks
      • "Any Component" Blocks
      • JavaScript Web Bridge
  • ⚙️Settings
    • App Settings
      • Tablet View
    • Assets
    • Cloud Variable Viewer
    • Manage your Projects
      • My Projects Page
      • Thunkable Projects
      • Duplicate Project
      • Share Your App
      • Download Your App
        • Download Your App on iOS
        • Download Your App on Android
      • Add to Home Screen
      • Managing Project Storage
      • App Data Privacy
      • Delete Project
  • 📱Publishing
    • Overview
    • Publish to the Apple App Store
      • User Guide
      • Troubleshooting
      • Review Process
      • Tracking Usage Description
    • Publish to Google Play Store
      • User Guide
      • Troubleshooting
      • Review Process
    • Publish as a Web App
      • User Guide
      • Custom Domains
      • Troubleshooting
    • Testing
      • Testing on iOS via TestFlight
      • Testing on Android
    • Troubleshooting
      • Publishing Checklist
      • Generate Screenshots
  • 🎮Gaming
    • Gaming Overview
      • Canvas Label
      • Sprites
      • Sprite Gallery
    • Gaming Blocks
      • Events
      • Motion
      • Looks
      • Direction
      • Sensing
      • Add & Remove
      • Stage
  • 🗃️Additional Resources
    • Release Notes
      • Release Notes 2024
      • Release Notes 2023
    • Troubleshooting
      • Can't Sign in to Thunkable?
      • FAQs
    • Minimum Requirements
    • Bugs and Product Feedback
    • App Services and Emulators
Powered by GitBook
On this page
  • 1. AdMob Overview
  • 2. Setup Your AdMob Account
  • 3. Join Thunkable's MCM Network
  • 4. Submit Your App For Review
  • 5. Types of Ads
  • Banner ad
  • Properties
  • Interstitial Ad
  • Adding an Interstitial ad to your app
  • Properties
  • Blocks
  • 6. Rewarded Video Ad
  • Adding a Rewarded Video ad to your app
  • Properties
  • Blocks
  • 7. Live Test
  • 8. Download and Publish
  • Set test mode = false
  • Build Your App!
  • 9. iOS and AdMob Permissions
  • AdMob Account Suspension
  • Troubleshooting

Was this helpful?

Export as PDF
  1. Blocks
  2. App Features Blocks

Ads by AdMob

PreviousLocation SensorNextAdvanced Blocks

Last updated 7 months ago

Was this helpful?

This feature may only be available for Creators on certain Thunkable plans. Please refer to our pricing page for more information: .

1. AdMob Overview

AdMob is the most popular ad network for monetizing mobile apps today.

We highly recommend that you only add ads to your app after it has been completed and you have a good idea of how users will move through your app. Once your app is complete, you can go back in find natural points to add the different types of ads for your users.

2. Setup Your AdMob Account

    • Default value: "This identifier will be used to deliver personalized ads to you."

A personalized ad is one that is tailored to the users' interests based on data collected from their web history.

A non-personalized ad is one that is 'randomly' selected to be displayed to the user and doesn't draw on any information the advertising service may have about the user.

  1. Click on the Apps tab in your AdMob Sidebar

  2. Click View All Apps

  3. Click the name of the app associated with the ad unit.

  4. Click on the Add Ad Unit button

  5. Select the type of ad you wish to add (Note: Thunkable only currently supports Banner, Interstitial, or Rewarded Ads).

  6. Add a name for your Ad Unit (e.g. "Banner Ad")

  7. In the Implementation instructions window, click the ad unit ID in the second step.

3. Join Thunkable's MCM Network

To download and publish Thunkable apps that contain ads, you must first be a member of Thunkable's MCM (Multiple Customer Management) network.

By joining this network, you consent to sharing 10% of your AdMob revenue for all apps you have currently on AdMob with Thunkable to support maintenance costs.

4. Submit Your App For Review

Thunkable has partnered with AdMob to ensure that apps created on our cross-platform use ads to monetize apps in a way that both provides high quality traffic to advertisers and a high quality user experience for end users of apps.

  • Inappropriate content that advertisers do not want to be associated with e.g. copyrighted, adult

  • Invalid activity that lowers the quality of traffic to advertisers e.g. ad placements that encourage clicks

Thunkable will review apps for compliance with AdMob policies but will specifically reject apps that are:

  • Incomplete apps - apps that are still in their early stages and won't show how ads will be used in the app

  • Earning apps - apps that encourage users to click ads in exchange for some form of payment

  • Auto-impression apps - apps that repeatedly load banner ads in the background of apps

  • Apps that show an Interstitial ad or Video ad on startup - these ads must be implemented properly in your app

Thunkable reserves the right to change an app's approval status subject to any violation of our guidelines.

If your app is rejected, the Thunkable AdMob team will send an email to the address used in your submission and you will be provided with an explanation and a recommendation for changes to make to get your app approved upon re-submission.

You are welcome to submit the same app for approval multiple times.

5. Types of Ads

Banner ad

The Banner ad is a rectangular image or text ads that occupy a spot within an app's layout.

AdMob banner ads are the simplest ad format to implement and are recommended for beginners. No blocks are needed to show your Banner ad to your end users.

The first banner ad will load when ready and will reload a new ad every minute.

Properties

AdMob Banner

Name
Description
Data Type

Ad Unit ID (Android)

Ad Unit ID for showing your ad on Android devices

Text

Ad Unit ID (iOS)

Ad Unit ID for showing your ad on iOS devices

Text

Test Mode

Toggle whether real ads or sample ads should display in your app. Set this to true while testing your own app.

True/False

Layout

Name
Description
Data Type

Y

Location of top left corner of Banner ad on Y-axis, where the top side is Y=0

Number

Visible

Set whether the Banner ad component is visible

True/False

Interstitial Ad

Interstitial ads are full-screen ads that cover the interface of their host app.

These should displayed at natural transition points in the flow of an app, eg. between activities, between levels in a game. The user can click on or close the ad.

There is a limit of one interstitial ad component per app, but you can show the ad multiple times.

Adding an Interstitial ad to your app

To add an Interstitial ad to your app:

  1. Go to your Blocks tab

  2. Click on the icon next to the Ads drawer of blocks

  3. Select AdMob Interstitial

Properties

You will see a dialog where you can set the following properties:

Name
Description
Data Type

Ad Unit ID (Android)

Ad Unit ID for showing your ad on Android devices

Text

Ad Unit ID (iOS)

Ad Unit ID for showing your ad on iOS devices

Text

Test Mode

Toggle whether real ads or sample ads should display in your app. Set this to true while testing your own app.

True/False

We recommend making use of Test Mode. It allows you to download your app, and see how it behaves when you click on the ads. It is forbidden to click on actual ads being served in your own app, so this is a great way to see how your app users will experience ads. Before publishing your app, make sure Test Mode is set to false so that you show real ads to your users.

Blocks

Events

Use the when Ad Open and when Ad Close blocks to trigger events to happen when the interstitial ad opens or closes.

Functions

Use the Show Ad block to show an interstitial ad in your app. If there is an error, the error block will catch and return it.

Properties

Ad Unit ID (Android):

Ad Unit ID (iOS):

Test Mode:

6. Rewarded Video Ad

Rewarded video ads are recommended after a user has completed a heavy task in your app and would be willing to watch a long video to continue.

There is a limit of one rewarded video ad component per app, but you can show the ad multiple times.

Adding a Rewarded Video ad to your app

To add an Rewarded Video ad to your app:

  1. Go to your Blocks tab

  2. Click on the icon next to the Ads drawer of blocks

  3. Select AdMob Rewarded Video

Properties

You will see a dialogue where you can set the following properties:

Name
Description
Data Type

Ad Unit ID (Android)

Ad Unit ID for showing your ad on Android devices

Text

Ad Unit ID (iOS)

Ad Unit ID for showing your ad on iOS devices

Text

Test Mode

Toggle whether real ads or sample ads should display in your app. Set this to true while testing your own app.

True/False

Blocks

Events

Use the when Ad Close block to trigger events to happen when the Rewarded Video ad closes.

Functions

Use the Show Ad block to show the ad video, and the Reward User block to reward the user after displaying the video.

Properties

Ad Unit ID (Android):

Ad Unit ID (iOS):

Test Mode:

7. Live Test

For your convenience, we have provided a test Ad Unit ID for you to see how a particular ad format may appear in your app. You must change this to your own Publisher and Ad Unit ID before publishing.

During live test, all AdMob ads will be set to test mode = true, which means clicks and impressions will not be counted.

This is true even if you add your own Ad Unit ID and set test mode = false.

8. Download and Publish

Set test mode = false

To protect the integrity of your account, we have by default set test mode = true.

When you are ready activate your ads when you publish, you'll simply need to set test mode = false.

Build Your App!

Once approved, apps can be downloaded and published without further review.

9. iOS and AdMob Permissions

With iOS 14.5 and above, your app users will be asked if they consent to an advertising identifier being used to show them personalized ads. This is what the dialog looks like:

AdMob Account Suspension

Policy violations include, but are not limited to:

  • showing an interstitial ad as soon as your app opens

  • tricking app users into clicking on ads

  • creating false ad impressions by downloading your app with ads enabled and clicking on your own ads

As well as other actions that can frustrate the user experience and/or create false AdMob impressions.

If your app/ad placement violates these policies, Google may:

If Google suspends or disables your AdMob account, it is against policy to create a new AdMob account to circumvent the suspension.

Troubleshooting

If you are not seeing ads appear in your app, it may be due to the following reasons:

  • Your AdMob component property test mode = true. To activate, you'll need to flip the switch to test mode = false

  • Your Ad Unit ID has not yet been activated. This may take up to a few hours

  • You have entered the App ID or the Publisher ID instead of the Ad Unit ID which begins with ca-app-pub-xxx

  • Please check the mobile device internet connectivity or disable ad blockers on the mobile device

  • Your setup is correct. The issue is that AdMob does not always have an ad to return for every request. This may happen particularly if you have just registered your AdMob publisher ID, as it takes some time and multiple requests before the new ID starts returning ads

Adding error handling to your AdMob blocks can better help troubleshoot issues

If you use Google AdMob in your app and have end users in the UK and EEA (EU countries + Iceland, Liechtenstein, and Norway), there are important new requirements around consent management for AdMob.

Beginning January 16th, 2024, Google will require all publishers serving ads to EEA and UK end users to use a Google-Certified Consent Management Platform (CMP). Thunkable has made the necessary changes to our AdMob implementation so that every app using AdMob will be compliant with this consent management, but you must publish an update for your app on Google Play and App Store for these changes to take effect.

Apps with large audiences can use AdMob to not only generate revenue for the creator, but in some cases, create better user experiences. For example, users may prefer to watch a to unlock extra content than pay money to unlock extra content.

You need an to show ads in your project.

Once you have an AdMob account, you will need to paste the following into the :

(if publishing to App Store)

(if publishing to Play Store)

(if publishing to App Store)

Once you have published your app, you will also need individual for each AdMob component in your project. To add an Ad Unit ID:

Click the Create Ad Unit button.

An invitation to this network will be sent to you the first time you submit your app for review. If you do not change AdMob accounts, this only needs to be done once, when you .

All apps with AdMob must be first approved by Thunkable before they can be downloaded or published. AdMob has its that an app must comply with, including but not limited to:

There is a maximum of 1 Banner ad allowed per screen. You can show multiple banners in a single multi-screen app. You can learn more about best practices for implementing and using banners .

To show an interstitial app, you need to first add the component and then add the after the appropriate event in your app.

Set and get of your Interstitial ad.

Rewarded Video Ads are full-screen video ads that users have the option of watching in full .

To show a rewarded video app, you need to first add the component and then add the after the appropriate event in your app.

You'll then want to add a to reward your user in the app. You can learn more about best practices for implementing and using Rewarded Video ads .

Set and get of your Rewarded Video ad.

Downloading your app with test mode = false to generate more impressions/clicks for your ads is considered and may lead to your AdMob account being suspended or disabled.

You can set a personalized Tracking Usage Description in your .‌ All characters in your Tracking Usage Description must be alphanumeric or an underscore [a-z A-Z 0-9 _] If this permission is declined, your app will still show ads. These will be more generic ads and won't be targeted at the user. If the user has turned off the Allow Apps to Request to Track property in their device settings, this permission will be declined by default and they will not see this dialog.

Google owns and operates AdMob and has policies and restrictions for AdMob accounts. You can read about these policies and restrictions .

If you believe your AdMob account has been unjustly targeted, you can ask Google to investigate using .

Your AdMob account has been disabled due to a policy violation. Please sign in to

Check your app's . Only apps with a Ready status will be served ads.

Beginning January 16, 2024, if you do not adopt a Google-Certified CMP, no ads will be eligible to serve on EEA and UK traffic. Learn more about this update and how it impacts you in this community post: .

Have feedback on this doc? Please take a moment to share your feedback here: . Your valuable insights will help us improve and better serve you in the future.

🛠️
AdMob account
iOS app ID
Android app ID
Tracking Usage Description
Ad Unit IDs
submit your first app for review
own policies
here
in exchange for in-app rewards
invalid traffic
Publish to App Store (iOS)
Publish to Play Store (Android) with AAB
Project Settings
here
disable your app or account
suspend your AdMob account
delete your AdMob account
this link
your AdMob account
Readiness Status
Check the community forum for other potential errors
Google AdMob Update
Thunkable Docs Feedback
Rewarded Video Ad
Show Ad block
properties
Show Ad block
here
Reward User event
properties
Thunkable pricing
AdMob section of your Project Settings