Help Articles

이 페이지가 도움이 되었나요?

Help Articles

이 페이지가 도움이 되었나요?

Auto Store Implementation

Overview

Auto Store allows DSPs to decide whether InMobi Exchange should display a store modal on top of a VAST video. This feature enhances the effectiveness of app-install campaigns, leading to increased conversion rates and reduced CPIs.

It is a store modal supported by iOS with the SKStoreProductViewController object.

Experience

DSPs determine if the InMobi Exchange iOS Store Kit is displayed automatically after a user:

  • Views the complete video
  • Skips the video

When dismissed, users see the creative end card loaded below.

OpenRTB Specifications

BidRequest.imp.ext

Attribute 

Description 

Type 

autostore

Indicates whether the inventory is eligible for Auto Store.

1 - true; 0 – false

Int; 

Example

{
  "imp": [
     {
       "ext": {
         "autostore":1
        }
     }
  ]

BidResponse.seatbid.bid.ext

Attribute 

Description 

Type 

autostore

Indicates whether InMobi Exchange should enable automatically displaying the Store.

1- true; 0 – false

Int; default 1

Example

{
  "seatbid":[ 
   { 
     "bid":[ 
        { 
          "ext": { 
             "autostore":1 
            } 
         } 
       ] 
     } 
   } 
 }

Attribute 

Description 

Type 

autostoreclick

Indicates whether InMobi Exchange should fire click trackers when automatically displaying the Store Kit.

1 - true; 0 - false

Int; default 0

Example

{
  "seatbid":[
    {
      "bid":[
        {
         "ext":{
            "autostore":1,
             "autostoreclick":1
            }
        }
     ]
   }
]

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 11 May, 2026

Android StoreView

Overview

Android StoreView is part of InMobi’s suite of ad behavior enhancements. It is an InMobi SDK-powered ad experience that allows users to quickly preview key elements of an app’s Google Play Store page directly within the ad flow.

This experience presents a lightweight, store-like interface that mirrors the Google Play product page, featuring elements such as app description, scrollable screenshots, and relevant metadata. It provides users with immediate context about the advertised app without requiring them to leave the host app.

How it Works

StoreView automatically appears at the end of a video ad, overlaying the end card in a format similar to iOS Auto StoreKit. Users can dismiss it or interact with it. On interaction, a clickthrough redirects them to the Google Play Store to continue the install flow.

By increasing user intent and engagement before redirection, StoreView improves key performance metrics such as conversion rate, IPM, and overall efficiency (CPA, CPI). It is enabled by default and can be controlled by DSPs via the bid response.

Supported Formats

This feature is available for:

  • Android only
  • Interstitial Video
  • Rewarded Video

Note

StoreView is supported for app install campaigns and is disabled by default for retargeting campaigns.

 

Ways to Enable Android StoreView

Android StoreView is enabled automatically for performance DSPs running app install campaigns. Reach out to your Demand Partner Manager to confirm activation.

DSP Controlled Enablement

DSPs can choose to enable StoreView on a per-impression basis, allowing full control over when the feature is applied. This enables optimization based on campaign goals, landing page behavior, and CTR performance, and supports straightforward A/B testing.

Request parameter - BidRequest.imp.ext

Attribute Description Type
asv Indicates whether the impression opportunity is eligible for Android StoreView (1 = eligible, 0 = not eligible) Integer

Request parameter - BidResponse.seatbid.bid.ext

Attribute Description Type
asv Indicates whether Android StoreView is enabled for this impression (1 = enabled, 0 = disabled, default value = 0) Integer

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 04 May, 2026

Android Inline Installs

Overview

Android Inline Installs is a Google Play-powered capability enabled by the InMobi SDK that allows users to install an advertised app directly within the ad experience, without redirecting to the Google Play Store.

This experience leverages the Google Play Install API to present app product details in a native, in-context interface, allowing users to complete the install flow without leaving the host app.

For DSPs and advertisers, this results in a more seamless user journey, reducing friction in the clickthrough flow and improving key metrics such as conversion rate, and overall campaign efficiency (IPM, CPA, CPI).

The integration follows a two-sided OpenRTB handshake:

  • Bid Request: InMobi signals availability using imp.ext.inlineinstallallowed
  • Bid Response: DSP enables the feature and passes an install referrer using seatbid.bid.ext.inlineinstall

Note

InMobi can also enable this feature on behalf of DSPs that do not support RTB based activation or install referrer based attribution. Please contact your Demand Partner Manager to discuss enablement.

Requirements

InMobi sets inlineinstallallowed = 1 only when all of the following conditions are met:

  • Device OS is Android
  • Google Play Store is installed and reachable
  • InMobi SDK version is 11.1.0 or higher

Bid Request

Object: BidRequest.imp.ext

Field Type Required Description
inlineinstallallowed integer Yes 1 = available, 0/ absent = not available

Example

"ext": {
  "inlineinstallallowed": 1
}

Bid Response

Object: BidResponse.seatbid[].bid[].ext.inlineinstall

Field Type Required Description
enabled boolean Yes 'true' to activate, false to opt out (default value is 'true').
referrer string No* Referrer string passed by the SDK to the Play Install API for attribution. * Strongly recommended.

Example

"ext": {
  "inlineinstall": {
    "enabled": true,
    "referrer": "dsp1_760a59d6-1507-11f1-96c3-9565488fcc70"
  }
}

Note

bid.bundle (the advertised app's package name) is required when enabled=true.

Referrer and Attribution

The InMobi SDK calls the Google Play Install API directly on the device. The flow bypasses the Play Store redirect entirely, which means:

  • There is no redirect URL for referrer parameters to be appended to.
  • There is no redirect chain for MMPs to read.

You must pass the referrer explicitly in the bid response for attribution.

Without a referrer:

  • The install reaches the app with no referrer string.
  • Attribution will be missed for the ad.
  • MMPs may record the install as organic or unattributed.
  • Campaign reporting (ROAS and conversions) becomes incomplete.

We recommend passing the install referrer explicitly in the bid response for attribution. If the DSP does not use Install Referrer for third-party attributions, then this recommendation may not be relevant for you. 

Note

InMobi passes the referrer to the Google Play Install API exactly as received. It does not validate or modify the value.

FAQs 

1. Is the referrer field required?

The referrer field is optional at the protocol level. However, it is strongly recommended for any campaign where you need install attribution. Since the InMobi SDK calls the Play Install API directly (rather than redirecting through a Play Store URL), there is no redirect chain for the MMP to read a referrer from. The only way to pass a referrer in this flow is explicitly through this field.Without it:

  • The app will be installed with no referrer string.
  • Your MMP might rely on a different attribution method, which is likely not deterministic.

2. What happens if I send enabled=true on an impression where inlineinstallallowed was not set?

If inlineinstallallowed is absent or set to 0 in the bid request, the device is not eligible for Inline Install. Setting enabled=true in the bid response will have no effect — the InMobi SDK will fall back to standard store redirect behaviour. DSPs should treat inlineinstallallowed = 1 as a prerequisite before activating Inline Install.

3. What is the auto opt-in setting, and how does enabled=false interact with it?

InMobi may enable automatic Inline Install opt-in for DSPs who have agreed to it. When auto opt-in is active, eligible impressions will be treated as opted-in by default, even without an explicit enabled=true in the bid response.

To override this and explicitly opt out of Inline Install for a specific bid, set enabled=false in the bid response extension.

4. Is bid.bundle required when activating Inline Install?

Yes. When enabled=true, DSP must include a valid bid.bundle in the bid object. This is the Android package name of the app to be installed (e.g. com.advertiser.game). The SDK uses this to identify the app on the Play Store. Bids with enabled=true and a missing or invalid bundle will not be processed for Inline Install.

5. Will a click be reported back to the DSP and advertiser if the user sees Inline Install?

Yes, click trackers will be invoked as usual when the user clicks on the ad.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 28 May, 2026

Skip To Store (ClickThrough Flow)

Overview

Skip to Store is an ad experience feature available on the InMobi Exchange for DSPs bidding on in-app inventory via the InMobi SDK. It enables a streamlined click-through flow that directs users to the advertiser’s destination as part of the ad experience.

This feature is designed for performance-focused campaigns such as app installs, retargeting, and commerce. It helps improve:

  • Landing page rate
  • Attribution rate
  • Installs per mille (IPM)
  • Cost per acquisition (CPA)
  • Cost per install (CPI)

How it works

When enabled for an eligible impression, the InMobi SDK renders a full-screen ad experience with a single call-to-action (CTA) button.

  • The user must interact with the CTA button to proceed through the ad flow.
  • Clicking the button redirects the user to the configured click-through destination.
  • The CTA messaging is dynamically optimized based on campaign objective and destination type.

Click-through destinations

The CTA button can direct users to:

  • App Store or Google Play Store listing
  • Deep link into an installed app
  • Web landing page (href)

User interaction behavior

  • If the user clicks the CTA button, the standard click tracking and redirect flow is executed.
  • If the user clicks the primary ad asset (e.g., a video), the Skip to Store flow is disabled, and the default click behavior applies.

Supported formats

Skip to Store is supported for the following ad formats:

  • Standalone interstitial playables
  • Standalone rewarded playables
  • Interstitial video
  • Rewarded video

Note

For solutions focused on improving click-through rate (CTR) in static full-screen ads, contact your Demand Partner Manager for additional options.

Enable Skip to Store

You can enable Skip to Store using one of the following methods:

Option 1: Managed rollout by InMobi

InMobi can enable Skip to Store across a defined percentage of traffic for selected formats and placements.

  • Example: Enable for 50% of rewarded video inventory
  • Rollout is configured and managed by InMobi upon request

Option 2: DSP-controlled enablement

DSPs can control Skip to Store on a per-impression basis using OpenRTB extensions.

This approach allows you to:

  • Apply the feature selectively based on campaign logic
  • Maintain internal optimization strategies (for example, CTR or CPA optimization)
  • Control click classification and reporting

API Integration

Sample Request

Attribution Description Type
skiptostore Indicates whether the impression is eligible for Skip to Store
(1= eligible, 0 = not eligible).
Integer

Sample Response

Attribution Description Type
skiptostore Indicates whether to enable Skip to Store for the impression (1= enabled, 0 = disabled) Integer

Click tracking behavior

CTA button click

When the user clicks the Skip to Store CTA button:

  • Standard click trackers are triggered
  • The configured click-through URL is opened

Format-specific behavior

Video ads

  • Video click trackers are triggered
  • Video click-through URL is opened

Playable ads

  • Configured click URL is triggered
  • Associated landing page is opened

FAQs

What click trackers are triggered when the user clicks the CTA button?

Standard click trackers are triggered, consistent with a normal ad click. The configured click-through URL is then opened.

Which click-through URL is used?

  • Video ads: Video click-through URL defined in the VAST response
  • Playable ads: Configured click URL associated with the creative

What happens if the user clicks on the main ad asset instead of the CTA button?

If the user clicks the main ad asset (for example, the video player), the Skip to Store flow is disabled for that interaction. The default click behavior is applied.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 14 Apr, 2026

WebX Integration

The InMobi WebX enables publishers to monetize their websites by rendering ads through a lightweight JavaScript integration.

Prerequisites

Ensure you have the following before integrating:

  • Publisher ID (provided by InMobi).
  • A valid HTML container where the ad will be rendered.
  • Ensure the following consent and privacy requirements are met:  
    • Add InMobi (Vendor ID: 333) to your Consent Management Platform (CMP) vendor list.
    • Ensure the following purposes are enabled for InMobi:
      • Purpose 1 – Storage and access of information
      • Purpose 2 – Basic ads
      • Purpose 7 – Measurement
      • For personalized advertising, also enable:
        • Purpose 3 – Personalized ads
        • Purpose 4 – Personalized content

Create Default Placements

Before you begin with InMobi WebX integration, you need to create default website placements first. 

Follow the steps in Default Website Placements to start creating website placements.

Note

Contact your Customer Success Manager to activate WebX on your inventory.

Integration Methods

The SDK supports multiple integration approaches based on your use case:

Method Description
Script-Only Integration (Recommended) Automatically loads and renders ads on page load
Manual Initialization Provides control over when ads are loaded
Dynamic Ad Slot Integration Loads ads based on user engagement signals

Method 1: Script-Only Integration 

Use this method for a quick and easy integration. It uses script attributes to configure the SDK. The SDK automatically loads and renders an ad when the page loads. 

  1. Add a container element to display the ad.
    <div id="inmobi-ad-container"> </div>
    
  2. Add the SDK script with your Publisher ID and configure it using script attributes: "https://app.inmobi.com/web-sdk?publisherId=<inmobi_accountID>".
    <script defer src="https://app.inmobi.com/web-sdk?publisherId=<inmobi_accountID>" data-mode="auto" data-container="inmobi-ad-container"></script>
    
Configurable Parameters

Attribute

Description
data-mode="auto" Enables automatic ad loading
data-container Specifies the container ID where the ad will render

Note

Multiple Ad Slots SupportIn addition to a single ad container, publishers can now render multiple ads on the same page. To enable this, define multiple containers using the prefix ad-slot- (e.g., ad-slot-1, ad-slot-2, etc.) in the DOM. The SDK will automatically detect all such containers and render ads in each slot.

Only one "script" tag with the main container is needed; additional ad-slot-* containers can be added in the DOM and are detected automatically by the SDK.

Example
<!DOCTYPE html>
<html>
<head>
  <title>InMobi Ad Example</title>
</head>
<body>

<h1>My Website</h1>

<div id="inmobi-ad-container"></div>

<script
  defer
  src="https://app.inmobi.com/web-sdk?publisherId=<inmobi_accountID>"
  data-mode="auto"
  data-container="inmobi-ad-container">
</script>

</body>
</html>

Method 2: Manual Integration

This method allows you to control when and where ads are loaded. In this mode, the SDK only runs when init() is called. It is useful for:

  • Single Page Applications (React, Angular, Vue)
  • Dynamic page content
  • Lazy loading ads
  • Custom ad placement logic
  1. Add a container element to display the ad.
    <div id="ad-slot"></div>
    
  2. Add the SDK script with your Publisher ID and configure it using script attributes.
    <script defer src="https://app.inmobi.com/web-sdk?publisherId=<inmobi_accountID>"></script>
    
  3. Call InMobiWebSDK.init() after the page loads. The SDK will load an ad inside the specified container when init() is called.
    <script>
    window.addEventListener("DOMContentLoaded", function () {
    
      InMobiWebSDK.init({
        containerId: "ad-slot"
      });
    
    });
    </script>
    
Configurable Signals

You can provide the following signals to help the SDK optimize ad delivery.

Signal

Type

Optional

Description

Example Values

containerId

string

No

container (html div) where the ad will appear

"inmobi-ad-container"

slotSize

string or array

Yes

Dimensions of the ad slot. Used by the SDK to request compatible creatives.

"300x250", ["300x250","336x280"]

format

string

Yes

Ad format supported by the slot. Helps select compatible ad creatives.

banner, native, video, interstitial

placement

string

Yes

Describes where the ad appears on the page. Helps optimize layout and auction demand.

above_fold, in_article, sidebar, footer

contentCategory

string

Yes

Contextual category of the page used for contextual targeting.

sports, tech, finance, gaming

summaryType

string

Yes

Type of AI-generated summary used for contextual targeting.

key-points, tldr, teaser

keywords

string

Yes

Page keywords provided by the publisher to improve contextual targeting.

["AI","machine learning","startups"]

userConsent

string

Yes

Indicates whether the user has consented to personalized ads. Required for privacy compliance.

true, false

gdprApplies

string

Yes

Indicates whether GDPR applies to the user session.

true

usPrivacyString

string

Yes

CCPA / US privacy string for compliance.

"1YYN"

Example
<!DOCTYPE html>
<html>
<head>
<title>InMobi Web SDK Example</title>

<script defer src="https://app.inmobi.com/web-sdk?publisherId=<inmobi_accountID>"></script>

</head>
<body>

<h1>My Website</h1>

<div id="ad-slot"></div>

<script>
window.addEventListener("DOMContentLoaded", function () {

  InMobiWebSDK.init({
    containerId: "ad-slot",
    slotSize: ["300x250"]
  });

});
</script>

</body>
</html>

Method 3: Dynamic Ad Slot Integration

This method allows ads to be loaded dynamically based on user engagement, such as time spent on the page or scroll depth. It is useful for:

  • Lazy-loading ads
  • Injecting ads within long-form content
  • Improving viewability metrics
  • Controlling when ads appear based on user behavior
How it works

The SDK loads ads based on user engagement instead of on page load.

  • You configure one or more trigger conditions (for example, time on page or scroll depth).
  • The SDK monitors these conditions after initialization.
  • When any condition is met, the SDK automatically creates the ad container (if needed), inserts it into the DOM, and renders the ad.
  • If multiple triggers are defined, the first satisfied condition triggers the ad load.
Supported Trigger Configurations

Parameter

Type

Required

Description

Example

minSeconds

number

No

Minimum time (in seconds) the user must spend before the ad can be inserted

10

minViewabilityPercentage

number

No

The percentage of page scroll after which the ad will be inserted

50

Note

  • At least one trigger parameter must be provided.
  • If multiple triggers are configured, the earliest satisfied condition will load the ad.
  • The SDK automatically creates the ad container.
Example
<!DOCTYPE html>
<html>
<head>
<title>InMobi Web SDK Example</title>

<script defer src="https://app.inmobi.com/web-sdk?publisherId=<inmobi_accountID>"></script>

</head>
<body>

<h1>My Website</h1>

<div id="ad-slot"></div>

<script>
window.addEventListener("DOMContentLoaded", function () {

  InMobiWebSDK.init({
    minSeconds: 3,
    minViewabilityPercentage: 50,
  });

});
</script>

</body>
</html>

No-Fill Event Listener

When no ad is available for a given slot, the SDK dispatches a NO_FILL custom event on the window object. You can listen for this event to take fallback actions. 

window.addEventListener('NO_FILL', function(event) { 

 const slotId = event.detail.slotId; 

 console.log('No fill for slot:', slotId); 

});

Best Practices

  • Always load the SDK using the defer attribute.
  • Ensure the container exists before loading ads.
  • Use unique container IDs if placing multiple ads on a page.
  • Avoid removing ad containers dynamically after initialization.

Troubleshooting

Check the following if ads are not rendering:

  • The Publisher ID is correct.
  • The container ID exists in the DOM.
  • The SDK script loads successfully.
  • There are no JavaScript errors in the browser console.

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 10 Jun, 2026

CMP Premium

1. What is InMobi CMP Premium, and how does it work?

InMobi CMP Premium is an enhanced version of the Consent Management Platform that provides advanced customization, analytics, and monetization options.
Premium access can be unlocked in two ways:

  • Free via SSP Integration: If the app or domain is monetizing through InMobi SSP.
  • Paid Access: By subscribing at USD20 per domain/month (domain = app or website.)

2. Is Premium access per account or per domain/app?

Premium is assigned per property (each app or domain). Each has its own trial, subscription, and integration status. 

3. What happens if I don’t opt for Premium?

You retain all compliance-critical features through the Essentials plan, but advanced tools such as custom branding, granular analytics, and Consent-or-Pay will be disabled.

4. What are the key differences between Essentials and Premium?

Premium includes the following key features:

  • Custom Branding (Your brand Logo and Font customisations)
  • Light and Dark Themes for Apps
  • Geolocation Targeting
  • Enabling consent across sub-domains
  • Custom Vendor Management 
  • Granular Analytics/Reporting
  • Custom GDPR Consent Text (Coming Soon)
  • Consent or Pay (Coming Soon)
  • Remove InMobi Branding from Consent Banner 

Essential features include:

  •  Support for TCF 2.2 Framework
  •  Unlimited Sites/Apps
  •  Unlimited Pageviews
  •  Unlimited Users
  •  WordPress/AMP Support
  •  iOS/Android/Unity Apps Supported
  •  GPP and TCF String format
  •  GDPR & US Templates
  •  Google Consent Mode v2
  •  Google Tag Manager
  •  Global Privacy Control
  •  Google Vendors
  •  Privacy Policy & Persistent Link
  •  Multilingual Banner
  •  Auto Translation
  •  Banner Customization (Text, Colour, Button, Links)
  •  Theme Customization via CSS & Preview
  •  Basic Analytics
  •  Audits and Logs
  •  Bulk Property Updates
  •  Updated UI (Coming Soon)

5. Are existing features moving to Premium?

Compliance-critical features will remain in Essentials. However, advanced customization (logo, geolocation targeting, custom vendors, reporting, and branding control) will now fall under Premium.

6. How do you qualify a property as integrated with SSP?

A property is considered integrated when it has rendered at least 500 ad impressions in the past 7 days via InMobi SSP. If eligible, the property status will show “SSP Integrated” in the CMP portal.

7. What happens if SSP integration fails?

If integration fails, CMP provides a 7-day grace period with active Premium features and sends alerts for correction.

8. How long is the Premium trial period? What happens when the trial ends?

Every new property receives a 30-day free trial to explore Premium capabilities. 

After 30 days, Premium access continues only if:

  • The property is integrated with InMobi SSP, or
  • A paid subscription is activated. Otherwise, it reverts to Essentials.

9. Is Premium free for SSP-integrated properties?

Yes, if your property maintains 500 impressions per week through InMobi SSP.

10. Can I move from Premium to Essentials?

Yes, at any time. Compliance remains active, but advanced tools are disabled.

11. What happens if payment fails but SSP integration remains active?

Premium continues as long as the property remains monetized through InMobi SSP. You won’t be double-billed.

12. What payment options and invoicing are available?

Currently supports credit card payments. Invoices are accessible via the CMP portal under Manage Subscriptions (coming soon).

13. What happens if my payment fails or I cancel my plan?

Payments are retried on Days 1, 3, 5, and 7. During retries, Premium remains active. After failed retries, the property reverts to Essentials. You can cancel anytime, and Premium will stay active until the billing cycle ends.

14. What is Custom Vendor Management?

It allows Premium users to manage custom vendors outside of IAB lists, providing more flexibility in consent collection.

15. What is Consent or Pay?

A Premium feature allowing users to either provide consent or pay for ad-free access. For more details, see Overview.

16. Will my Premium settings be lost if change plans?

No. Settings are stored and reinstated once Premium access resumes.

17. Do I need SDK re-integration when switching plans?

SDK reintegration is not required. All plan transitions occur automatically through the CMP dashboard.

18. How does CMP verify integration?

CMP runs an automated integration check weekly to verify the impression threshold and monetization linkage.

19. Do existing publishers get the same trial for new properties?

Yes. Each newly added property, whether by a new or existing publisher, gets a 30-day free trial.

20. Will I receive notifications about trials or billing issues?

Yes. CMP sends email and in-app notifications for trial expiry, payment retries, integration failures, and access changes.

21. How much does CMP Premium cost?

CMP Premium is priced at USD20 per domain per month. Pricing is handled via a monthly subscription model and billed automatically at the start of each cycle.

22. How can I check if my property is Integrated successfully with SSP or not?

You can check the SSP integration status of your properties on the My Properties page. The CMP dashboard will provide the following information:

  • Integration with SSP
  • Premium access through subscription
  • Property with only Essential features access

23. How do I know if a property is Premium?

A property is marked as Premium with a 'diamond' icon in the CMP dashboard when Premium features are enabled. The status clearly indicates whether access is via subscription, SSP integration, or special access.

24. What is a grace period?

A grace period provides temporary Premium access after:

  • Payment failure
  • SSP integration failure

This allows time to resolve issues before access is revoked.

25. Can I start a subscription for a Draft property?

No. Subscriptions can only be created for active properties.

26. Can a property have multiple subscriptions?

No. Each property can have only one active subscription at a time.

27. What subscription statuses can I see?

Subscriptions can be:

  • Active – currently billed
  • Future – scheduled to start later
  • Cancelled – ended or set to end

28. Why does my subscription show as “Future”?

Subscription status as "Future' usually means:

  • You already have access until the end of the current period.
  • The subscription was restarted before the previous term ended.

29. Why was my subscription cancelled?

A subscription may be cancelled due to:

  • Manual cancellation
  • Repeated payment failures
  • Trial or contractual access expiry

30. Do you store my card details?

No. Card details are securely handled by our PCI-compliant payment partner and are not stored by InMobi.

31. How can I download invoices?

Invoices are available under Billing & Invoices in the CMP portal for all completed billing cycles.

32. How can I update my billing address?

Billing details can be updated from the CMP portal. Changes apply to future invoices only.

33. How do I remove a saved card?

You can remove a card from Payment Cards under Billing Details. Your Primary card will be used for future billing. We suggest canceling the subscription before removing a card if you don't wish to be billed for a subscription.

34. When is GST applicable?

GST is applicable only if your billing address is in Singapore. It will be charged at 9%.

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 25 Feb, 2026

InMobi CMP Premium

This topic provides a comprehensive overview of InMobi CMP Premium vs Essentials for publishers and partners to understand benefits, eligibility, billing, and advanced features.

Premium vs Essentials Comparison

InMobi CMP offers two tiers — Essentials (free) and Premium (paid or free with SSP integration). Essentials ensures compliance with privacy regulations like GDPR and CCPA, while Premium provides deeper customization, analytics, and revenue optimization.

Feature Essentials (Free) Premium
Pricing Free for all apps/sites $20 per domain/month or free via SSP integration

Branding & Look & Feel

Basic customization (text, color, CSS theme) Full branding control (logo, fonts, light/dark themes)
Analytics Basic analytics & audit logs Granular analytics by region, device, and regulation
Targeting Standard consent templates and global privacy control Geolocation & sub-domain targeting

Vendor Management

IAB vendor support only Custom vendor management (non-IAB vendors supported)

InMobi Branding

Displayed on consent banner Option to remove InMobi branding (coming soon)

Consent Models

Standard consent

Consent-or-Pay (coming soon)
Add Customise GDPR consent text (coming soon)

Premium access enhances brand trust, compliance management efficiency, and revenue optimization while giving publishers full creative and analytical control over their consent workflows.

Why Upgrade to Premium?

  • Enhanced customization: Full branding, themes, and design freedom.
  • Advanced analytics: Understand consent trends by region and platform.
  • Regional flexibility: Manage compliance in multi-jurisdiction environments.
  • Better monetization: Implement Consent-or-Pay to recover lost revenue.
  • Improved UX: Build a transparent, familiar user consent experience.

Features

Custom Branding

Premium users can upload logos, apply custom fonts, and align consent banners with their brand theme. Essentials users are limited to basic text and color customization.

Consent modal without your brand logo.

Consent modal with your brand logo.

Light and Dark Themes (Apps)

Available exclusively to Premium users, enabling adaptive themes for mobile apps to ensure better user experience across platforms.

The option to configure theme colors for apps through the portal will be supported only for premium properties. Properties under the Essentials plan will have default theme colour.

Geo-Location Targeting

Premium enables region-specific consent flows (e.g., EEA, USA, or APAC). Essentials only supports a global configuration.

Non-premium properties can only select Worldwide; consent can’t be collected from limited regions.

Premium properties can pick and choose regions, i.e., apply to one or more regions/countries (EEA, USA, etc.) supported on the portal.

Consent Across Sub-domains

Premium supports consent sharing across sub-domains, ensuring a seamless user experience for publishers managing multiple properties.

Non-premium properties can’t enable consent collection across sub-domains. Consent collection will be limited to the parent URL

Custom Vendor Management

Premium users can manage both IAB and custom (non-IAB) vendors. Essentials only supports IAB vendors.

Non-IAB vendors added to the account will be supported only for premium properties. Consent collected will not be shared with non-IAB/custom-added vendors if the property is not a premium property.

Granular Analytics & Reporting

Premium provides detailed analytics by country, regulation type, and device to help optimize consent rates. Essentials includes only basic metrics.

Dashboard and detailed analytics under the Reports tab will be supported only for premium properties.

Removing InMobi Branding

Premium properties can remove InMobi’s logo or text from consent banners to maintain a fully white-labeled experience.

Non-Premium property with InMobi branding.

Premium property without InMobi branding.

Custom GDPR Consent Text (Coming Soon)

Premium users will be able to modify the consent modal text in compliance with IAB standards to match brand tone and language.

This feature allows you to have a custom consent modal text as per your requirement(subject to IAB guidelines). This feature will be available only for premium properties.

Consent-or-Pay (Coming Soon)

Premium will support a hybrid model where users can choose to consent or access content through an alternative payment option, allowing publishers to minimize revenue loss.

Consent or pay model allows you to configure the modal pop-up to enable your property with an option to either collect consent or pay in case of withdrawal. To learn more, see Overview. This feature will be available only for premium properties.

For more information on billing, setup, and SSP integration, see CMP Premium FAQs.

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 28 Oct, 2025

Subscription and Billing

InMobi CMP offers a subscription for its premium features, or you can get those premium features for free by integrating with InMobi SSP. For more information, see InMobi CMP Premium

Note

We’ve extended the free trial by an additional 2 months due to requests from publishers. During this period, Premium features will remain free, so you don't need to immediately complete billing setup or subscription activation. We understand this may affect how you manage property access and ownership, and we appreciate your patience while we improve these features.

  1. Once you log in, under My Properties, you can see all your premium properties with their subscription statuses, integration, and plans.

  2. To subscribe to InMobi CMP, create your property or select a property and click Start Subscription.

  3. There are two ways to go Premium. You can get premium access for free by integrating with InMobi SSP or pay $20 /property/month.

  4. Once you have made your selection, fill up some basic information and a consent form to confirm your subscription. Click Confirm & Continue. You will be redirected to the payment gateway page to complete the transaction.

  5. Check your cart, future charges, GST (if applicable) and next billing date. Click Proceed to Checkout.

  6. Fill in the checkout form and enter your billing address and card details.

    Note

    • Billing address is used in generating an invoice for your transaction
    • You may enter the same or a different shipping address.
    • You may also enter a PO number, if applicable.

  7. Add payment details.

    Note

    • We only support credit card as a payment method.
    • Your next payment will be auto-deducted from the same credit card.
  8. Click Pay $20 and subscribe. You will be redirected to the Manage Subscriptions page. Under Subscriptions, you can view the property, subscriptions, and cancellations with reason.

  9. Under Billing & Invoices, see the payment status, invoice date and number, and the amount paid. Click Download Invoice to save the e-invoice.

  10. Under Billing Details, find all the billing details after your account.

  11. To edit Billing details, click Edit Details. Click Update to save.

  12. To remove a card, select Remove card. Make changes and click Yes, Remove to confirm.

    Note

    • In case you update your billing address, it will reflect in the next payment for all your active subscriptions. 
    • Ensure you update your billing address before proceeding to the checkout page.
    • You can remove any payment method from the list of payment methods. Please ensure at least one payment method is added to avoid transaction failure.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 27 May, 2026

Manage Vendors

This guide covers the steps and best practices for configuring and managing vendors for your properties within the InMobi CMP portal. When you use InMobi CMP on your property, you must specify the vendors (third parties) that may process user data, set their purposes, and manage consent preferences. 

Access the Vendors Page

  1. Log in to the InMobi CMP portal.
  2. Navigate to the Vendors page from the left-side panel. Here you’ll find tabs for:
  3. You manage each category separately under the same interface.

IAB Vendors

IAB vendors are those registered in the IAB Global Vendor List (GVL) and recognized by the IAB Transparency & Consent Framework (TCF). Using them allows you to use standardized consent strings (TCF/GPP) and simplifies compliance.

  1. Search vendors by name in the search field.
  2. Click the + icon next to the vendor name to find the Purposes, Special Purposes, Features, and Special Features for that vendor.

  3. Filter the vendors list by legal basis - Consent, Legitimate Interest, Flexible, and Multi. 
    • Consent: vendor with only consent purposes.
    • Legitimate Interest: vendors with only legitimate interest purposes.
    • Flexible: vendors with at least one flexible purpose.
    • Multi: vendors with consent and legitimate interest purposes.

    Note

    We consider consent, legitimate interest, and flexible purposes to classify vendors' legal basis types. Special purposes, features, and special features are not considered to classify vendors based on legal basis.

  4. Select the checkbox next to the vendor name and click Block or Whitelist as required.

Non-IAB Vendors

Non-IAB vendors are vendors who have not registered with IAB Europe and are not part of the IAB Vendor List TCF 2.2. Since they are not listed in the IAB Global Vendor List, it is not possible to create a signal to transmit to non-IAB vendors. They only enable publishers to show the vendor to the consumer and obtain a consumer's privacy preferences for that vendor, not the ability to transmit them in a standard way. 

  1. To add non-IAB vendors, go to the Non-IAB Vendors tab and click Add Vendor.

  2. Add details such as Vendor name, Vendor Privacy Policy Link, Vendor Description, TCF Version, Vendor Legitimate Interest Claim, and Purposes

  3. Click Add Vendors to save changes.

Your newly created vendor will be added to your non-IAB vendors list in the portal and will appear in the CMP in the partner screen.

On the InMobi CMP portal, the vendor will be given a non-IAB vendor ID, which will correlate to their position in the non-IAB vendor cookie and the non-IAB vendor API. You will now need to manage these vendor technologies using the non-IAB APIs and/or cookie instructions. 

Note

  • We recommend adding non-IAB Vendors in batches if you're planning to add multiple non-IAB Vendors to your CMP for disclosure, to minimize the number of times your users will be re-prompted on the site.
  • You will need to control the firing of technology for these vendors using some form of tag management (e.g., Google Tag Manager (GTM) or Tealium). For implementation with GTM, view our GTM Implementation Guide.

You have completed all the configuration options for the InMobi CMP and can apply the Universal tag to the site.

nonIABVendorConsent API

You need to use the nonIABVendorConsent API to gather user consent. Each vendor you specified is assigned an id and stored in the consent.nonIabVendorConsents object. Check each entry as needed for consent (true/false). Here is an example using a fictitious vendor "Non-IAB Company" with id 1, which requires consent for purposes 1 and 3 to operate.

__tcfapi('getNonIABVendorConsents', 2, function(consent, success) { 
    // check consent for non-IAB vendor with id 1. Always check 
    // whether the callback returned success and GDPR applies
    if (   success 
        && consent.gdprApplies
        && consent.nonIabVendorConsents[1]
       ) {
        // Use getTCData to validate consent is given for the 
        // purposes declared in the configuration step
        __tcfapi('getTCData', 2, function(tcdata, success) {
          if (   success 
              && consent.gdprApplies) {
              if (   tcdata.purpose.consents[1]
                  && tcdata.purpose.consents[3]) {
                  nonIabCompanyTag(); // replace this with your own code
                  console.log("Debug: ", tcdata.purpose.consents[1],
                    tcdata.purpose.consents[3]);
              }
          }
        });
    }
});

You can make that call anywhere in your code where you need to check for consent for the non-IAB vendor you use on your page. You also need to manually configure your Google tag(s) on your site to behave based on the consent preference made and on the product the user is using.

For Non-IAB vendor API and all other APIs, see CMP2 & CCPA API Index.

Google Vendors

These are vendors that work with Google and are not listed under the TCF vendor list. If you work with Google Ad Manager, you may want to review this list and enable the vendors that you are working with through Google Ad Manager, AdMob, and AdSense. By default, all vendors are selected. For more information, see Ad Technology Providers.

  1. Select the additional vendors you want to include in your ad request within Google Ad Manager. Check or uncheck the vendors in the list.

  2. Click Save.

Note

  • Google vendors are only used if the Enable Google Vendors checkbox is selected during Protect a Site.
  • In the IAB TCF framework, Disclosed Vendors are those not listed in the IAB Europe Global Vendor List (GVL) but still present on the site and shown in the CMP. These vendors should not be included in the TCF string; instead, pass them via Google’s Additional Consent specification. When monetizing with Google in the EU, set “Include Disclosed Vendors in TCF string?” to ‘No’. Enabling this may lead to Google rejecting the TC string.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 23 Dec, 2025

UK ICO Compliance

Best Practices for UK ICO Consent Compliance

The UK Information Commissioner’s Office (ICO) outlines how organizations must approach cookie consent within the scope of the Privacy and Electronic Communications Regulations (PECR). These requirements go beyond legal compliance, they are designed to ensure that users are given clear, fair, and transparent choices about how their data is used. 

In this topic, we highlight the essential principles of an ICO-aligned consent framework and show how Inmobi CMP can be applied to put these principles into practice. 

Requirements for Valid Consent 

In alignment with GDPR principles, the ICO requires that consent is more than a simple acknowledgment. It must reflect a user’s clear and deliberate choice. For a consent banner to be considered compliant, it needs to embody four core qualities: freely given, specific, informed, and unambiguous.

Standard  Explanation 
Freely given  Consent should be offered without pressure. Users must be able to decline cookies without losing access to the main content or service. 
Unambiguous  Consent must come from a deliberate action. Assumptions such as “continuing to browse means you agree” do not qualify as valid under ICO rules. 
Specific and informed  Users need clear, plain-language details on what data is collected, why it is used, and how cookies support those purposes, so they can make an informed decision. 

 The Inmobi CMP platform provides the functionality to implement these standards effectively and helps ensure your consent messaging is consistent with ICO requirements. 

Right to Decline and Withdraw Consent

Standard  Explanation 
Balanced acceptance and rejection  The consent interface should not favor acceptance over refusal. If a single-click “Accept All” option is offered, an equivalent “Reject All” or “Continue without accepting” option should appear with equal prominence on the first layer
Simple withdrawal   Users must have ongoing access to review and change their preferences. This is typically achieved through a persistent element, such as a footer link or a privacy icon, that reopens the consent banner at any time.  

InMobi CMP supports these requirements through an option in the Themes settings, which provides the necessary setup required to be compliant with the UK ICO.  

Record-Keeping and Accountability

Accountability is a central principle of the ICO’s guidance. Organizations must be able to show that consent was collected properly and that reliable records are maintained over time. A Consent Management Platform (CMP) plays a key role in enabling this transparency. 

Standard  Explanation 
Documented proof of consent  Every user decision should be logged securely, with details such as the date, time, and specific preferences selected. Within the Inmobi CMP platform, these records are generated automatically to ensure accuracy and consistency. 
Comprehensive audit trail  Maintaining this information creates a verifiable trail of evidence. Such records can be critical if the ICO requests confirmation of your consent practices during an investigation or complaint process. 

Further Guidance 

For official examples and deeper advice, see the ICO’s resource: How do we manage consent in practice

By following these practices, you ensure your consent experience is both compliant and user-centric—protecting your business while respecting user rights. 

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 23 Sep, 2025

Create Site Theme

Create Theme

After creating your property, it's time to create a theme for it. InMobi CMP allows you the freedom to tailor your message, branding, and display to your audience.

A theme is a customizable bundle of design and configuration settings, like layout, text, colors, and legal link behavior, that defines the look and feel of your CMP. Once created, you can save and assign themes to multiple sites.

  1. Navigate to the Themes tab and click Create Theme. Select Site Theme from the dropdown.

  2. Theme Name (required): Enter a name for your theme.
  3. For Regulation for which the theme is required, select European regulation (GDPR) or US regulation (CCPA & MSPA), or both. For more information, see GDPR and CCPA.

The theme creation process is divided into five sections for each regulation.

  1. Language & Text
  2. Colors
  3. Customize Privacy
  4. Privacy Widget
  5. Override CSS

GDPR Consent Settings

Language and Text

Basic

  1. Choose from supported languages or use Auto‑Detect for the CMP UI.
  2. Choose Layout of your consent pop-up.

  3. Enter the desired text for your primary button.
  4. Enter the desired text for your secondary button.
    • Add a disagree/close [X] button to the upper right corner of the initial screen: Check this box to display the X button on the upper right corner of the summary page.
    • Show DISAGREE button on the Summary View: Check this box to display a DISAGREE BUTTON.
  5. Enter the desired text for your Disagree button if selected in the previous step.
  6. Add custom footer links as needed. The first entry is reserved as the privacy policy link.

Advanced Customization (for Premium properties only)

  1. Choose from supported languages for the CMP UI.
  2. Enter the desired text for your primary button.

  3. Enter the desired text for your secondary button.
  4. Enter the desired text for your Disagree button or X Button Tooltip text.
  5. Enter the Privacy Header text.
  6. Add the Privacy Body copy.
  7. Add custom footer links as needed. The first entry is reserved as the privacy policy link.

Consent or Pay (for Premium properties only)

  1. Choose from supported languages for the CMP UI.
  2. Choose Layout of your consent pop-up.

  3. Enter the Button Text for Accept Policy.
  4. Enter Button Text to View Preferences.
  5. Enter Button Text to Enable Subscribe.
  6. Enter Button Text to Enable Login.
  7. Enter the Privacy Header text.
  8. Add the Privacy Body Copy.
  9. Add custom footer links as needed. The first entry is reserved as the privacy policy link.

Colors

  1. Set colors for your site.

Customize Privacy

  1. Select TCF Version. We recommend using the latest TCF 2.2.

  2. Choose How Do You Want To Show The Customise Privacy Options.
  3. Select the purposes which you want to apply restrictions to the vendors' legal basis.

Privacy Widget

  1. Check the box to display the Persistent Consent Link.

  2. Add the Persistent Consistent Link Label.
  3. Upload Widget icon if required.
  4. Select Widget location.

Override CSS

  1. For further customization apart from those on the Themes page, see UI CSS Overrides. Add the CSS overrides in the box.

  2. Click Create Theme.

US Consent Settings

Language and Text

  1. Enter Headline text.
  2. Enter Body text.

  3. Choose to enable the 'Opt-Out From All' on the Summary view.
  4. Select the Suppress MSPA Links checkbox if you only want to support the IAB CCPA Framework. This will suppress the links to the Data Deletion, Data Access, and Data Privacy Policy.
  5. Add Link Text and Link URL to your Data Deletion tool, if applicable.
  6. Add Link Text and Link URL to your Data Access tool, if applicable.
  7. Add Link Text and Link URL to your Privacy Policy, if applicable.
  8. You will now be able to showcase the opt in/opt-out status at every toggle while asking users to set their purposes.

Colors

  1. Set colors for your site.

Customize Privacy

  1. Select TCF Version. We recommend using the latest TCF 2.2.

  2. Choose How Do You Want To Show The Customise Privacy Options.
  3. Select the purposes which you want to apply restrictions to the vendors' legal basis.

Privacy Widget

  1. Check the box to display the Persistent Consent Link.

  2. Add the Persistent Consistent Link Label.
  3. Upload Widget icon if required.
  4. Select Widget location.

Override CSS

  1. For further customization apart from those on the Themes page, see UI CSS Overrides. Add the CSS overrides in the box.

  2. Click Create Theme.

UI CSS Overrides

If you would like to make any additional CSS changes to your CMP outside the customization options presented on the Theme’s page, you can include the CSS code in the CSS Overrides section of the Theme’s page.

Note

  • This is an advanced feature and requires knowledge of using and programming CSS for HTML pages. You can find more CSS style names by looking through the styles of the CMP modal using the browser’s Element explorer.
  • Before saving your changes, please test your changes by launching the GDPR Preview on the Theme’s page.

If you are using InMobi CMP Version2, we use a CSS reset within the CMP to have a consistent experience on all websites. Therefore, please prepend all your rules with the id #qc-cmp2-ui. This will also eliminate the need to specify !important to all the rules.

Background Color

#qc-cmp2-ui { 
   background: yellow;  
}

Buttons

#qc-cmp2-ui button[mode="primary"] { 
   background: red; 
   color: white;  
}

Note

  • Target the different buttons separately by using the mode property. You can use either “primary”, “secondary”, or “link”, and it will target different buttons of our CMP.
  • Please note that link buttons shouldn’t have a background.

Headings

#qc-cmp2-ui h2 { 
   color: red; 
   font-size: 21px;  
}

Texts

To change the font-family and sizing of all our texts, see below:

#qc-cmp2-ui p { 
   font-family: Arial, sans-serif; 
   font-size: 15px;  
}

Note

To avoid unexpected style behavior, it’s not recommended to change the color using this rule because it would change the text color for ALL text as well. Please specify the color per text block.

To change the text styling of the main message of the summary page, see below:

#qc-cmp2-ui .qc-cmp2-summary-info p { 
   color: red;  
}

To change the text styling of the main message of the purposes, vendors, and legitimate pages, see below:

#qc-cmp2-ui .qc-cmp2-consent-info p { 
   color: pink;  
}

To change the text styling of the list elements, see below:

#qc-cmp2-ui .qc-cmp2-list-item-title { 
   color: red;  
}

#qc-cmp2-ui .qc-cmp2-list-item-status { 
   color: blue;  
}

To change the text styling of the text INSIDE a list element you can do it like this:

Text Inside List

#qc-cmp2-ui .qc-cmp2-expandable-list p { 
   color: green;  
}

Headers

#qc-cmp2-ui .qc-cmp2-expandable-list li { 
   color: darkblue; 
}

Persistence Link

.qc-cmp2-container .qc-cmp2-persistent-link { 
   background-color: red; 
   color: white; 
   padding: 10px;  
}

Note

This is the only component that isn’t going to be prepended with the #qc-cmp2-ui id since it’s outside of the CMP UI itself. Instead, we prepend it with the .qc-cmp2-container class.  If you intend to modify the padding without an increase in height, ensure to adjust the max-height rule as well (default is 30px).

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 10 Dec, 2025

Create App Theme

Create Theme

After creating your property, it's time to create a theme for it. InMobi CMP allows you the freedom to tailor your message, branding, and display to your audience.

A Theme is a customizable bundle of design and configuration settings, like layout, text, colors, and legal link behavior, that defines the look and feel of your CMP. Once created, you can save and assign themes to multiple sites.

  1. Navigate to the Themes tab and click Create Theme. Select App Theme from the dropdown.

  2. Theme Name (required): Enter a name for your theme.
  3. For Regulation for which the theme is required, select European regulation (GDPR) or US regulation (CCPA & MSPA) or both. For more information, see GDPR and CCPA.

The theme creation process is divided into three sections for each regulation.

  1. Language & Text
  2. Colors
  3. Typography
  4. Customize Privacy

GDPR Consent Settings

Language and Text

Basic
  1. Choose from supported languages or use Auto‑Detect for the CMP UI.
  2. Choose Layout of your consent pop-up.

  3. Enter the desired text for your primary button.
  4. Enter the desired text for your secondary button.
    • Add a disagree/close [X] button to the upper right corner of the initial screen: Check this box to display the X button on the upper right corner of the summary page.
    • Show DISAGREE button on the Summary View: Check this box to display a DISAGREE BUTTON.
  5. Enter the desired text for your Disagree button if selected in the previous step.
  6. Add custom footer links as needed. The first entry is reserved as the privacy policy link.
Advanced Customization (for Premium properties only)

Advanced customization lets you modify the text for your GDPR consent screen and buttons in different languages. Currently, this feature is available only for Premium properties. For details, see Advanced Customization.

Consent or Pay (for Premium properties only)

InMobi CMP enables publishers to provide a free option to opt out of data tracking and receiving personalized ads with the Partial Accept option. Currently, theme setting under Consent or Pay is available only for Premium properties.. For details, see Consent or Pay.

Colors

Note

Color Customization is a premium feature and any changes made will be applied to only premium properties in the CMP.

While color customization can be done through code, InMobi CMP gives priority to color customization enabled through the portal. First, we will consider the customisations from the portal; if there are none, we will consider the customisations made through code. In case there are no changes made through code, we will apply the default colours.

  1. Check the box Would You Like To Customize Colors Via The Portal? if you wish to customize your theme from the CMP portal.
  2. Next, choose a theme from Light Theme, Dark Theme or Auto.

  3. Set colors for Light or Dark Theme.

  4. Click More Options for further customizations.

Typography

Note

Typography is a premium feature and any changes made will be applied to only premium properties in the CMP.

While font customization can be done through code, InMobi CMP gives priority to font customization enabled through the portal. First, we will consider the customisations from the portal; if there are none, we will consider the customisations made through code. In case there are no changes made through code, we will apply the default fonts.

  1. Check the box Would You Like To Customize Font Via The Portal? if you wish to customize your theme from the CMP portal.
  2. Choose your preferences for the following fields.

    • Title Font Name: Select the font for the consent screen title.
    • Title Font Size: Select the font size for the consent screen title.
    • Body Font Name: Select the font name for the body content.
    • Body Font Size: Select the font size for the body content.
    • Button Font Size: Select the font size for the buttons.
    • Subtitle Font Size: Select the font size for the subtitle.

Customize Privacy

  1. Select TCF Version. We recommend using the latest TCF 2.2.

  2. Choose How Do You Want To Show The Customise Privacy Options?.
  3. Select the purposes that you want to apply restrictions to the vendors' legal basis.

  4. Click Create Theme.

Advanced Customization (for Premium properties only)

  1. Choose from supported languages for the CMP UI.
  2. Enter the desired text for your primary button.

  3. Enter the desired text for your secondary button.
  4. Enter the desired text for your Disagree button or X Button Tooltip text.
  5. Enter the Privacy Header text.
  6. Add the Privacy Body copy.
  7. Add custom footer links as needed. The first entry is reserved as the privacy policy link.

Choose Font Name & Font Size

Once you've set the language and text of your consent screen, you can further customize it by choosing the font and font size you prefer.

  1. Select the Title Font for the heading of your consent pop-up.
  2. Select the size of the font for your consent pop-up's title. Ensure Font size is constrained between 10px and 24px.
  3. Select the Body Font Name and Body Font Size for the body text of your consent pop-up.
  4. Choose the Font Size for the Call to Action Button on the consent pop-up.
  5. Choose the Font Size for the Privacy Policy link.

Consent or Pay (for Premium properties only)

  1. Choose from supported languages for the CMP UI.
  2. Choose Layout of your consent pop-up.

  3. Enter the Button Text for Accept Policy.
  4. Enter Button Text to View Preferences.
  5. Enter Button Text to Enable Subscribe.
  6. Enter Button Text to Enable Login.
  7. Enter the Privacy Header text.
  8. Add the Privacy Body Copy.
  9. Add custom footer links as needed. The first entry is reserved as the privacy policy link.

Choose Font Name & Font Size

Once you've set the language and text of your consent screen, you can further customize it by choosing the font and font size you prefer.

  1. Select the Title Font for the heading of your consent pop-up.
  2. Select the size of the font for your consent pop-up's title. Ensure Font size is constrained between 10px and 24px.
  3. Select the Body Font Name and Body Font Size for the body text of your consent pop-up.
  4. Choose the Font Size for the Call to Action Button on the consent pop-up.
  5. Choose the Font Size for the Privacy Policy link.

US Consent Settings

Language and Text

  1. Enter Headline text.
  2. Enter Body text.
  3. Choose to enable the 'Opt-Out From All' on the Summary view.

  4. Select the Suppress MSPA Links checkbox if you only want to support the IAB CCPA Framework. This will suppress the links to the Data Deletion, Data Access, and Data Privacy Policy.
  5. Add Link Text and Link URL to your Data Deletion tool, if applicable.
  6. Add Link Text and Link URL to your Data Access tool, if applicable.
  7. Add Link Text and Link URL to your Privacy Policy, if applicable.

Colors

Note

Color Customization is a premium feature and any changes made will be applied to only premium properties in the CMP.

While color customization can be done through code, InMobi CMP gives priority to color customization enabled through the portal. First, we will consider the customisations from the portal; if there are none, we will consider the customisations made through code. In case there are no changes made through code, we will apply the default colours.

  1. Check the box Would You Like To Customize Colors Via The Portal? if you wish to customize your theme from the CMP portal.

  2. Next, choose a theme from Light Theme, Dark Theme or Auto.
  3. Set colors for Light or Dark Theme.

  4. Click More Options for further customizations.

Typography

Note

Typography is a premium feature and any changes made will be applied to only premium properties in the CMP.

While font customization can be done through code, InMobi CMP gives priority to font customization enabled through the portal. First, we will consider the customisations from the portal; if there are none, we will consider the customisations made through code. In case there are no changes made through code, we will apply the default fonts.

  1. Check the box Would You Like To Customize Font Via The Portal? if you wish to customize your theme from the CMP portal.
  2. Choose your preferences for the following fields.

    • Title Font Name: Select the font for the consent screen title.
    • Title Font Size: Select the font size for the consent screen title.
    • Body Font Name: Select the font name for the body content.
    • Body Font Size: Select the font size for the body content.
    • Button Font Size: Select the font size for the buttons.
    • Subtitle Font Size: Select the font size for the subtitle.

Customize Privacy

  1. Select TCF Version. We recommend using the latest TCF 2.2.

  2. Choose How Do You Want To Show The Customise Privacy Options.
  3. Select the purposes that you want to apply restrictions to the vendors legal basis.

  4. Click Create Theme.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 24 Feb, 2026

Introduction

These support the dropdown/search functionality in the UI:

API Method Endpoint Purpose
Get DSP Partners GET /meta/dsps Search DSPs
Get Countries GET /meta/countries Get a list of countries
Get States GET /meta/states Get a list of states
Get Cities GET /meta/cities Get a list of cities
Get Zip Code GET /meta/zip-code Get a list of zip codes
Get Ad Type GET /meta/ad-type Get a list of Ad types
Get Ad Slot GET /meta/ad-slot Get a list of Ad slots
Get OS Type GET /meta/operating-system Get a list of OS types
Get Audiences GET /meta/audiences Get a list of audiences
Get Deal Sync GET /meta/deals/sync Sync deals to DSPs (TTD, DV360)

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Get DSP Partners

Use this API to retrieve the list of all DSP accounts integrated with the InMobi Exchange. This metadata API is useful when setting up or editing deals, as it provides valid DSP ID and name pairs required for deal creation.

API Endpoint

GET https://apis.demand.ssp.inmobi.com/v1/meta/dsps

Parameters

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Sample Request

 curl -X GET "https://apis.demand.ssp.inmobi.com/v1/meta/accounts" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json"

Sample Response

{
  "data": [
    {
      "name": "Aarki RTB",
      "id": "cbab4104e7f14e2fbd2e21e96a8bf787"
    },
    {
      "name": "Adcolony_FirstRTBD",
      "id": "50f3f94bf37047ff982aca2536d781d1"
    },
    {
      "name": "Adcolony RTBD",
      "id": "b77bf7ba928f412eb02714cb5983f8d2"
    },
    {
      "name": "AdElement RTBD",
      "id": "bb9c931396d44a45b7e11b9b259e2d42"
    }
    // ...more DSPs
  ]
}

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 25 Aug, 2025

Get Countries List

This metadata API returns the list of all supported countries that can be used for country-level geo-targeting in deals. The API supports pagination to retrieve results in batches.

API Endpoint

GET https://apis.demand.ssp.inmobi.com/v1/meta/countries

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Query Parameters

Field Name Type Is mandatory (Y/N)? Description
num_items Integer N Number of results per page (default: 20)
page_num Integer N The page number to retrieve (default: 1)

Sample Request

curl -X GET "https://apis.demand.ssp.inmobi.com/v1/meta/countries?num_items=30&page_num=2" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json" \

Sample Response

{
  "data": {
    "countries": [
      { "id": 150, "name": "India" },
      { "id": 108, "name": "Brazil" },
      { "id": 151, "name": "Canada" },
      { "id": 152, "name": "Netherlands" },
      { "id": 153, "name": "Bulgaria" },
      { "id": 154, "name": "Japan" },
      { "id": 155, "name": "China" }
      // ...more countries
    ],
    "pageNum": 2,
    "numItems": 30,
    "nextPage": true,
    "totalItems": 254,
    "totalPages": 9
  }
}

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Get States List

This metadata API returns the list of states or regions available under a specific country. It is typically used when setting up state-level geo-targeting during deal creation or update.

API Endpoint

GET https://apis.demand.ssp.inmobi.com/v1/meta/states

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Query Parameters

Field Name Type Is mandatory (Y/N)? Description
country_id Integer Y The ID of the country to filter cities by

Sample Request

curl -X GET "https://apis.demand.ssp.inmobi.com/v1/meta/states?country_id=108" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json" \

Sample Response

{
  "data": {
    "states": [
      {
        "id": 31328,
        "name": "ACRE",
        "countryName": "Brazil",
        "countryId": 108
      },
      {
        "id": 31300,
        "name": "ALAGOAS",
        "countryName": "Brazil",
        "countryId": 108
      },
      {
        "id": 31301,
        "name": "AMAPA",
        "countryName": "Brazil",
        "countryId": 108
      }
      // ...more states
    ],
    "pageNum": 1,
    "numItems": 20,
    "nextPage": true,
    "totalItems": 39,
    "totalPages": 2
  }
}

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Get Cities List

This metadata API returns a list of cities within a specified country and (optionally) a specific state. It is used to configure precise city-level targeting while creating or updating deals.

API Endpoint

GET https://apis.demand.ssp.inmobi.com/v1/meta/cities

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Query Parameters

Field Name Type Is mandatory (Y/N)? Description
country_id Integer Y The ID of the country to filter cities by
state_id Integer N The ID of the state to further filter cities

Sample Request

curl -X GET "https://apis.demand.ssp.inmobi.com/v1/meta/cities?country_id=108&state_id=31301" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json" \

Sample Response

{
  "data": {
    "cities": [
      {
        "id": 1174474,
        "name": "CARIPI",
        "stateName": "AMAPA",
        "stateId": 31301,
        "countryName": "Brazil",
        "countryId": 108
      },
      {
        "id": 73777,
        "name": "MACAPA",
        "stateName": "AMAPA",
        "stateId": 31301,
        "countryName": "Brazil",
        "countryId": 108
      }
      // ... more cities
    ],
    "pageNum": 1,
    "numItems": 5,
    "nextPage": false,
    "totalItems": 5,
    "totalPages": 1
  }
}

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Get Zip Code

This metadata API is used to retrieve ZIP or postal code information for supported countries. It helps in configuring zipcode-level geo-targeting in deal setup.

Note: This API is designed to filter zip codes by a numeric string using the search parameter.

API Endpoint

GET https://apis.demand.ssp.inmobi.com/v1/meta/zip-code

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Query Parameters

Field Name Type Is mandatory (Y/N)? Description
search String Y Zip code or part of it to filter the results

Sample Request

curl -X GET "https://apis.demand.ssp.inmobi.com/v1/meta/zip-code?search=302012" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json"

Sample Response

{
  "data": {
    "countries": [
      {
        "id": 11,
        "name": "India",
        "zipcodes": [
          {
            "id": 5558498,
            "code": "302012"
          }
        ]
      }
    ],
    "pageNum": 1,
    "numItems": 1,
    "nextPage": false,
    "totalItems": 1,
    "totalPages": 1
  }
}

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Get Ad Type

This metadata API returns the list of ad types supported by InMobi, along with their internal id, name, and broad externalName classification. These IDs are required for configuring ad type targeting in deals.

API Endpoint

GET https://apis.demand.ssp.inmobi.com/v1/meta/ad-type

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Sample Request

curl -X GET "https://apis.demand.ssp.inmobi.com/v1/meta/ad-type" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json"

Sample Response

{
  "data": [
    {
      "id": 0,
      "name": "Banner/Interstitial",
      "externalName": "Display"
    },
    {
      "id": 1,
      "name": "Interstitial Video",
      "externalName": "Video"
    },
    {
      "id": 6,
      "name": "Native",
      "externalName": "Native"
    },
    {
      "id": 10,
      "name": "Audio Banner",
      "externalName": "Audio"
    }
    // ...more ad types
  ]
}

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Get Ad Slot

This metadata API returns the list of supported ad slot sizes (width x height) available for inventory targeting. Each ad slot is identified by a unique id and its standard dimension name.

API Endpoint

GET https://apis.demand.ssp.inmobi.com/v1/meta/ad-slot

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Sample Request

curl -X GET "https://apis.demand.ssp.inmobi.com/v1/meta/ad-slot" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json"

Sample Response

{
  "data": [
    { "id": 14, "name": "320x480" },
    { "id": 11, "name": "728x90" },
    { "id": 15, "name": "320x50" },
    { "id": 18, "name": "160x600" },
    { "id": 0,  "name": "0x0" },
    { "id": 37, "name": "320x100" },
    { "id": 16, "name": "768x1024" },
    { "id": 32, "name": "480x320" },
    { "id": 33, "name": "1024x768" },
    { "id": 10, "name": "300x250" }
  ]
}

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Get OS Type

This metadata API returns a list of supported Operating Systems (OS) that can be used for device-level targeting during deal configuration. Each OS is identified by a unique ID and a human-readable name.

API Endpoint

GET https://apis.demand.ssp.inmobi.com/v1/meta/operating-system

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Sample Request

curl -X GET "https://apis.demand.ssp.inmobi.com/v1/meta/operating-system" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json"

Sample Response

{
  "data": [
    { "id": 3, "name": "Android" },
    { "id": 42, "name": "Android Automotive" },
    { "id": 11, "name": "Bada OS" },
    { "id": 35, "name": "BlackBerry OS" },
    { "id": 18, "name": "Desktop" },
    { "id": 21, "name": "FireFox OS" },
    { "id": 32, "name": "Fire OS" },
    { "id": 43, "name": "Fuchsia" },
    { "id": 44, "name": "HarmonyOS" },
    { "id": 15, "name": "Hiptop OS" },
    { "id": 5, "name": "iOS" },
    { "id": 38, "name": "iPadOS" }
  ]
}

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Get Audiences List (Segments)

This metadata API returns a list of audience segments available for targeting. These segments can be used to define behavioral, contextual, or 3rd-party targeting in a deal. The API supports search, pagination, and country filtering.

API Endpoint

GET https://apis.demand.ssp.inmobi.com/v1/meta/audiences

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Query Parameters

Field Name Type Is mandatory (Y/N)? Description
limit Integer N Number of segments to return per page
offset Integer N Offset from the first result (used for pagination)
searchValue String N Filter segments by keyword (e.g., Weather)
country String N Filter segments by country name (e.g., USA)

Sample Request

curl -X GET "https://apis.demand.ssp.inmobi.com/v1/meta/audiences?limit=2&offset=0&searchValue=Weather&country=USA" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json"

Sample Response

{
  "data": {
    "records": [
      {
        "type": "segment_detailed",
        "id": "374c4f34-5ad5-437c-aa20-8f153d04970d",
        "segmentCore": {
          "type": "segment_third_party",
          "startDateTime": "2024-12-31T00:00:00.000Z",
          "endDateTime": "2099-12-31T00:00:00.000Z",
          "brands": [],
          "categories": [],
          "tags": [],
          "widgets": [],
          "taxonomyType": "custom",
          "datasets": [],
          "name": "TWC > Weather Targeting > Relative > Current > Unseasonably Warm and Sunny",
          "description": "TWC > Weather Targeting > Relative > Current > Unseasonably Warm and Sunny",
          "providerId": "0f6e5ac5-cf01-494e-895e-840c416c4f4b",
          "pricing": {
            "value": 0,
            "pricingModel": "CPM"
          },
          "membershipTTLInHours": 8760,
          "segmentType": "PUBLIC",
          "primaryCountry": 94,
          "clientType": "IDI",
          "externalId": "de97d203-aa46-488d-b5de-3c9399e05d03",
          "externalSegmentId": "AU_RTD_9crq",
          "snapshotEpoch": 0
        },
        "createdOn": 1737023889992,
        "updatedOn": 1737023889992,
        "createdBy": "NA",
        "updatedBy": "NA",
        "isDeprecated": false,
        "segmentLifeCycleStage": "CREATED",
        "stats": {
          "reach": 0
        },
        "consumerAccountIdList": []
      },
      {
        "type": "segment_detailed",
        "id": "e246b77b-b71a-4537-8789-1ea07c5e2219",
        "segmentCore": {
          "type": "segment_third_party",
          "startDateTime": "2024-12-31T00:00:00.000Z",
          "endDateTime": "2099-12-31T00:00:00.000Z",
          "brands": [],
          "categories": [],
          "tags": [],
          "widgets": [],
          "taxonomyType": "custom",
          "datasets": [],
          "name": "TWC > Weather Targeting > Relative > Current > Unseasonably Cool",
          "description": "TWC > Weather Targeting > Relative > Current > Unseasonably Cool",
          "providerId": "0f6e5ac5-cf01-494e-895e-840c416c4f4b",
          "pricing": {
            "value": 0,
            "pricingModel": "CPM"
          },
          "membershipTTLInHours": 8760,
          "segmentType": "PUBLIC",
          "primaryCountry": 94,
          "clientType": "IDI",
          "externalId": "de97d203-aa46-488d-b5de-3c9399e05d03",
          "externalSegmentId": "AU_RTD_9crp",
          "snapshotEpoch": 0
        },
        "createdOn": 1737023889626,
        "updatedOn": 1737023889626,
        "createdBy": "NA",
        "updatedBy": "NA",
        "isDeprecated": false,
        "segmentLifeCycleStage": "CREATED",
        "stats": {
          "reach": 0
        },
        "consumerAccountIdList": []
      }
    ],
    "pagination": {
      "pageNum": 0,
      "pageSize": 2,
      "totalPages": 264,
      "totalRecords": 528
    }
  }
}

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Get Deal Sync

This API allows you to retrieve the synchronization status of a deal between the InMobi platform and a connected DSP. It provides details like the proposal ID, name, revision number, and last sync timestamp.

Note

This API is applicable only for deals created for The Trade Desk (TTD) and DV360 DSPs.

API Endpoint

POST https://apis.demand.ssp.inmobi.com/v1/deals/sync

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Request Body

Field Name Type Is mandatory (Y/N)? Description
rpDealId String Y The ID of the deal for which sync status is being fetched

Sample Request

curl -X POST "https://apis.demand.ssp.inmobi.com/v1/deals/sync" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json" \
-d '{ "rpDealId": "4263509454" }'

Sample Response

{
  "data": {
    "data": {
      "Sync Timestamp": "2025-06-26 08:58",
      "Proposal Id": 3491448,
      "Proposal Name": "TTD_SYNC_TEST_DEAL - Package",
      "Revision Number": 1
    }
  }
}

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Introduction

The Deal Management APIs allow InMobi partners—such as DSPs, agencies, curators, and advertisers—to programmatically create, retrieve, update, and manage their deals at scale. These APIs are designed to eliminate manual workflows, support faster deal creation, and provide fine-grained control over deal configuration and targeting.

Use these endpoints to integrate directly with InMobi’s exchange and manage deals aligned with your business goals.API Topics

  • Get Auth Token – Authenticate with the API using a secure bearer token.
  • Create Deal – Set up a new public deal with targeting, pricing, and seat-level details.
  • Get Deals List – Retrieve all deals created by your organization with filtering options.
  • Get Deal by ID – Fetch detailed information for a specific deal.
  • Update Deal – Modify an existing deal’s attributes or targeting rules.
  • Delete Deal – Expire or remove a deal from the platform.
  • Metadata APIs – Access supporting datasets.
  • Error Codes - Understand standardized error responses.

These APIs require authentication via a bearer token, along with a mandatory client ID and Client Secret, for tracking and access control.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Get Auth Token

Authentication

To access the Deals API, every request must include the following three mandatory headers:

Field Name Type Is mandatory (Y/N)? Description
clientid String Y Partner-issued client identifier used to generate the auth token.
clientSecret String Y Partner-issued secret key used alongside clientID to generate the token

Sample Request

curl --location 'https://iam.inmobi.com/iam/v3/app/token' \
--header 'Content-Type: application/json' \
--data '{
  "clientId": "<client id value>",
  "clientSecret": "<client secret value>"

}'

Sample Response

{
  "httpCode": 200,
  "data": {
    "token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InZSY0Flb29fcFFMTnFiREo4ekZ2ciJ9.eyJpc3MiOiJodHRwczovL3N0YWdpbmcuaWFtLmF1dGguaW5tb2JpLmNvbS8iLCJzdWIiOiJoelVlaEh5alNDcGdwN0IxSU9mT0s0Z1ozZUtRekxsdUBjbGllbnRzIiwiYXVkIjoiaHR0cHM6Ly9pbm1vYmlpYW0udXMuYXV0aDAuY29tL2FwaS92Mi8iLCJpYXQiOjE3NTA3ODAzNjEsImV4cCI6MTc1MDg2Njc2MSwic2NvcGUiOiJjbGllbnRfY3JlZGVudGlhbHMiLCJndHkiOiJjbGllbnQtY3JlZGVudGlhbHMiLCJhenAiOiJoelVlaEh5alNDcGdwN0IxSU9mT0s0Z1ozZUtRekxsdSJ9.c3xwBQfXq5oVY04ReS8uFrgEsbnW_aGUkS6D3UEYMAosbcc66_tMFoQUIDuhk0tj-4ol9YNpMviy5ot4JyadErhRGa3gzyUQnwz6lFSNWK95g_k1weVKq3gyhp5-ImBNyW0xNvUG4u7QIG0KmC1jTAfjM5kJsL4SL1XWzmEVNc_o50tvBjGoBCc88ChDkel3NuZYBxCN-idQ3Y0N_okA68RYIgzlhIfpiv4LccOEib3I_jK17myZVlkno7JlG2p8HTvkYVPS3p15OhDAKt9sLMAN5xeCP9Fme9AtnnJNAa-E7mjxWner52I4Q75DxsBk47oEzE443FdImgz-8AJi_w",
    "validTill": "2025-06-25T15:52:41.21"
  }
}

Note

API requests without these headers will result in a 401 or 400. For more information, see Error Codes.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Create Deal

Use the following API to create a new deal on the partner platform.

API Endpoint

POST https://apis.demand.ssp.inmobi.com/v1/deals

Parameters

Headers

FIeld Name Type Is mandatory (Y/N)? Description
Authorization String Y

Bearer token used to authenticate the API request. (Format: Bearer <token>)

X-USER-ID String Y Identifier for the user making the request (e.g., email or username)
X-INMOBI-ORG-ID Array of objects Y Unique ID representing the requesting organization
Content-Type String (Date) Y Specifies the media type of the request body. Use: application/json

Object: Deal

FIeld Name Type Is mandatory (Y/N)? Description
name String Y

Name of the deal.

dealCategory String Y Supported values: AUCTION_PACKAGE, STANDARD_DEAL
  • Use STANDARD_DEAL when a buyer seat ID is present.
  • Use AUCTION_PACKAGE when there is no seat ID, or if the seat ID belongs to a DSP.
dspId String Y DSP identifier. For more information, see Get DSP Partners.
seats Array of objects N List of buyer seats
startDate String (Date) Y Start date in DD/MM/YYYY HH:mm:ss format
endDate String (Date) Y End date in DD/MM/YYYY HH:mm:ss format
dealType String Y Type of deal pricing (Supported value: PREFERRED_DEAL)
dealFloorType String Y Supported value: STATIC, and VARIABLE.
  • In case of STATIC, don't set the deal tolerance level.
  • In case of VARIABLE, use the deal tolerance level.
dealFloor Float Y Floor price in whole numbers (up to 2 decimals accepted).
dealFloorTolerance String N Allowed pricing flexibility (Supported value in the range 0 - 200)
margin Integer N Partner margin percentage (if applicable)
isActive Boolean N Whether the deal is active (ACTIVE) or paused (PAUSE).
targeting Array of objects N Targeting segments (see Targeting object)
targetKpis Array of objects N Performance KPIs (see KPI object)
tracking Object N Tracking config (see Tracking object)

Object: seats[]

FIeld Name Type Is mandatory (Y/N)? Description
id String N Unique seat ID

Object: targeting[]

FIeld Name Type Is mandatory (Y/N)? Description
geography Object N Geographic targeting rules
inventory Object N Inventory filtering
audiences Object N Audience targeting
devices Object N Device targeting

Object: geography

FIeld Name Type Is mandatory (Y/N)? Description
countryTargeting Object N Country-level filtering. For more information, see Get Countries List.
stateTargeting Object N State-level filtering. For more information, see Get States List.
cityTargeting Object N City-level filtering. For more information, see Get Cities List.

countryTargeting

FIeld Name Type Is mandatory (Y/N)? Description
countries Integer[] N List of country IDs
isIncl Boolean N Include/exclude toggle (true/false)

stateTargeting

FIeld Name Type Is mandatory (Y/N)? Description
states[] Object N Nested list of state IDs
isIncl Boolean N Include/exclude toggle (true/false)

Inside states[]

FIeld Name Type Is mandatory (Y/N)? Description
stateIds Integer[] Y State identifiers

cityTargeting

FIeld Name Type Is mandatory (Y/N)? Description
cities[] Object N Grouped by country
isIncl Boolean N Include/exclude toggle (true/false)

Inside cities[]

FIeld Name Type Is mandatory (Y/N)? Description
countryId Integer Y Country associated
cityIds Integer[] Y City identifiers

Object: inventory

FIeld Name Type Is mandatory (Y/N)? Description
inventoryTypeTargeting Object N Filters by inventory type
adTypeTargeting Object N Filters by ad creative type. For more information, see Get Ad Type.
adSlotTargeting Object N Filters by ad size/slot ID. For more information, see Get Ad Slot.
bundleTargeting Object N Filters by app bundles/domains
publisherTargeting Object N Filters by publisher whitelist
placementContextTargeting Object N Filters by placement context type
videoAdDurationTargeting Object N Filters by video ad duration (For eg: {"min": 1, "max": 30}

inventoryTypeTargeting

FIeld Name Type Is mandatory (Y/N)? Description
types String[] N E.g., BROWSER, APP
isIncl Boolean N Include/exclude toggle (true/false)

placementContextTargeting

FIeld Name Type Is mandatory (Y/N)? Description
types String[] N eg: In-stream, Out-stream, In-banner, Livestream
isIncl Boolean N Include/exclude toggle (true/false)

Object: audiences

FIeld Name Type Is mandatory (Y/N)? Description
csidFilterExpression String N Audience logic in CSID expression format

Object: devices

FIeld Name Type Is mandatory (Y/N)? Description
osVersions Integer[] N OS version IDs. For more information, see Get OS Type.
deviceIdPresent Integer N 1 = Required, 0 = Optional

Object: targetKpis[]

FIeld Name Type Is mandatory (Y/N)? Description
kpi String Y KPI type (Supported values: vcr, ctr, viewability)
optimisationRule String Y Optimization logic (Supported values: auto)
target Integer Y Target value (Supported value in the range: 0-100)
isPrimary Boolean N Indicates if KPI is primary (true/false)

Object: tracking

FIeld Name Type Is mandatory (Y/N)? Description
viewabilityPartners Object N IAS or other partner setup

viewabilityPartners.ias

FIeld Name Type Is mandatory (Y/N)? Description
enableIas Boolean Y Enable IAS tracking  (true/false)
useInmobiIasTag Boolean Y Use IAS tags served via InMobi (true/false)
usePartnerAdvertiserIdIas Boolean Y Use the partner advertiser’s IAS tag (true/false)
iasExternalTags[] Array N Custom IAS tag entries

Sample Request

curl -X POST "https://apis.demand.ssp.inmobi.com/v1/deals" \
-H "accept: application/json" \
-H "Authorization: Bearer <your bearer id>" \
-H "X-USER-ID: testapp" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json" \
-d '{
  "deal": {
    "name": "testdeal1",
    "dspId": "cbab4104e7f14e2fbd2e21e96a8bf787",
    "seats": [
      {
        "id": "seat1"
      }
    ],
    "startDate": "17/07/2025 00:00:00",
    "endDate": "18/07/2025 23:59:59",
    "dealType": "PREFERRED_DEAL",
    "dealFloor": 10,
    "dealFloorType": "STATIC",
    "margin": 20,
    "targeting": [
      {
        "geography": {
          "stateTargeting": {
            "states": [
              {
                "stateIds": [
                  31207
                ]
              }
            ],
            "isIncl": true
          },
          "cityTargeting": {
            "cities": [
              {
                "countryId": 53,
                "cityIds": [
                  900611
                ]
              },
              {
                "countryId": 111,
                "cityIds": [
                  49229,
                  49222
                ]
              }
            ],
            "isIncl": true
          },
          "countryTargeting": {
            "countries": [
              125
            ],
            "isIncl": true
          }
        },
        "inventory": {
          "bundleTargeting": {
            "bundleIds": [
              "app/domain"
            ],
            "isIncl": true
          },
          "publisherTargeting": {
            "publishers": [
              "publisherwhitelist"
            ],
            "isIncl": true
          },
          "inventoryTypeTargeting": {
            "types": [
              "BROWSER"
            ],
            "isIncl": true
          },
          "adTypeTargeting": {
            "types": [
              1
            ],
            "isIncl": true
          },
          "adSlotTargeting": {
            "slots": [
              14
            ],
            "isIncl": true
          }
        },
        "audiences": {
          "csidFilterExpression": "[[5ace5190-db24-4392-8c88-4042491bca2e,7740e4bb-1963-4ed5-b4e2-c4a69a716e2f]]"
        },
        "devices": {
          "osVersions": [
            3
          ],
          "deviceIdPresent": 1
        }
      }
    ],
    "dealFloorTolerance": "",
    "isActive": false,
    "targetKpis": [
      {
        "kpi": "vcr",
        "optimisationRule": "auto",
        "target": 70,
        "isPrimary": false
      }
    ],
    "tracking": {
      "viewabilityPartners": {
        "ias": {
          "enableIas": true,
          "useInmobiIasTag": true,
          "usePartnerAdvertiserIdIas": false,
          "iasExternalTags": []
        }
      }
    }
  }
}'

Sample Response

{
  "data": {
    "id": "4263509453",
    "message": "Created successfully"
  }
}

This response confirms that the deal was created successfully and provides the unique deal ID generated by the system.

Error Codes

For more information, see Error Codes.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 24 Mar, 2026

Get Deals List

Use the API to retrieve a paginated list of all deals associated with your organization. Supports optional filters by status, partner, or keyword search.

API Endpoint

GET https://apis.demand.ssp.inmobi.com/v1/deals

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Query Parameters

Field Name Type Is mandatory (Y/N)? Description
search String Optional Search by dealId, dealName, or seatId
status String Optional Filter by deal status: ACTIVE, PAUSED, EXPIRED, UPCOMING
partner String Optional Filter deals by partner name
pageNum Integer Optional (default = 1) Page number for pagination
numItems Integer Optional (default = 20) Number of items per page

You must include the standard headers: Authorization, X-USER-ID, and X-INMOBI-ORG-ID.

Sample Request

curl -X GET "https://apis.demand.ssp.inmobi.com/v1/deals" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json"

Sample Response

{
  "data": {
    "deals": [
      {
        "name": "testdeal1",
        "id": "4263509453",
        "seats": [
          {
            "id": "seat1"
          }
        ],
        "endDate": "2025-07-18T23:59:59",
        "status": "UPCOMING"
      },
      {
        "name": "testdeal2",
        "id": "4263509452",
        "seats": [
          {
            "id": "seat1"
          }
        ],
        "endDate": "2025-07-18T23:59:59",
        "status": "UPCOMING"
      }
    ]
  }
}

Error Codes

For more information, see Error Codes.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Get Deal by ID

Use the API to fetch the complete configuration of a specific deal using its unique ID.

API Endpoint

GET https://apis.demand.ssp.inmobi.com/v1/deals?deal_id=<deal_id>

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Query Parameters

Field Name Type Is mandatory (Y/N)? Description
deal_id String Y Unique identifier for the deal to fetch

All requests must include the headers: Authorization, X-USER-ID, and X-INMOBI-ORG-ID.

Sample Request

curl -X GET "https://apis.demand.ssp.inmobi.com/v1/deals?deal_id=4263509468" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json"

Sample Response

{
  "data": {
    "id": "4263509468",
    "name": "testdeal1",
    "seats": [
      {
        "id": "seat1"
      }
    ],
    "dspId": "cbab4104e7f14e2fbd2e21e96a8bf787",
    "dspName": "Aarki RTB",
    "startDate": "17/07/2025",
    "endDate": "18/07/2025",
    "dealType": "PREFERRED_DEAL",
    "dealFloor": 10,
    "dealFloorType": "STATIC",
    "dealFloorTolerance": "",
    "status": "UPCOMING",
    "isActive": false,
    "isDealSynced": false,
    "targeting": [
      {
        "targetingSegmentId": 30890,
        "geography": {
          "stateTargeting": {
            "states": [
              {
                "countryId": 128,
                "countryName": "Algeria",
                "stateIds": [
                  {
                    "id": 31207,
                    "name": "ADRAR"
                  }
                ]
              }
            ],
            "isIncl": true
          },
          "cityTargeting": {
            "cities": [
              {
                "countryId": 53,
                "countryName": "Germany",
                "cityIds": [
                  {
                    "id": 900611,
                    "name": "RHEINLAND-PFALZ - AACH"
                  }
                ]
              },
              {
                "countryId": 111,
                "countryName": "Belgium",
                "cityIds": [
                  {
                    "id": 49229,
                    "name": "OOST-VLAANDEREN - AALST"
                  },
                  {
                    "id": 49222,
                    "name": "VLAAMS-BRABANT - AARSCHOT"
                  }
                ]
              }
            ],
            "isIncl": true
          },
          "countryTargeting": {
            "countries": [
              {
                "id": 125,
                "name": "Afghanistan"
              }
            ],
            "isIncl": true
          }
        },
        "inventory": {
          "inventoryTypeTargeting": {
            "types": [
              {
                "id": "BROWSER",
                "name": "Browser"
              }
            ],
            "isIncl": true
          },
          "adTypeTargeting": {
            "types": [
              {
                "id": 1,
                "name": "Interstitial Video",
                "externalName": "Video"
              }
            ],
            "isIncl": true
          },
          "adSlotTargeting": {
            "slots": [
              {
                "id": 14,
                "name": "320x480"
              }
            ],
            "isIncl": true
          },
          "bundleTargeting": {
            "bundleIds": [
              "app/domain"
            ],
            "isIncl": true
          },
          "publisherTargeting": {
            "publishers": [
              "publisherwhitelist"
            ],
            "isIncl": true
          }
        },
        "audiences": {
          "csidFilterExpression": "[[5ace5190-db24-4392-8c88-4042491bca2e,7740e4bb-1963-4ed5-b4e2-c4a69a716e2f]]"
        },
        "devices": {
          "osVersions": [
            {
              "id": 3,
              "name": "Android"
            }
          ],
          "deviceIdPresent": 1
        }
      }
    ],
    "tracking": {
      "viewabilityPartners": {
        "ias": {
          "enableIas": true,
          "useInmobiIasTag": true,
          "usePartnerAdvertiserIdIas": false,
          "iasExternalTags": []
        }
      }
    },
    "margin": 20
  }
}

Error Codes

For more information, see Error Codes.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Update Deal

Use the API to update the details of an existing deal using its unique deal ID. You can modify attributes like end date, targeting, margins, floor price, and more.

API Endpoint

PUT https://apis.demand.ssp.inmobi.com/v1/deals

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

General

Field Name Type Is mandatory (Y/N)? Description
deal.id String Y Unique ID of the deal to update
deal.name String Y Name of the deal
deal.dspID String Y DSP ID
deal.startDate String (DateTime) Y Start date in DD/MM/YYYY HH:mm:ss format
deal.endDate String (DateTime) Y Start date in DD/MM/YYYY HH:mm:ss format
deal.dealType String Y Deal type, e.g., PREFERRED_DEAL
deal.dealFloor Number Y Floor price
deal.dealFloorType String Y STATIC or VARIABLE
deal.margin Number N Partner margin %
deal.dealFloorTolerance String N Allowed floor tolerance (if applicable)
deal.isActive Boolean N Deal status flag
deal.targeting[].targetingSegmentId Integer N ID of the targeting segment

Targeting

Field Name Type Is mandatory (Y/N)? Description
geography.countryTargeting.countries[] Integer[] N Country IDs
geography.stateTargeting.states[].stateIds[] Integer[] N State IDs
geography.cityTargeting.cities[].cityIds[] Integer[] N City IDs
inventory.inventoryTypeTargeting.types[] String[] N E.g., APP, BROWSER
inventory.adTypeTargeting.types[] Integer[] N E.g., 1 = Video
inventory.adSlotTargeting.slots[] Integer[] N Ad slot IDs
audiences.csidFilterExpression String N CSID expression
devices.osVersions[] Integer[] N OS version IDs
devices.deviceIdPresent Integer N 1 if device ID is required

KPIs & Tracking

Field Name Type Is mandatory (Y/N)? Description
targetKpis[].kpi String N KPI type, e.g., vcr
targetKpis[].optimisationRule String N Rule: auto, manual
targetKpis[].target Integer N Target value for KPI
tracking.viewabilityPartners.ias.* Various N IAS tracking configuration flags
tracking.billOnViewability Boolean N Billing logic based on viewability
tracking.additionalParameters.* Various N Misc flags like trueViewEnabled, verticalVideoOnly

Sample Request

curl -X PUT "https://apis.demand.ssp.inmobi.com/v1/deals" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json" \
-d '{
  "deal": {
    "id": "4263509468",
    "name": "testdeal1",
    "dspId": "cbab4104e7f14e2fbd2e21e96a8bf787",
    "seats": [
      {
        "id": "seat1"
      }
    ],
    "startDate": "17/07/2025 00:00:00",
    "endDate": "18/07/2025 23:59:59",
    "dealType": "PREFERRED_DEAL",
    "dealFloor": 10,
    "dealFloorType": "STATIC",
    "margin": 20,
    "targeting": [
      {
        "targetingSegmentId": 30890,
        "geography": {
          "stateTargeting": {
            "states": [
              {
                "stateIds": [
                  31207
                ]
              }
            ],
            "isIncl": true
          },
          "cityTargeting": {
            "cities": [
              {
                "countryId": 53,
                "cityIds": [
                  900611
                ]
              },
              {
                "countryId": 111,
                "cityIds": [
                  49229,
                  49222
                ]
              }
            ],
            "isIncl": true
          },
          "countryTargeting": {
            "countries": [
              125
            ],
            "isIncl": true
          }
        },
        "inventory": {
          "bundleTargeting": {
            "bundleIds": [
              "app/domain"
            ],
            "isIncl": true
          },
          "publisherTargeting": {
            "publishers": [
              "publisherwhitelist"
            ],
            "isIncl": true
          },
          "inventoryTypeTargeting": {
            "types": [
              "BROWSER"
            ],
            "isIncl": true
          },
          "adTypeTargeting": {
            "types": [
              1
            ],
            "isIncl": true
          },
          "adSlotTargeting": {
            "slots": [
              14
            ],
            "isIncl": true
          }
        },
        "audiences": {
          "csidFilterExpression": "[[5ace5190-db24-4392-8c88-4042491bca2e,7740e4bb-1963-4ed5-b4e2-c4a69a716e2f]]"
        },
        "devices": {
          "osVersions": [
            3
          ],
          "deviceIdPresent": 1
        }
      }
    ],
    "dealFloorTolerance": "",
    "isActive": false,
    "targetKpis": [
      {
        "kpi": "vcr",
        "optimisationRule": "auto",
        "target": 70,
        "isPrimary": false
      }
    ],
    "tracking": {
      "viewabilityPartners": {
        "ias": {
          "enableIas": true,
          "useInmobiIasTag": true,
          "usePartnerAdvertiserIdIas": false,
          "iasExternalTags": []
        }
      }
    }
  }
}'

Sample Response

{
  "data": {
    "id": "4263509468",
    "message": "Updated successfully"
  }
}

Error Codes

For more information, see Error Codes.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Overview

Welcome to the Monetization and Integration Guides, your central resource for setting up and scaling monetization with InMobi across environments. Whether you’re using InMobi as a demand source on a mediation platform or integrating it directly as a mediation layer, these guides are designed to help you go live with confidence.

These guides cover integrations across:

  • In-app (Audience Bidding)
  • Mobile Web
  • Connected TV (CTV)

They also walk you through key steps for real-time bidding setup, SDK integration, and yield partner configuration — ensuring a seamless monetization experience on the platform of your choice.

Integration Types

Depending on the platform and inventory type, InMobi supports two modes of integration:

  • SDK-Based Integration: Integrate InMobi’s SDK directly into your app to enable real-time ad rendering and monetization.
  • oRTB (Open Real-Time Bidding): Integrate via the oRTB protocol for real-time bidding and dynamic yield management, typically used for web and CTV environments.

Supported Ad Formats

Depending on the platform and environment, InMobi supports:

  • Banner
  • Interstitial
  • Rewarded Video
  • Native 
  • In-stream and Oustream Video

Partners

InMobi is now integrated with all the leading header bidding and mediation platforms, including:

Partner Integration type Inventory Supported Ad Formats Supported
Amazon Publisher Services (APS) OpenRTB In-App, Web

Mobile (In-App): Banner, Interstitial, Video (all formats), and Native.

Web: Banner, In-stream Video, and Native.

AppLovin MAX SDK In-App Banner, Interstitial, Rewarded Video, and Native.
DT FairBid SDK In-App Banner, Interstitial, and Rewarded Video
Google Ad Manager SDK In-App Banner, Interstitial, Native, and Rewarded Video
Google AdMob SDK In-App Banner, Interstitial, Rewarded Video, and Native
Google Open Bidding OpenRTB In-App, Web, CTV

Mobile App: Banner, Interstitial, Video (any format), and Native

Web: Banner, Instream and Outstream Video, and Native

Nimbus SDK In-App Banner, Interstitial, and Video (any format).
Prebid Plugin Renderer SDK In-App Banner, Native, and Video
Prebid Server OpenRTB In-App, Web

Banner, Native, Video (all formats)

Prebid.js OpenRTB In-App, Web Banner, Instream and Outstream Video, and Native
Publica OpenRTB CTV Video (VAST)
SpringServe OpenRTB CTV Video (VAST)
Unity SDK In-App Banner, Interstitial, and Rewarded Video
Unity LevelPlay SDK In-App Banner, Interstitial, and Rewarded Video

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 31 Oct, 2025

Amazon Publisher Services (APS)

Introduction

InMobi is available as a bidder on Amazon Publisher Services (APS) through Transparent Ad Marketplace (TAM) and Unified Ad Marketplace (UAM). This server-side integration uses the OpenRTB protocol and does not require SDK implementation. This setup enables seamless access to InMobi’s demand, offering an efficient, API-based monetization path for both mobile web and in-app inventory.

Requirements

To successfully integrate InMobi with APS, ensure you meet the following prerequisites:

  • InMobi Account: You must have an active account on the InMobi Publisher Dashboard to access inventory settings, reporting, and account configuration. For more information, see Create InMobi Account.
  • APS Account: You must have an active account on APS, either for in-app or web monetization.
  • Inventory Setup: Create ad placements in your InMobi Publisher Dashboard. The following environments are supported:
    • Mobile
    • Web
  • Supported Ad Formats
    • Mobile (In-App): Banner, Interstitial, Video (all formats), Native.
    • Web: Banner, In-stream Video, Native.

Configure InMobi Dashboard

Use the toggle below to view the differences in dashboard configuration across platforms.

Mobile

  1. Log in to the InMobi Publisher Dashboard.
  2. Navigate to Inventory &gt; Add Placement.
  3. Select App, and input your app store details.
  4. Set Child Compliance and Block Settings as needed.
  5. Select the ad format. 

  6. Create a new placement. Select Amazon TAM as a partner and switch on Audience Bidding. Enter the Tag ID and App ID from APS, in the respective fields. 

  7. Save the placement.

Web

  1. Log in to the InMobi Publisher Dashboard.
  2. Go to Inventory &gt; Add Placement.
  3. Select Website, and enter your domain details.
  4. Configure Child Compliance and Block Settings.
  5. Define ad units and supported formats.

  6. Create a new placement. Select Amazon TAM as a partner and switch on Audience Bidding. Select the “Is Fallback Placement” checkbox to create fallback placements as there is no TAG ID for web placements. 

  7. Save the placement.

Integrate with Amazon Publisher Services

Use the toggles below to view platform-specific integration instructions.

Note

For Mobile only:

  • Create only in-stream placements for any video ad type, including Interstitial and Rewarded Video. Creating placements with Interstitial/Rewarded Video ad units will only work for static ads. 
  • Every placement needs to have a unique TAG ID/Ad Slot Name. Do not create multiple placements with the same TAG ID/Ad Slot Name.  
  • Any APS requests hitting InMobi will come with the App ID and Tag ID/Ad Slot Name, based on which we identify the corresponding InMobi Placement ID.

Mobile

  1. Send connection request: Initiate a connection request with InMobi on the APS Dashboard or request your APS account manager to set the connection to "In-Progress". The request will appear on InMobi’s APS Partner Dashboard under Supply &gt; Publishers &gt; In-Progress
  2. Find App ID and Tag ID: For each placement, obtain the Tag ID/Ad Slot Name and App ID from your APS account. 
    • Go to Supply &gt; In-Progress &gt; Select the Publisher’s page &gt; 4. Slot mapping &gt; Download slot mapping. The downloaded file will contain Ad Slot Name, which is equal to TAG ID, and app ID/site ID, which is equal to app ID/site ID.
    • Map each Tag ID and App ID to the corresponding InMobi Placement ID and App ID. These IDs ensure correct request routing between APS and InMobi. 
  3. Update Account ID and ads.txt ID: Reach out to your InMobi Business Development Manager/Amazon Account Manager, or follow the steps below:
    • Under Step 1. Account Number and Ads.txt, click Edit and enter the Publisher ID and ads.txt ID.
    • You can find your InMobi details as shown below:
      • Account number = InMobi’s Account ID. You can find it in the top left corner under your Account's name. 
      • Ads.txt ID = InMobi Seller ID / Payment ID. You can find it in the Accounts Settings subtab under your email.

  4. Once the account is mapped and you are ready to go live, click Ready to Enable.
  5. Go to Supply Selection &gt; Pending Review under Apps and Sites to approve new apps and sites.  
Create Fallback Placement

Use fallback placements only for apps that have multiple placements.

  1. Create an Audience Bidding placement for Amazon TAM as shown in Configure InMobi Dashboard.
  2. Checking the box Is Fallback placement to create a fallback placement. Create only one fallback placement per app per placement type. A fallback placement doesn’t require a Tag ID.

Web

  1. Create one fallback placement per ad format (e.g., one for banner, one for in-stream video). InMobi will match incoming requests to these fallback placements. 
  2. No Tag ID is required for mobile web TAM traffic.
  3. Ensure InMobi is enabled in your APS dashboard to begin traffic delivery.

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 29 Sep, 2025

Delete Deal

Use the API to delete (expire) a deal from the InMobi platform using its unique ID. This action marks the deal as inactive and prevents it from being served.

API Endpoint

DELETE https://apis.demand.ssp.inmobi.com/v1/deals?deal_id=<deal_id>

Parameters

Headers

Field Name Type Is mandatory (Y/N)? Description
Authorization String Y Bearer token for authentication (Bearer <token>)
X-USER-ID String Y The ID of the user making the request
X-INMOBI-ORG-ID String Y The organization ID associated with the user
Content-Type String Y Specifies the media type of the request body. Use: application/json

Query Parameters

Field Name Type Is mandatory (Y/N)? Description
deal.id String Y The unique ID of the deal to be deleted.

Sample Request

curl -X DELETE "https://apis.demand.ssp.inmobi.com/v1/deals?deal_id=4263509453" \
-H "Authorization: Bearer <your bearer token>" \
-H "X-USER-ID: <test app>" \
-H "X-INMOBI-ORG-ID: <your org id>" \
-H "Content-Type: application/json"

Response

{
  "data": {
    "id": "4263509453",
    "message": "Deleted successfully"
  }
}

This confirms the deal was successfully marked as inactive and removed from active use.

Error Codes

For more information, see Error Codes.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

AppLovin MAX

Introduction

This guide covers integrating InMobi as a real-time bidder on MAX, AppLovin’s in-app header bidding platform. InMobi uses the oRTB protocol and renders ads via its SDK for Banner, Interstitial, Video, and Native formats. Ideal for gaming publishers, this SDK-based integration supports in-app environments only.

Prerequisites

Ensure the following before you get started with this integration:

  • An active InMobi account on the InMobi Publisher Platform to access inventory settings, reporting, and account configuration. For more information, see Create InMobi Account.
  • An active MAX account.
  • An integration with the MAX SDK and InMobi MAX adapter. Download for Android and iOS.
  • Supports in-app inventory.
  • Supports waterfall and bidding.
  • Ad Formats Supported: Banner, Interstitial, Rewarded Video, and Native.

Configure InMobi Placements

To get your account and inventory up and running on the InMobi Publisher Platform, follow the instructions below:

  1. Create an InMobi Account or log in to the InMobi Publisher Platform
  2. If you are adding apps and placements for the first time, see Add Your App or Website.

    To create placements for MAX:

    1. Search for the app or website you would like to create a placement for and click + Add a placement.
    2. Select an ad unit. For more information on our ad units, see Ad Units.
    3. Name your placement. Enable Audience Bidding and select AppLovin MAX from the Partner dropdown.
    4. Click Create Placements.

Add InMobi as a Bidder on MAX 

  1. On the MAX dashboard, go to MAX &gt; Manage &gt; Ad Units and select the ad unit where you want to enable InMobi.
  2. Enter the InMobi Account ID and Placement ID.
    • Find your InMobi account ID on the InMobi Publisher Platform under Finance &gt; Payment Settings &gt; Payment Information.

    • Find the InMobi Placement ID under the placement name.

For more details, see InMobi Integration Guide on MAX's documentation.

Integration Checklist for Native

  • Integrate the MAX SDK and the MAX-InMobi adapter. Native support for InMobi requires SDK version 10.1.0.1 (iOS) and 10.0.9.3 (Android).
  • Use the main image in your native ad to enable impression tracking. Impressions won't register without it.
  • We support a default image aspect ratio of 256:165 (~3:2). Let us know if you support other ratios.
  • Native ad templates supported on MAX include small, medium, and manual:
    • Small/medium are predefined templates.
    • Manual allows full customization to match your feed.

For more information, see the following links:

iOS: Integration Guide | Enabling Manual Native Ads | Enabling Small/Medium Template

Android: Integration Guide | Enabling Manual Native Ads | Enabling Small/Medium Template

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 15 Oct, 2025

Error Codes

Code Message Description
400 Invalid input such as missing IDs, invalid targeting fields
401 Unauthorized - invalid/missing user token or user ID
404 Deal or page not found
406 Invalid deal name format
500 Internal server/database fetch failure

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

CloudX

Introduction

CloudX is an in-app mediation platform that enables publishers to monetize their inventory through real-time bidding and SDK-based integrations. This guide explains how to integrate InMobi with CloudX for Android and iOS applications using the InMobi SDK.

This integration supports global in-app inventory and key ad formats, including Banner, Interstitial, Native(upcoming), and Rewarded ads.

Requirements

Before starting the integration, ensure you have the following:

  • An active account on the InMobi Publisher Platform. For more information, see Create InMobi Account.
  • Access to the CloudX dashboard.
  • Your app already added to the InMobi Publisher Platform dashboard. If you are adding app inventory for the first time, see Add Your App or Website.
  • Placements created for the required ad formats. If you are adding placements for the first time, see Create Placements and Ad Units.
  • Supported Ad Formats
    • Banner
    • Interstitial
    • Rewarded
    • Native (in progress)

Configure InMobi Dashboard

  1. Log in to the InMobi Publisher Dashboard.
  2. Search the app you would like to create a placement for and click + Add a placement.

  3. Select the ad unit type for which you want to create a placement.

  4. Add Placement Details. Switch on Audience Bidding and select CloudX from the Partner dropdown.  

  5. Click Create Placement.

Integrate with CloudX

Before you add InMobi to the CloudX dashboard, ensure you have the following:

  • InMobi Account ID: You can find it in the top left corner under your Account's name. 

  • Placement ID: The InMobi Placement ID is present under the placement name. 

  • Integrate the CloudX SDK using the platform guides for Android and iOS, and meet the InMobi Adapter requirements for iOS.
  • Follow the steps in the InMobi Network guide to configure InMobi bidding in CloudX. 

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 01 Jun, 2026

DT FairBid

Introduction

This guide outlines how to integrate InMobi as a real-time bidder on DT FairBid, Digital Turbine’s mediation platform. InMobi connects via the oRTB protocol and renders Banner, Interstitial, and Video ads using its SDK. Ideal for global in-app publishers across gaming and non-gaming verticals.

Prerequisites

Ensure the following before you get started with this integration:

  • An active InMobi account on the InMobi Publisher Platform to access inventory settings, reporting, and account configuration. For more information, see Create InMobi Account.
  • An active DT Fairbid account.
  • An integration with the DT Fairbid SDK and InMobi SDK and adapter. Download the latest SDK versions here. To integrate the InMobi SDK, follow the instructions on the Supported Networks page.
  • Supports in-app inventory.
  • Supports waterfall and bidding.
  • Ad Formats Supported: Banner, Interstitial, Rewarded Video.

Configure

To get your account and inventory up and running on the InMobi Publisher Dashboard, follow the instructions below:

  1. Create an InMobi Account or log in to the InMobi Publisher Dashboard
  2. If you are adding apps and placements for the first time, see Add Your App or Website.

    To create placements for DT FairBid:

    1. Search for the app you would like to create a placement for and click + Add a placement.
    2. Select an ad unit. For more information on our ad units, see Ad Units.
    3. Name your placement. Enable Audience Bidding and select DT Fairbid from the Partner dropdown.
    4. Click Create Placements.

The InMobi Placement ID is present under the placement name. You will need it while configuring InMobi placements on the DT Console.

Add InMobi As a Mediated Network on DT Console

Before adding InMobi as a mediated network to DT Fairbid, ensure you:

  • Retrieve your InMobi Account ID and API key.
    • Find your InMobi Account ID on the InMobi Publisher Platform under Finance &gt; Payment Settings &gt; Payment Information.

    • To locate your InMobi Reporting API key:
      • Go to My Account &gt; Account Settings. Navigate to the API Key tab and click Generate API Key.

      • Select the email of the user that requires the key, and click Generate API Key. A file containing the API key and username/login name will be generated.
  • Add your App using the DT Console.
  • Set up a DT Placement for each InMobi ad type you want to mediate with DT.

Once done, follow the steps below:

  1. Log in to the DT Console, and click App Management.
  2. Set up InMobi or InMobi bidder as a mediated network using your InMobi Account ID and API Key.

  3. Set up an ad network instance for each ad type you want to mediate with DT. Use the InMobi Placement ID for the Instance ID.

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 15 Oct, 2025

Google Ad Manager

Introduction

Integrate InMobi with Google SDK Bidding on Google Ad Manager using a direct supply path for better signal collection and ad rendering. This setup supports Banner, Interstitial, Native, and Rewarded Video formats across gaming and non-gaming apps. It enables hybrid monetization without custom adapters or changes to your existing waterfall.

Prerequisites

Ensure you have the following before you begin the integration:

  • An InMobi account
  • An active Google Ad Manager account
  • Signed contract with InMobi
  • Integration with InMobi adapters and SDK. We recommend using the latest versions. Download for Android and iOS
  • Formats supported: Banner, Interstitial, Native, and Rewarded Video
  • Supports in-app inventory
  • Supports both waterfall and bidding 
  • For non-SDK integration, see Google Open Bidding

Note

Google manages payment and billing for SDK Bidding on Ad Manager. For payment, billing, or reporting information, please refer to the Google dashboard.

Configure InMobi

Bidding

To set up your account and inventory on the InMobi Publisher Dashboard, follow these steps. 

  1. Sign up or log in to your InMobi Supply Side Platform account.
  2. Add your apps by following the steps outlined in Add inventory
  3. Create new placements as follows:
    1. Search for the app you want to create a placement for and click + Add a placement.
    2. Select an ad unit.

    3. Name your placement and enable Audience Bidding. Select Google SDK Bidding from the Partner dropdown. Click Create Placements.

Waterfall

To set up your account and inventory on the InMobi Publisher Dashboard, follow these steps. 

  1. Sign up or log in to your InMobi Supply Side Platform account.
  2. Add your apps by following the steps outlined in Add inventory
  3. Create new placements as follows:
    1. Search for the app you want to create a placement for and click + Add a placement.
    2. Select an ad unit.

    3. Name your placement and select Off for Audience Bidding. Click Create Placements.

Add InMobi as a Bidder on Google Ad Manager

Bidding

  1. Navigate to Delivery &gt; Bidders &gt; SDK Bidding.
  2. Review and accept the SDK Bidding terms.
  3. Configure InMobi as an SDK Bidding bidder.
  4. Activate all secure signals to share with InMobi. This is mandatory as ad requests will fail if secure signals are not enabled. For more information, see Share secure signals with bidders.
  5. Use the corresponding InMobi Account ID and Placement ID to complete ad unit mapping.
    • Your InMobi Account ID is available under Finance &gt; Payment Settings &gt; Business Information.

    • Find the InMobi Placement ID under the placement name.

Waterfall

  1. Navigate to Admin &gt; Companies, click New company in the All companies tab. Select Ad network.
  2. Select InMobi as the Ad network, enter a unique Name and enable Mediation.
  3. Turn on Automatic data collection, and enter the Username and API Key.
    • To locate your InMobi Reporting API key:
      • Go to My Account &gt; Account Settings. Navigate to the API Key tab and click Generate API Key.

      • Select the email of the user the key is required for and click Generate API Key. A file containing the API key and username/login name will be generated.
  4. Next, enter your Username and click Save when done.
Configure Ad Unit Mapping
  1. Navigate to Delivery &gt; Yield groups and click New yield group. Select your Mobile application.
  2. Scroll down and click Add yield partner.
  3. Select the Company you created for InMobi. Choose Mobile SDK mediation as the Integration type, Android/iOS as the Platform, and Active as the Status.
  4. Enter your InMobi Account ID and Placement ID, and the Default CPM value. Click Save.
    • Your InMobi Account ID is available under Finance &gt; Payment Settings &gt; Business Information.

    • Find the InMobi Placement ID under the placement name.

Test Your Integration

Once you have completed your setup on Google Ad Manager, we recommend you test your integration to ensure seamless functioning.

To test your integration, see Verify your SDK Bidding setup.

To verify your SDK bidding setup, see Verify your SDK Bidding setup.

For Google Ad Manager docs, see Integrate InMobi with mediation for iOS and Android

Import InMobi SDK and Adapter

After setting up InMobi on the SSP and adding it as a bidder in GAM, import the InMobi SDK and adapter.

Additional Instructions for GDPR

Follow the additional instructions below about GDPR settings on your Google dashboard for higher monetization results. The following configuration applies to traffic from European Economic Area and publishers using AdMob/GAM CMP for GDPR consent purposes. Google CMP provides two ways of adding ad partners on their AdMob/GAM platform:

  • Commonly used ad partners
  • Custom ad partners

InMobi is not part of ‘Commonly used ad partners’ by default, and you must add it manually by selecting Custom ad partners.

Follow the instructions below to enable InMobi under Custom ad partners on your Google dashboard.

  1. On the Google Dashboard, select Privacy & messaging GDPR Settings Review your ad partners.
  2. Select Custom ad partners and then InMobi from the list and save the settings.

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 09 Feb, 2026

Google AdMob

Introduction

This guide explains how to integrate InMobi with Google SDK Bidding on AdMob. It uses a direct supply path for better signal collection and ad rendering, supporting Banner, Interstitial, Native, and Rewarded Video formats. 

Prerequisites

Ensure you have the following before you begin the integration:

  • An InMobi account
  • An active Google AdMob account
  • Signed contract with InMobi
  • Integration with InMobi adapters and SDK. We recommend using the latest versions. Download for Android and iOS
  • Formats supported: Banner, Interstitial, Rewarded Video, and Native
  • Supports in-app inventory only
  • Supports both waterfall and bidding 
  • For non-SDK integration, see Google Open Bidding

Note

Google manages payment and billing for SDK Bidding on AdMob. For payment, billing, or reporting information, refer to the Google dashboard.

Configure InMobi

Follow these steps to set up your account and inventory on the InMobi Publisher Dashboard.

Bidding

  1. Sign up or log in to your InMobi Supply Side Platform account.
  2. Add your apps by following the steps outlined in Add inventory
  3. Create new placements as follows:
    1. Search for the app you want to create a placement for and click + Add a placement.
    2. Select an ad unit.

    3. Name your placement and enable Audience Bidding. Select Google SDK Bidding from the Partner dropdown. Click Create Placements.

Waterfall

  1. Sign up or log in to your InMobi Supply Side Platform account.
  2. Add your apps by following the steps outlined in Add inventory
  3. Create new placements as follows:
    1. Search for the app you want to create a placement for and click + Add a placement.
    2. Select an ad unit.

    3. Name your placement and select Off from the Audience Bidding dropdown. Click Create Placements.

Add InMobi as an Ad Source on Google AdMob

Bidding

  1. Navigate to Mediation &gt;&gt; Bidding sources &gt;&gt; Set up ad sources.
  2. Review and accept the SDK Bidding terms.
  3. Configure InMobi (SDK) as a new ad source. Do not select InMobi Exchange, as it is only applicable for Google Open Bidding and not Google SDK Bidding.
  4. Activate all secure signals to share with InMobi SDK. This is mandatory as ad requests will fail if secure signals are not enabled. For more information, see About secure signals.
  5. Use the corresponding InMobi Account ID and Placement ID to complete ad unit mapping.
    • Your InMobi Account ID is available under Finance &gt; Payment Settings &gt; Business Information.

    • Find the InMobi Placement ID under the placement name.

For troubleshooting, see Get started & troubleshoot partner bidding.

For Google AdMob docs, see Integrate InMobi with mediation for iOS and Android

Waterfall

  1. Under the Waterfall card in the Ad Sources section, select Add Ad Source.
  2. Select InMobi and enable the Optimize switch. Enter the Username and API Key to set up ad source optimization for InMobi.
    • To locate your InMobi Reporting API key:
      • Go to My Account &gt; Account Settings. Navigate to the API Key tab and click Generate API Key.

      • Select the email of the user the key is required for and click Generate API Key. A file containing the API key and username/login name will be generated.
  3. Then enter an eCPM value for InMobi and click Continue.
Configure Ad Unit Mapping
  1. If you already have a mapping for InMobi, you can select it. Otherwise, click Add mapping.
  2. Next, enter your InMobi Account ID and Placement ID. Click Done.
    • Your InMobi Account ID is available under Finance &gt; Payment Settings &gt; Business Information.

    • Find the InMobi Placement ID under the placement name.

Test Your Integration

To ensure AdMob SDK relays the ad request to InMobi for testing, you can do the following on your AdMob dashboard.

  1. Set manual Ad network optimization for every network, including AdMob. Uncheck the Ad network optimization checkbox.
  2. Set manual eCPM floors for all networks, keeping the eCPM floor for InMobi higher than other networks. This will ensure that the ad request gets relayed to InMobi for testing. 

Import InMobi SDK and Adapter

After setting up InMobi on the SSP and adding it as an ad source in AdMob, import the InMobi SDK and adapter.

Additional Instructions for GDPR

Follow the additional instructions below about GDPR settings on your Google dashboard for higher monetization results. The following configuration applies to traffic from European Economic Area and publishers using AdMob/GAM CMP for GDPR consent purposes. Google CMP provides two ways of adding ad partners on their AdMob/GAM platform:

  • Commonly used ad partners
  • Custom ad partners

InMobi is not part of ‘Commonly used ad partners’ by default, and you must add it manually by selecting Custom ad partners.

Follow the instructions below to enable InMobi under Custom ad partners on your Google dashboard.

  1. On the Google Dashboard, select Privacy & messaging GDPR Settings Review your ad partners.
  2. Select Custom ad partners and then InMobi from the list and save the settings.

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 15 Oct, 2025

Google Open Bidding

Introduction

InMobi is a certified bidder on Google Open Bidding (GOB), supporting integration via both Google Ad Manager (GAM) and AdMob across in-app, web, and CTV inventory. This server-side integration uses the OpenRTB protocol and does not require an SDK.

Requirements

To successfully integrate InMobi with Google Open Bidding, ensure you meet the following prerequisites:

  • Active account on GAM or AdMob for Mobile App and GAM 360, Google AdX, and GAM SMB (with CTA/Click to Accept feature only) for Web.
  • App-ads.txt / ads.txt setup (recommended).
  • Supported Ad Formats:
    • Mobile App: Banner, Video (any format), and Native
    • Web: Banner, Instream and Outstream Video, and Native
  • For SDK-based integrations, see Google AdMob and Google Ad Manager.

Configure Google Console

After setting up your InMobi account, you must enable InMobi on your Google dashboard and start sending us traffic. Use the toggles below to view platform-specific integration instructions.

Note

To complete the Google Open Bidding setup, you must view and sign the partnership agreement, fill out the onboarding form, and acknowledge the bidding agreement.

If you already have an InMobi account, you won’t need to fill out the onboarding form again. Instead, you will see a message indicating that an account already exists. This is based on the Google Publisher ID passed by Google, which InMobi uses to identify existing accounts.

Note

All payments and billing-related communication will be made to the intermediary - Google Open Bidding. Contact your intermediary for all billing/payment-related queries.

App

The following steps are common for both Mobile App and CTV inventory.

For GAM
  1. Sign in to your GAM account.
  2. Click Delivery &gt; Bidders &gt; Open Bidding and select InMobi
  3. Click Go to onboard page to set up InMobi account.

  4. Fill up the InMobi onboarding form. This will send a request to InMobi on the Google Request Console. For details, see Integration Request Approval.

Add Yield Partner
  1. In the top menu, click Delivery &gt; Bidders.
  2. Click Go to Open Bidding, then select New bidder.
  3. Click Select a bidder, then choose InMobi from the dropdown.
  4. Depending on if you're an Ad Manager 360 or non-Ad Manager 360 publisher, complete one of the following:
    • For Ad Manager 360 publishers:
      • Click Acknowledge to send an Open Bidding request to InMobi.
      • Confirm that you have an existing contractual agreement with InMobi.After saving, a notification is sent to us to confirm your participation.
      • We will also need to add your network to our pretargeting setup.
    • For non-Ad Manager 360 publishers:
      • Click Onboard online now.
      • Agree to the partnership agreement by selecting Yes, I agree and provide your 16-digit Publisher ID.
      • You will be redirected to the bidder’s website to complete the agreement.
      • After completing the process, return to Google Ad Manager and click Continue.

For more information, see Create and manage yield partners.

Add Yield Group
  1. In the top menu, click Delivery &gt; Yield groups.
  2. Click New yield group to begin setup.
  3. Enter a descriptive and unique name for the yield group.
  4. Select the Ad format and Inventory type the yield group should target.
  5. Optional: Use device, OS, or geo targeting to fine-tune the scope of your yield group.
  6. Define where in your inventory the yield group should compete.
  7. Optional: Add third-party yield partners who will compete for impressions within this group.
  8. Click Save to save the group without activating it yet. Click Save and activate to immediately begin using the yield group for ad delivery.

For more information, see Create and manage yield groups.

In AdMob

  1. Sign in to your AdMob account.
  2. Click Mediation &gt; Set up ad source and select InMobi Exchange. Do not select InMobi(SDK) as it only applicable for Google SDK Bidding and not Google Open Bidding.

  3. View and sign the partnership agreement. You will be redirected to the Onboarding form.

  4. Create an InMobi account if you don't have one. If you already have an InMobi account, you’ll see a message indicating this; no need to fill out the onboarding form again.

  5. After filling up the form, you will be redirected back to the AdMob dashboard. Click Acknowledge & agree to add InMobi as a bidder.

For more information, see Set up a bidding ad source.

Web

  1. Sign in to your GAM account.
  2. Add InMobi as a yield partner/bidder for Open Bidding.

  3. Create Yield Groups by ad format and inventory type. Add InMobi to these groups.

For more information, see Create and manage yield partners.

For more information, see Introduction to Open Bidding.

Integration Request Approval

Since Open Bidding does not require an SDK integration, InMobi must approve your request before going live. Once your setup is complete, share your Google Publisher ID with your InMobi Customer Success Manager or email googlebidding@inmobi.com.

Note

Contact InMobi for approval only after completing your setup. Approval activates ad requests, and incomplete setups will result in failed ad responses. If your status shows as Rejected, it can be reversed. This is not permanent and may be due to previous manual clean-ups of pending requests.

Configure InMobi Dashboard

Use the toggle below to view the differences in dashboard configuration across platforms.

Note

All payments and billing-related communication will be made to the intermediary - Google Open Bidding. Please contact your intermediary for all billing/payment-related queries.

App

The following steps are common for both Mobile App and CTV inventory.

  1. Log in to the InMobi Publisher Dashboard.
  2. Navigate to Inventory &gt; Add Inventory &gt; Mobile App.

  3. To register your published or unpublished app, see Add Your App/Website
  4. To create placements specifically for Google Open Bidding for newly added or existing apps, follow these steps:
    • Search for the app or website on which you want to create a placement and click + Add a placement.

    • Select the ad unit. For more information about ad unit types, see Ad Units.

    • Enter Placement details. Select On from the Audience Bidding and select Google Open Bidding from the Partner dropdown. Create only one placement per ad format. If you don't see Google Open Bidding in the Partner dropdown, then your setup is incomplete or incorrect.

  5. Save the placement.

Web

  1. Log in to the InMobi Publisher Dashboard.
  2. Navigate to Inventory &gt; Add Inventory &gt; Mobile Website.

  3. To register your published or unpublished app, see Add Your App/Website
  4. Set Child Compliance and Block settings.
  5. To create placements specifically for Google Open Bidding for newly added or existing apps, follow these steps:
    • Search for the app or website on which you want to create a placement and click + Add a placement.

    • Select the ad unit. For more information about ad unit types, see Ad Units.

    • Enter Placement details. Select On from the Audience Bidding and select Google Open Bidding from the Partner dropdown. Create only one placement per ad format.

  6. Save the placement.
Add Ads.txt Entries
  1. Navigate to Inventory &gt; ads.txt.
  2. Scroll down and download the ads.txt file.

  3. Append entries to your ads.txt file.

Additional Instructions for GDPR

Follow the additional instructions below about GDPR settings on your Google dashboard for higher monetization results. This configuration applies to traffic from European Economic Area (EEA) and publishers using AdMob/GAM CMP for GDPR consent purposes. Google CMP provides two ways of adding ad partners on their AdMob/GAM platform:

  • Commonly used ad partners
  • Custom ad partners

Note

InMobi is not part of ‘Commonly used ad partners’ by default, and you must add it manually by selecting Custom ad partners.

Follow the instructions below to enable InMobi under Custom ad partners on your Google dashboard.

  1. On the Google Dashboard, select Privacy & messaging GDPR Settings Review your ad partners.
  2. Select Custom ad partners and then InMobi from the list and save the setting.

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 15 Oct, 2025

Nimbus

Introduction

This topic explains how to integrate InMobi as a real-time bidder on Nimbus. InMobi connects via the OpenRTB (oRTB) protocol and uses the InMobi SDK to render ads when it wins an auction.

Prerequisites

Before you begin, ensure that you have the following:

  • An active Nimbus account.
  • A signed contract with InMobi.
  • Minimum Nimbus SDK versions:
    • iOS: 2.31.0
    • Android: 2.34.0
  • Supported ad formats: Banner, Interstitial, and Video (any format).

Note

If the InMobi SDK is already integrated in your app, ensure that you link the same InMobi account ID with Nimbus. InMobi does not allow using multiple account IDs within the same app.

Configure

To set up your account and inventory on the InMobi Publisher Dashboard, follow these steps:

  1. Create an InMobi Account or log in to the InMobi Publisher Dashboard.
  2. Create Placements for Nimbus following the instructions below:

    Note

    If you are adding apps and placements for the first time, see Add Your App or Website.

    1. Search for the app you want to create a placement for and click + Add a placement.
    2. Select an ad unit. For more information on our Ad units, see Ad Units.
    3. Name your placement.
    4. Enable Audience Bidding and select Nimbus from the Partner dropdown.

    5. Click Create Placements. The InMobi Placement ID appears under the placement name. You will need this ID when configuring InMobi placements on the Nimbus Console.

Add InMobi to the Nimbus Console

Use the following Nimbus documentation links to complete the integration:

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 30 Oct, 2025

Prebid Plugin Renderer

Introduction

This topic describes how to integrate the InMobi SDK rendering plugin with Prebid SDK and Prebid Server. For more information about Prebid Plugin Renderers and how this setup works, see Prebid Plugin Renderer (Header Bidding).

Set up placements

  1. If you do not already have an InMobi publisher account, create one.
  2. After you create your account, set up your apps in the InMobi dashboard.
  3. Under each app, create placements with Audience bidding enabled.
  4. Select Prebid as the audience bidding partner.
  5. From your Prebid Server, pass the placement ID to InMobi using the plc key. For more information, see InMobi for Header Bidding.

Android integration

Prerequisites

  • Minimum InMobi SDK version: 10.8.2.
  • Currently supported only on Android (Beta)

Step 1: Add dependencies

In your app’s build.gradle file, add the following:

implementation "com.inmobi.monetization:inmobi-prebid-adapter:10.8.2.0"
implementation "com.inmobi.monetization:inmobi-ads-kotlin:10.8.2"

Step 2: Register the InMobi plugin renderer

Before initializing Prebid SDK, register the InMobi renderer:

PrebidMobile.registerPluginRenderer(
    InMobiRenderer.getInstance(
        this,
        new InMobiMediationConfiguration("<<account_id>>", 
            new InMobiRendererInitListener() {
                @Override
                public void onInitCompleted(@Nullable Error error) {
                    System.out.println("InMobi SDK initialized");
                }
            }
        )
    )
);

Note

If your app already uses InMobi SDK through another mediation, you must provide the same account ID.

Rendering behavior

  • Once the InMobi plugin renderer is registered, Prebid SDK delegates rendering of InMobi demand to the InMobi SDK.
  • Other demand continues to be rendered by the Prebid SDK.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 24 Dec, 2025

Prebid Server

Introduction

This topic provides a unified approach to integrating InMobi with Prebid Server across both mobile (in-app) and web platforms. It outlines the requirements, integration steps, and partner dashboard configurations necessary to enable header bidding through Prebid Server with InMobi demand. Whether you're working with a mobile app, mobile web, or desktop web environment, this guide will walk you through the complete integration process.

Requirements

To successfully integrate InMobi with Prebid Server, ensure you meet the following prerequisites:

  • InMobi Account: You must have an active account on the InMobi Publisher Dashboard to access inventory settings, reporting, and account configuration. For more information, see Create InMobi Account.
  • Prebid Account: You must have an active account on Prebid.
  • Inventory Setup: Create ad placements in your InMobi Publisher Dashboard. The following environments are supported:
    • Mobile
    • Web
  • Auction Type Support:
    • Mobile (In-App): Supports in-app header bidding (audience bidding via Prebid Server).
    • Web: Supports client-side and server-side header bidding.

Integrate

Use the toggles below to view platform-specific integration instructions.

Mobile

  1. Ensure your app includes the required InMobi SDK version. For more information on the InMobi SDK, see Download SDK.
  2. Configure your mediation platform to support server-side bidding via Prebid Server.
  3. In Prebid Server, add the InMobi bidder module to your configuration.
  4. Pass the appId and placement ID in the request payload.
  5. Ensure GDPR/CCPA consent strings are passed if applicable.

Web

  1. Include the Prebid.js library on your page with the InMobi bidder module enabled.
  2. Define your ad units and set bidder: 'inmobi' with the required parameters:
    {
      code: 'ad-slot-1',
      mediaTypes: { banner: { sizes: [[300, 250]] }},
      bids: [{
        bidder: 'inmobi',
        params: {
          placementId: '<PLACEMENT_ID>',
          publisherId: '<PUBLISHER_ID>',
          tagId: '<TAG_ID>',
        }
      }]
    }
    
  3. Initialize the Prebid auction and configure the ad server (e.g., Google Ad Manager).
  4. Include user sync and consent handling in compliance with privacy regulations.

Configure Dashboard

Use the toggle below to view the differences in dashboard configuration across platforms.

Mobile

  1. Log in to the InMobi Publisher Dashboard.
  2. Navigate to Inventory &gt; Add Placement.
  3. Select App, and input your app store details.
  4. Choose the ad format (banner, interstitial, etc.) and save the placement.
  5. Note the Placement ID and Account ID for use in your Prebid configuration.

Web

  1. Go to Inventory &gt; Add Placement.
  2. Select Site, and enter your domain details.
  3. Define ad units and supported formats.
  4. Retrieve the Placement ID and ensure it's mapped correctly in your Prebid.js setup.

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 15 Oct, 2025

Prebid.js

Introduction

InMobi provides a transparent bidding adapter for Prebid.js (client-side integration) and Prebid Server (server-to-server integration). As a Prebid-approved bidder, InMobi continuously updates its adapter with new features and enhancements.

Prerequisites

Configure InMobi for Prebid.js

  1. Create an InMobi Account: Sign up for an InMobi Supply Side Platform (SSP) account. For more information, see Create InMobi Account. If you already have an InMobi account, use the same credentials to monetize your web properties.
  2. Add Your Website: Add your website(s) to the InMobi platform. For more information, see Add Inventory.
  3. Create Placements:
    1. Search for the website where you want to create a placement.
    2. Click +Add a Placement.
    3. Select the ad unit (e.g., Banner, Video, or Native).
    4. Name your placement.
    5. Enable Audience Bidding by turning the toggle ON.
    6. From the Partner dropdown, select Prebid.
    7. Click Create Placements.

Note

For each website, create at least one placement per ad unit (Banner, Video, and Native).

Add InMobi to Your Prebid Setup

To configure InMobi in your Prebid.js setup:

  1. Add the InMobi Placement ID to your Prebid adapter configuration. For implementation details and sample code, see the InMobi Bidder Page on Prebid.org.

  2. Map the InMobi Placement ID to the corresponding ad format and website in your Prebid.js configuration. Start sending requests from your Prebid.js setup to InMobi.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 15 Oct, 2025

Publica

Introduction

Publica integration is the process of connecting your CTV inventory with the Publica platform, which is a CTV ad server designed to help publishers manage and monetize their video ad inventory. This guide provides step-by-step instructions for connecting your CTV inventory with InMobi via Publica. It lets publishers streamline their CTV ad operations and maximize yield by connecting with demand partners and managing ad decision-making in a flexible and transparent way.

Prerequisites

Before starting the integration, ensure you have:

  • Create an InMobi account if you don't have one.
  • A Publica account
  • Access to the Publica dashboard

Configure InMobi

To set up your account and inventory on the InMobi Publisher Dashboard, follow these steps:

  1. Sign up or log in to your InMobi Supply Side Platform account. 
  2. Add your CTV Apps by following the steps outlined in Add inventory
  3. Create new placements as follows:
    1. Search for the CTV app you want to create a placement for and click + Add a placement.
    2. Select an ad unit.

    3. Name your placement and choose to enable Audience Bidding by turning the toggle on. Select Custom Mediation from the Partner dropdown. Click Create Placements.

Add InMobi to the Publica Dashboard

To map the InMobi placements,

  1. Find the InMobi Placement ID under the placement name.
  2. Enter the InMobi placement ID with the corresponding ad formats and websites in your Publica dashboard.

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 15 Oct, 2025

SpringServe

Introduction

SpringServe integration is the process of connecting your CTV inventory with the SpringServe platform, which is a CTV ad server designed to help publishers manage and monetize their video ad inventory. 

Prerequisites

Before starting the integration, ensure you have:

  • An active InMobi account
  • A SpringServe account
  • Access to the SpringServe dashboard

Configure InMobi

To set up your account and inventory on the InMobi Publisher Dashboard, follow these steps:

  1. Sign up or log in to your InMobi Supply Side Platform account. 
  2. Add your CTV Apps by following the steps outlined in Add inventory
  3. Create new placements as follows:
    1. Search for the CTV app you want to create a placement for and click + Add a placement.
    2. Select an ad unit.

    3. Name your placement and select On from the Audience Bidding dropdown. Select SpringServe from the Partner dropdown.

    4. Click Create Placements.

Add InMobi to the SpringServe Dashboard

To map the InMobi placements,

  1. Log in to your SpringServe dashboard.
  2. Create a Demand Tag.
  3. Set the Demand Source as InMobi.
  4. Find the InMobi Placement ID under the placement name.
  5. Enter the InMobi placement ID with the corresponding ad formats and channel in your SpringServe dashboard.

Note

Ensure the ad type (e.g., VAST video) and targeting parameters (app/channel name, duration, position) match what’s set on the InMobi dashboard.

For further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 15 Oct, 2025

Unity

Integrating InMobi SDK with Unity is easy.

You can get the following ad types from InMobi via the Unity plugin on both Android and iOS apps:

  • Banner Ads
  • Interstitial (Static Interstitial and Full-screen Video Ads)
  • Rewarded Video Ads

You require the following to run the latest version of the Unity plugin:

  • Unity 5 or later
  • To deploy on iOS - Xcode 12.0 and later, iOS 12 and later, InMobi iOS SDK 9.2.1 or later
  • To deploy on Android - Android OS version 4.1 (API level 16) and later, InMobi Android SDK 9.2.1 or later
SDK Version

iOS - 10.0.1

Android - 10.0.1

Size

iOS - 692 KB (.IPA Inflation)

Android - 375.341 KB (.APK Inflation)

Plugins

Unity Package for SDK 10.8.8 or later

Adding the Plugin to your App

  1. Open your project in the Unity editor.
  2. Select Assets Import Package Custom Package, and search for the InMobiAdsUnityPlugin.unitypackage file you downloaded.

  3. Make sure all the files are selected, and then click Import.

Running your Project

  • iOS:
    • Navigate to File Build Settings, select the iOS platform, and select Build to export an Xcode project and a corresponding CocoaPods xcworkspace.
    • Open up the exported xcworkspace, and then navigate to Product Run in Xcode to run your project.
  • Android:
    • Navigate to File Build Settings, select the Android platform, and then select Build and Run.

Unity Plugin API

You can use the common C# API in the InMobi Ads plugin to request banner, interstitial, and rewarded video ads. The code can be written once and deployed to both Android and iOS.

Providing Demographics Data

There are multiple APIs provided in InMobiPlugin Class to pass on Demographic information to InMobi SDK which helps us in better ad targeting.

Some of them are as follows:

//Set Age
public void SetAge(int age){
inmobiPluginClient.SetAge (age);
}
//Set PostalCode
public void SetPostalCode(string postalCode){
inmobiPluginClient.SetPostalCode (postalCode);
}
//Set Year of Birth
public void SetYearOfBirth(int yearOfBirth){
inmobiPluginClient.SetYearOfBirth (yearOfBirth);
}
//Set Gender GENDER_MALE or GENDER_FEMALE
public void SetGender(string gender){
inmobiPluginClient.SetGender (gender);
}

Initializing the InMobi SDK

You can use the InMobiPlugin Class to initialize the InMobi SDK. Account Id is required to initialize the InMobi SDK.

Here is the sample code to initialize the InMobi SDK:

private void initializeInMobiAds () {

//Account id used here is test account id   

InMobiPlugin inmobiPlugin = new InMobiPlugin(); 
    
    inmobiPlugin.OnInitializationCompleted += this.HandleInitializationStatus; 
    
    Dictionary<string, object=""> consentObject = new Dictionary<string, object="">(); 

#if UNITY_ANDROID 

consentObject.Add(InMobiPlugin.IM_GDPR_CONSENT_AVAILABLE, true); 

#elif (UNITY_5 && UNITY_IOS) || UNITY_IPHONE 

    consentObject.Add(InMobiPlugin.IM_GDPR_CONSENT_AVAILABLE, “true”); 
#endif 

    consentObject.Add(InMobiPlugin.IM_GDPR_CONSENT_IAB, "IAB_STRING"); 
    inmobiPlugin.Init("4028cb8b2c3a0b45012c406824e800ba", consentObject); 
}  
 
public void HandleInitializationStatus (object sender, SdkInitializationStatusArgs args) { 

Debug.Log("SDK Initialization status code : " + args.status.Code + " and reason : " + 
        args.status.Reason); 
}

Let’s understand a few things here before you proceed:

What is a consentObject? - A consentObject is a dictionary representation of all kinds of consent provided by the publisher to the SDK. The key is mandatory if you wish to monetize traffic from EEA region. You can read further on GDPR regulations here.

Key Type Inference
gdpr_consent String A consent string is a series of numbers, which identifies the consent status of an Adtech Vendor.
The string must follow the IAB contracts as mentioned here.
gdpr_consent_available String (iOS) For iOS, the value should be passed as String: "true": User has provided consent to collect and use data. "false": User has not provided consent to collect and use data.
Any value other than “true” and “false” is invalid and will be treated as value not provided by user. 
This key can be accessed via string constant IM_GDPR_CONSENT_IAB. 
Bool (Android) For Android, the value should be passed as Bool: true: User has provided consent to collect and use data. false: User has not provided consent to collect and use data.
Any value other than true and false is invalid and will be treated as value not provided by user.
This key can be accessed via string constant IM_GDPR_CONSENT_IAB.
gdpr String Whether or not the request is subjected to GDPR regulations (0 = No, 1 = Yes), omission indicates Unknown.

Note

As part of the General Data Protection Regulation (“GDPR”) publishers who collect data on their apps, are required to have a legal basis for collecting and processing the personal data of users in the European Economic Area (“EEA”). Please ensure that you obtain appropriate consent from the user before making ad requests to InMobi for Europe and indicate the same by following our recommended SDK implementation. Please do not pass any demographics information of a user; if you do not have user consent from such user in Europe.

It is mandatory to initialize the InMobi SDK before making any ad request to InMobi. It is advised to do it at the start of the app itself.

Age Restriction API

For COPPA compliance, you can indicate whether the user is a child. Set to true if the user is under 13 in the US, or the applicable age in other regions.


// Set age restriction for COPPA compliance
// Set to true if the user is a child (under 13 in US)
inMobiPlugin.SetAgeRestriction(true);

Publisher Signals

Publisher Signals

Publisher Signals allow you to pass contextual data to improve ad targeting and yield. You can signal information about user behavior, acquisition source, and other attributes to help generate better ad performance.

Setting Publisher Signals

Create a dictionary with signal keys and values, then pass it to the SDK. This method must be called after InMobi SDK is successfully initialized. Ensure you call this function and update the values before every ad request.


// Create a dictionary with all required signals and corresponding values
Dictionary<string, object=""> publisherSignals = new Dictionary<string, object="">();

// User monetization signals
publisherSignals.Add("iap", true);              // User has made IAP
publisherSignals.Add("ua_type", "paid");        // User is acquired via paid medium
publisherSignals.Add("iap_type", "minnow");     // User has made low purchases
publisherSignals.Add("iaa_type", "whale");      // User has seen high number of ads

// Session and impression depth signals
publisherSignals.Add("s_dep_rew", 4);           // User has seen 4 rewarded ads in current session
publisherSignals.Add("i_dep_rew", 10);          // User has seen 10 rewarded ads in lifetime

// Performance signals
publisherSignals.Add("ctr_rew", 9.25);          // Historical CTR for user is 9.25%
publisherSignals.Add("abp_5_rew", 0.01720);     // Average winning bid price for last 5 rewarded auctions was $0.01720, eCPM is $17.2

// Pass the signals to InMobi SDK
inMobiPlugin.PutPublisherSignals(publisherSignals);
</string,></string,>

Getting Publisher Signals

You can retrieve the currently set signals to verify what data is being passed.


// Check what signals are set already
Dictionary<string, object=""> currentSignals = inMobiPlugin.GetPublisherSignals();</string,>

Resetting Publisher Signals

Clear all the signals data for the user when needed.


// Clear all the signals data for the user
inMobiPlugin.ResetPublisherSignals();

Passing GDPR values

You must provide a consentObject in every session. SDK does not persist consent, it only keeps the consentObject in memory. If the app is relaunched, SDK will lose the consentObject. Within a session, a consentObject can be updated as below:

Dictionary<string, object=""> consentObject = new Dictionary<string, object="">(); 

    #if UNITY_ANDROID

        consentObject.Add(InMobiPlugin.IM_GDPR_CONSENT_AVAILABLE, true);

    #elif (UNITY_5 && UNITY_IOS) || UNITY_IPHONE

        consentObject.Add(InMobiPlugin.IM_GDPR_CONSENT_AVAILABLE, “true”); 

    #endif 

    consentObject.Add(InMobiPlugin.IM_GDPR_CONSENT_IAB, "IAB_STRING"); 

    inmobiPlugin.UpdateGdprConsentObject(consentObject);

Integrating Banner Ads

Following is the minimal code to create and load a banner ad:

private void RequestBanner ()
{
  // These placement Ids are configured to always serve test ads.
  #if UNITY_ANDROID
  string placementId = "1467162141987";
  #elif UNITY_IPHONE
  string placementId = "1464947431995";
  #endif
  // Create a 320x50 banner at the bottom of the screen.
  this.bannerAd = new BannerAd (placementId, 320, 50, (int)InMobiAdPosition.BottomCenter);
  // Register for ad events.
this.bannerAd.OnAdLoadSucceeded += this.HandleOnAdLoadSucceeded;    // Called when ad is loaded successfully
this.bannerAd.OnAdLoadFailed += this.HandleAdLoadFailed;            // Called when ad fails to load
this.bannerAd.OnAdFetchSuccessful += this.HandleAdFetchSuccessful;  // Called when ad content is fetched successfully
this.bannerAd.OnAdFetchFailed += this.HandleAdFetchFailed;          // Called when ad fetch fails
this.bannerAd.OnAdImpression += this.HandleAdImpression;            // Called when ad impression is recorded
this.bannerAd.OnAdDisplayed += this.HandleAdDisplayed;              // Called when ad is displayed on screen
this.bannerAd.OnAdDismissed += this.HandleAdDismissed;              // Called when ad is dismissed
this.bannerAd.OnAdInteraction += this.HandleAdInteraction;          // Called when user interacts with ad
this.bannerAd.OnUserLeftApplication += this.HandleUserLeftApplication; // Called when user leaves app via ad
// Load a banner ad.
  this.bannerAd.LoadAd ();
}

InMobiAdPosition enum specifies where to place the banner.

Note

Each platform, iOS and Android, requires a unique placement Id. Rest of the APIs remain same for both platforms.

Add SetExtras Method


// Set extras for ad targeting. All values must be passed as string.
Dictionary<string, string=""> extras = new Dictionary<string, string="">();
extras.Add("tp", "admob");           // Mediation partner name
extras.Add("tp_ver", "19.0.0");      // Mediation partner SDK version
this.bannerAd.SetExtras(extras);

</string,></string,>

Integrating Interstitial Ads

Please note that the integration for interstitial and full-screen video ads is same. Following is the minimal code to load an interstitial ad:

  private void RequestInterstitial ()
{
  // These placement Ids are configured to always serve test ads.
  #if UNITY_ANDROID
  string placementId = "1469137441636";
  #elif UNITY_IPHONE
  string placementId = "1467548435003";
  #endif
  // Create an interstitial.
  this.interstitialAd = new InterstitialAd (placementId);
  // Register for ad events.
  this.interstitialAd.OnAdLoadSucceeded += this.HandleOnAdLoadSucceeded;    // Called when ad is loaded successfully
this.interstitialAd.OnAdLoadFailed += this.HandleAdLoadFailed;            // Called when ad fails to load
this.interstitialAd.OnAdFetchSuccessful += this.HandleAdFetchSuccessful;  // Called when ad content is fetched successfully
this.interstitialAd.OnAdFetchFailed += this.HandleAdFetchFailed;          // Called when ad fetch fails
this.interstitialAd.OnAdImpression += this.HandleAdImpression;            // Called when ad impression is recorded
this.interstitialAd.OnAdDisplayed += this.HandleAdDisplayed;              // Called when ad is displayed on screen
this.interstitialAd.OnAdDismissed += this.HandleAdDismissed;              // Called when ad is dismissed
this.interstitialAd.OnAdInteraction += this.HandleAdInteraction;          // Called when user interacts with ad
this.interstitialAd.OnUserLeftApplication += this.HandleUserLeftApplication; // Called when user leaves app via ad
  this.interstitialAd.OnAdDisplayFailed += this.HandleAdDisplayFailed;
  this.interstitialAd.OnAdWillDisplay += this.HandleAdWillDisplay;
  // Load an interstitial ad.
  this.interstitialAd.LoadAd ();
}

Interstitial ads need to be shown explicitly, but before that check if interstitial ad is ready or not by calling isReady () as depicted below:

  if (this.interstitialAd.isReady ()) {
   this.interstitialAd.Show ();
  } else {
   MonoBehaviour.print ("Interstitial is not ready yet");
  }

A good place to show an interstitial ad is end of a level or end of session.

Add SetExtras Method


// Set extras for ad targeting. All values must be passed as string.
Dictionary<string, string=""> extras = new Dictionary<string, string="">();
extras.Add("tp", "admob");           // Mediation partner name
extras.Add("tp_ver", "19.0.0");      // Mediation partner SDK version
this.interstitialAd.SetExtras(extras);

</string,></string,>

Integrating Rewarded Video Ads

Following is a minimal code to load a rewarded video ad:

  private void RequestRewardBasedVideo ()
{
  // These placement Ids are configured to always serve test ads.
  #if UNITY_ANDROID
  string placementId = "1453753057988";
  #elif UNITY_IPHONE
  string placementId = "1465883204802";
  #endif
  this.rewardedVideoAd = new RewardedVideoAd (placementId);
  // Register for ad events.
  this.rewardedVideoAd.OnAdLoadSucceeded += this.HandleOnAdLoadSucceeded;
  this.rewardedVideoAd.OnAdLoadFailed += this.HandleAdLoadFailed;
  this.rewardedVideoAd.OnAdFetchSuccessful += this.HandleAdFetchSuccessful;
  this.rewardedVideoAd.OnAdFetchFailed += this.HandleAdFetchFailed;
  this.rewardedVideoAd.OnAdDisplayed += this.HandleAdDisplayed;
  this.rewardedVideoAd.OnAdDismissed += this.HandleAdDismissed;
  this.rewardedVideoAd.OnAdImpression += this.HandleAdImpression;
  this.rewardedVideoAd.OnAdInteraction += this.HandleAdInteraction;
  this.rewardedVideoAd.OnUserLeftApplication += this.HandleUserLeftApplication;
  this.rewardedVideoAd.OnAdDisplayFailed += this.HandleAdDisplayFailed;
  this.rewardedVideoAd.OnAdWillDisplay += this.HandleAdWillDisplay;
  this.rewardedVideoAd.OnAdRewardActionCompleted += this.HandleRewardActionCompleted;
  this.rewardedVideoAd.LoadAd ();
}

Rewarded video ads work in a similar way to interstitial ads and need to be checked whether they are ready before calling show ().

  private void ShowRewardBasedVideo ()
{
  if (this.rewardedVideoAd.isReady ()) {
   this.rewardedVideoAd.Show ();
  } else {
   MonoBehaviour.print ("Rewarded video ad is not ready yet");
  }
}

Handling Events

You can set the following ad events on a banner, interstitial, and rewarded video ad.

 #region callback handlers
   public void HandleOnAdLoadSucceeded(object sender, AdLoadSuccessEventArgs args)
{
    MonoBehaviour.print("HandleOnAdLoadSucceeded event received");
    // Access ad metadata from the event args
    MonoBehaviour.print("Creative ID: " + args.AdMetaInfo.CreativeID);
    MonoBehaviour.print("Bid: " + args.AdMetaInfo.Bid);
    MonoBehaviour.print("Bid Keyword: " + args.AdMetaInfo.BidKeyword);
}
   public void HandleAdLoadFailed (object sender, AdLoadFailedEventArgs args)
{
  MonoBehaviour.print ("HandleAdLoadFailed event received with message: " + args.Error);
}
   public void HandleAdDisplayed (object sender, EventArgs args)
{
  MonoBehaviour.print ("HandleAdDisplayed event received");
}
  public void HandleAdDismissed (object sender, EventArgs args)
{
  MonoBehaviour.print ("HandleAdDismissed event received");
}
  public void HandleAdInteraction (object sender, AdInteractionEventArgs args)
{
  MonoBehaviour.print ("HandleAdDismissed event received " + args.Message);
}
  public void HandleUserLeftApplication (object sender, EventArgs args)
{
  MonoBehaviour.print ("HandleUserLeftApplication event received");
}
#endregion
#region Interstitial specific callback handlers
public void HandleAdReceived (object sender, EventArgs args)
{
  MonoBehaviour.print ("HandleAdReceived event received");
}
  public void HandleAdWillDisplay (object sender, EventArgs args)
{
  MonoBehaviour.print (
   "HandleAdWillDisplay event received with message: ");
}
  public void HandleAdDisplayFailed (object sender, EventArgs args)
{
  MonoBehaviour.print ("HandleAdDisplayFailed event received");
}
   #endregion
  #region RewardBasedVideo specific callback handlers
   public void HandleRewardActionCompleted (object sender, AdRewardActionCompletedEventArgs args)
{
  MonoBehaviour.print (
   "HandleRewardActionCompleted event received for " + args.Rewards);
}
 
public void HandleAdFetchSuccessful(object sender, AdFetchSuccessEventArgs args)
{
    // Called when ad content is successfully fetched
    // Access ad metadata from the event args
    MonoBehaviour.print("HandleAdFetchSuccessful event received");
    MonoBehaviour.print("Creative ID: " + args.AdMetaInfo.CreativeID);
    MonoBehaviour.print("Bid: " + args.AdMetaInfo.Bid);
}

public void HandleAdFetchFailed(object sender, AdFetchFailedEventArgs args)
{
    // Called when ad fetch fails
    MonoBehaviour.print("HandleAdFetchFailed event received");
    MonoBehaviour.print("Error: " + args.Error);
}

public void HandleAdImpression(object sender, EventArgs args)
{
    // Called when an ad impression is recorded
    MonoBehaviour.print("HandleAdImpression event received");
}

#endregion

Note

The args.Rewards, specific to rewarded video ad, is in JSON String format.

New EventArgs Classes

Class Properties
AdFetchSuccessEventArgs AdMetaInfo
AdFetchFailedEventArgs Error (string)
AdLoadSuccessEventArgs AdMetaInfo

AdMetaInfo Properties

Property Type Description
CreativeID string Unique identifier for the ad creative
Bid double Bid value for the ad
BidInfo JObject Additional bid information
BidKeyword string Keyword associated with the bid

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 11 May, 2026

Unity LevelPlay

Introduction

Unity LevelPlay Mediation is one of InMobi’s top-performing bidding platforms, especially among gaming publishers. This guide explains how to integrate InMobi as a real-time bidder via SDK-based oRTB on Unity LevelPlay Mediation. 

Prerequisites

Ensure the following before you get started with this integration:

  • An active InMobi account on the InMobi Publisher Platform to access inventory settings, reporting, and account configuration. For more information, see Create InMobi Account.
  • An active Unity LevelPlay Mediation account.
  • Integration with InMobi adapters and SDK. We recommend using the latest versions. Download for Android and iOS, and Unity.
  • Formats supported: Banner, Interstitial, and Rewarded Video.
  • Supports in-app inventory.
  • Supports both waterfall and bidding.

Note

Reach out to your Customer Success Manager to know more about enabling waterfall for InMobi via Custom Adapter on Unity LevelPlay Mediation.

Configure

To get your account and inventory up and running on the InMobi Publisher Dashboard, follow the instructions given below:

  1. Create an InMobi Account or log in to the InMobi Publisher Dashboard
  2. If you are adding apps and placements for the first time, see Add Your App or Website.

    To create placements for Unity LevelPlay:

    1. Search for the app or website you would like to create a placement for and click + Add a placement.
    2. Select an ad unit. For more information on our ad units, see Ad Units.
    3. Name your placement. Enable Audience Bidding and select Unity LevelPlay from the Partner dropdown.
    4. Click Create Placements.

Add InMobi to Unity LevelPlay Dashboard

After you are done setting up your account and inventory on InMobi, the next steps would be to add InMobi as a network on the Unity LevelPlay Mediation dashboard, followed by mapping the created placements in the network on the Unity LevelPlay Mediation dashboard. Follow the instructions below:

  1. Use in-app bidding on the Unity LevelPlay Mediation. For more information, see ironSource Documentation.
  2. To map the InMobi placements on ironSource, enter the Placement ID.

     The InMobi Placement ID is present under the placement name on your InMobi dashboard.

For any further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 15 Oct, 2025

A-D States

This topic provides the technical implementation of opt-outs covered under the U.S. state data privacy regulations, currently under MSPA from Alabama to Delaware. 

California (CCPA)

Businesses must include a 'do not sell my personal information' link on their homepage and all web pages collecting data. The opt-out link should provide comprehensive details about consumer rights and enable them to decline the sale and sharing of their personal information.

 
Field name GPP Field Type Description Auto-display consent screen or via link Do not Auto-display consent screen
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer's Personal Information

0 Not Applicable. The Business does not sell personal data.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 for both apps and web.
SharingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sharing of the Consumer's Personal Information

0 Not Applicable. The Business does not Share Personal Data.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 for both apps and web.
SensitiveDataLimitUseNotice Int(2)

Notice of the Opportunity to Limit Use or Disclosure of the Consumer's Sensitive Personal Information

0 Not Applicable. The Business does not use or disclose Sensitive Data.

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer's Personal Information

0Not Applicable. SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out

This field will be set as 2 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

SharingOptOut Int(2)

Opt-Out of the Sharing of the Consumer's Personal Information

0 Not Applicable. SharingOptOutNotice value was not applicable or no notice was provided.

Opted Out

Did Not Opt Out

This field will be set as 2 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

SensitiveDataProcessing N-Bitfield(2,9)

Two bits for each Data Activity:

0 Not Applicable. SensitiveDataLimitUseNotice value was not applicable or no notice was provided.

1 Opted Out

2 Did Not Opt Out

Data Activities:

(1) Opt-Out of the Use or Disclosure of the Consumer's Sensitive Personal Information Which Reveals a Consumer's Social Security, Driver's License, State Identification Card, or Passport Number.

(2) Opt-Out of the Use or Disclosure of the Consumer's Sensitive Personal Information Which Reveals a Consumer's Account Log-In, Financial Account, Debit Card, or Credit Card Number in Combination with Any Required Security or Access Code, Password, or Credentials Allowing Access to an Account.

(3) Opt-Out of the Use or Disclosure of the Consumer's Sensitive Personal Information Which Reveals a Consumer's Precise Geolocation.

(4) Opt-Out of the Use or Disclosure of the Consumer's Sensitive Personal Information Which Reveals a Consumer's Racial or Ethnic Origin, Religious or Philosophical Beliefs, or Union Membership.

(5) Opt-Out of the Use or Disclosure of the Consumer's Sensitive Personal Information Which Reveals the contents of a Consumer's Mail, Email, and Text Messages unless You Are the Intended Recipient of the Communication.

(6) Opt-Out of the Use or Disclosure of the Consumer's Sensitive Personal Information Which Reveals a Consumer's Genetic Data.

(7) Opt-Out of the Use or Disclosure of the Consumer's Sensitive Personal Information Consisting of Biometric Information for the Purpose of Uniquely Identifying a Consumer.

(8) Opt-Out of the Use or Disclosure of the Consumer's Sensitive Personal Information Consisting of Personal Information Collected and Analyzed Concerning a Consumer's Health.

(9) Opt-Out of the Use or Disclosure of the Consumer's Sensitive Personal Information Consisting of Personal Information Collected and Analyzed Concerning a Consumer's Sex Life or Sexual Orientation.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

PersonalDataConsents Int(2)

Consent to Collection, Use, Retention, Sale, and/or Sharing of the Consumer's Personal Data that Is Unrelated to or Incompatible with the Purpose(s) for which the Consumer's Personal Data Was Collected or Processed

0 Not Applicable. The Business does not use, retain, Sell, or Share the Consumer's Personal Data for advertising purposes that are unrelated to or incompatible with the purpose(s) for which the Consumer's Personal Data was collected or processed.

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

KnownChildSensitiveDataConsents

N-Bitfield(2,2)

Two bits for each Data Activity:

0 Not Applicable. The Business does not have actual knowledge that it Processes Personal Information of Consumers Less Than 16 years of Age.

1 No Consent

2 Consent

Data Activities:

(1) Consent to Sell the Personal Information of Consumers Less Than 16 years of Age

(2) Consent to Share the Personal Information of Consumers Less Than 16 years of Age

This field will be set as 1 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

Colorado (CPA)

Companies are obligated to provide consumers the choice to opt-out of the sale or targeted advertising use of their personal data. Consumers can express their preferences through a Universal Opt-Out Mechanism (UOOM).

 
Field name GPP Field Type Description Auto-display consent screen or via link Do not Auto-display consent screen
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer's Personal Information

0 Not Applicable. The Business does not sell personal data.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.

SharingNotice Int(2)

Notice of the Sharing of Personal Data with Third Parties

0 Not Applicable. The Controller does not share Personal Data with Third Parties.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer's Personal Data for Targeted Advertising

0 Not Applicable.The Controller does not Process Personal Data for Targeted Advertising.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer's Personal Information

Not Applicable. SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

Sharing OptOut Int(2)

Opt-Out of the Sharing of the Consumer's Personal Information

Not Applicable. SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer's Personal Data for Targeted Advertising

0 Not Applicable. TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

SensitiveDataProcessing N-Bitfield(2,7)

Two bits for each Data Activity:

0 Not Applicable. The Controller does not Process the specific category of Sensitive Data.

1 No Consent

2 Consent

(1) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing a Mental or Physical Health Condition or Diagnosis.

(4) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Sex Life or Sexual Orientation.

(5) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Citizenship or Citizenship Status.

(6) Consent to Process the Consumer's Sensitive Data Consisting of Genetic Data that May Be Processed for the Purpose of Uniquely Identifying an Individual.

(7) Consent to Process the Consumer's Sensitive Data Consisting of Biometric Data that May Be Processed for the Purpose of Uniquely Identifying an Individual.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

KnownChildSensitiveDataConsents

Int(2)

Consent to Process Sensitive Data from a Known Child

0 Not Applicable. The Controller does not Process Sensitive Data of a known Child.

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

Connecticut (CTDPA)

As per the law, data controllers must provide "clear and conspicuous" opt-out links on their websites.

 
Field name GPP Field Type Description Auto-display consent screen or via link Do not Auto- display consent screen
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer's Personal Information

0 Not Applicable. The Business does not sell personal data.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.

SharingNotice Int(2)

Notice of the Sharing of Personal Data with Third Parties

0 Not Applicable. The Controller does not share Personal Data with Third Parties.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer's Personal Data for Targeted Advertising

0 Not Applicable.The Controller does not Process Personal Data for Targeted Advertising.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer's Personal Information

0 Not Applicable. SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

SharingOptOut Int(2)

Opt-Out of the Sharing of the Consumer's Personal Information

0 Not Applicable. SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer's Personal Data for Targeted Advertising

0 Not Applicable. TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

SensitiveDataProcessing N-Bitfield(2,8)

Two bits for each Data Activity:

0 Not Applicable. The Controller does not Process the specific category of Sensitive Data.

1 Opted Out

2 Did Not Opt Out

(1) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Sexual Orientation.

(4) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Citizenship or Immigration Status.

(5) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Medical History, Mental or Physical Health Condition, or Medical Treatment or Diagnosis by a Health Care Professional.

(6) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Genetic Data for the Purpose of Identifying a Specific Individual.

(7) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Biometric Data for the Purpose of Identifying a Specific Individual.

(8) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Specific Geolocation Data.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

KnownChildSensitiveDataConsents

N-Bitfield(2,3)

Two bits for each Data Activity:

0 Not Applicable. The Controller does not Process Sensitive Data of a known Child.

1 No Consent

2 Consent

(1) Consent to Process Sensitive Data from a Known Child.

(2) Consent to Sell the Personal Data of Consumers At Least 13 Years of Age but Younger Than 16 Years of Age.

(3) Consent to Process the Personal Data of Consumers At Least 13 Years of Age but Younger Than 16 Years of Age for Purposes of Targeted Advertising.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

Delaware (DPDPA)

Controllers must give consumers a clear privacy notice explaining what data is collected, how it’s used and shared, and how they can opt out of data sales or targeted ads, as well as exercise their privacy rights. 

 
Field name GPP Field Type Description Auto-display consent screen or via link Do not Auto-display consent screen
ProcessingNotice Int(2)

Notice of the Processing of Personal Data.

0 Not Applicable, The Controller does not Process Personal Data.

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer’s Personal Data

0 Not Applicable, The Controller does not Sell Personal Data

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, the Controller does not Process Personal Data for Targeted Advertising

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer's Personal Data

Not Applicable, SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

SensitiveDataProcessing N-Bitfield(2,9)

Two bits for each Data Activity:

0 Not Applicable, the Controller does not Process the specific category of Sensitive Data.

1 No Consent

2 Consent

(1) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing a Mental or Physical Health Condition or Diagnosis (Including Pregnancy).

(4) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Sex Life or Sexual Orientation.

(5) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Citizenship or Immigration Status..

(6) Consent to Process the Consumer’s Sensitive Data Consisting of Genetic Data.

(7) Consent to Process the Consumer’s Sensitive Data Consisting of Biometric Data.

(8) Consent to Process the Consumer’s Sensitive Data Consisting of Precise Geolocation Data.

(9) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Status as Transgender or Nonbinary.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

AdditionalDataProcessingConsent Int(2)

Consent to Processing of the Consumer’s Personal Data that Is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s) for which the Consumer’s Personal Data Was Processed

0 = Not Applicable, the Controller does not Process Personal Data that is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s)

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

KnownChildSensitiveDataConsents

N-Bitfield(2,5)

Two bits for each Data Activity:

0 Not Applicable, the Controller does not Process Sensitive Data of a known Child.

1 No Consent

2 Consent

Data Activities:

(1) Consent to Process Sensitive Data from a Known Child.

(2) Consent to Sell the Personal Data of Consumers At Least 13 Years of Age but Younger Than 16 Years of Age.

(3) Consent to Process the Personal Data of Consumers At Least 13 Years of Age but Younger Than 16 Years of Age for Purposes of Targeted Advertising.

(4) onsent to Sell the Personal Data of Consumers At Least 16 Years of Age but Younger Than 18 Years of Age.

(5) Consent to Process the Personal Data of Consumers At Least 16 Years of Age but Younger Than 18 Years of Age for Purposes of Targeted Advertising.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the consent screen is triggered by the end-user, for both web and apps.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 24 Jul, 2025

E-L States

This topic provides the technical implementation of opt-outs covered under the U.S. state data privacy regulations, currently under MSPA from Florida to Louisiana. 

Florida (FDBR)

Businesses must provide opt-outs for the processing and sale of personal data for targeted advertising.

 
Field name GPP Field Type Description Auto-display consent screen or via link Do not Auto-display consent screen
ProcessingNotice Int(2)

Notice of the Processing of Personal Data.

0 Not Applicable, The Controller does not Process Personal Data.

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer's Personal Data

0 Not Applicable. The Controller does not sell personal data.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.

TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, the Controller does not Process Personal Data for Targeted Advertising

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer’s Personal Data

Not Applicable, SaleOptOutNotice value was not applicable or no notice was provided

Opted Out

2 Did Not Opt Out

This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out

This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataProcessing N-Bitfield(2,8)

Two bits for each Data Activity:

0 Not Applicable, the Controller does not Process the specific category of Sensitive Data

1 No Consent

2 Consent

(1) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing a Mental or Physical Health Diagnosis.

(4) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Sexual Orientation.

(5) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Citizenship or Immigration Status.

(6) Consent to Process the Consumer's Sensitive Data Consisting of Genetic Data for the Purpose of Uniquely Identifying a Natural Person.

(7) Consent to Process the Consumer's Sensitive Data Consisting of Biometric Data for the Purpose of Uniquely Identifying a Natural Person.

(8) Consent to Process the Consumer's Sensitive Data Consisting of Precise Geolocation Data.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

KnownChildSensitiveDataConsents

Int(2)

Consent to Process Sensitive Data from a Known Child

0 Not Applicable. The Controller does not Process Sensitive Data of a known Child.

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

AdditionalDataProcessingConsent  

Consent to Processing of the Consumer’s Personal Data that Is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s) for which the Consumer’s Personal Data Was Processed

0 Not Applicable, the Controller does not Process Personal Data that is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s)

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

Iowa (ICDPA)

Companies are obligated to clearly outline the use of personal data for targeted advertising and give them an option to opt-out.

 
Field name GPP Field Type Description  Auto-display consent screen or via link Do not Auto-display consent screen
ProcessingNotice Int(2)

Notice of the Processing of Personal Data.

0 Not Applicable, the Controller does not Process Personal Data

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer's Personal Information

0 Not Applicable, the Controller does not Sell Personal Data

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Processing of the Consumer’s Sensitive Data

0 Not Applicable, the Controller does not Process Sensitive Data

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 2 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer's Personal Data for Targeted Advertising

0 Not Applicable.The Controller does not Process Personal Data for Targeted Advertising.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer’s Personal Data

Not Applicable. SaleOptOutNotice value was not applicable or no notice was provided.

1 Opted Out

2 Did Not Opt Out

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided.

1 Opted Out

2 Did Not Opt Out

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataProcessing N-Bitfield(2,8)

Two bits for each Data Activity:

0 Not Applicable, the Controller does not Process the specific category of Sensitive Data

1 No Consent

2 Consent

(1) Opt-Out of the Processing of the Consumer’s Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Opt-Out of the Processing of the Consumer’s Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Opt-Out of the Processing of the Consumer’s Sensitive Data Consisting of Personal Data Revealing a Mental or Physical Health Diagnosis.

(4) Opt-Out of the Processing of the Consumer’s Sensitive Data Consisting of Personal Data Revealing Sexual Orientation.

(5) Opt-Out of the Processing of the Consumer’s Sensitive Data Consisting of Personal Data Revealing Citizenship or Citizenship Status.

(6) Opt-Out of the Processing of the Consumer’s Sensitive Data Consisting of Genetic Data that May Be Processed for the Purpose of Uniquely Identifying an Individual.

(7) Opt-Out of the Processing of the Consumer’s Sensitive Data Consisting of Biometric Data that May Be Processed for the Purpose of Uniquely Identifying an Individual.

(8) Opt-Out of the Processing of the Consumer’s Sensitive Data Consisting of Precise Geolocation Data.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

KnownChildSensitiveDataConsents

Int(2)

Consent to Process Sensitive Data from a Known Child

0 Not Applicable. The Controller does not Process Sensitive Data of a known Child.

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 24 Jul, 2025

M-N States

This topic provides the technical implementation of opt-outs covered under the U.S. state data privacy regulations, currently under MSPA from Maine to North Dakota. 

Montana (MTCDPA)

Businesses/controllers must provide consumers with a reasonably accessible, clear, and meaningful privacy notice outlining the categories of personal data for processing, the third parties with which they share the personal data, and how consumers can contact the controller to exercise their rights.

 
Field name GPP Field Type Description Auto-display consent screen or via link Do no Auto-display consent screen
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer’s Personal Data 

0 Not Applicable, The Controller does not Sell Personal Data

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.

 

SharingNotice Int(2)

Notice of the Processing of Personal Data.

0 Not Applicable, The Controller does not Process Personal Data

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, the Controller does not Process Personal Data for Targeted Advertising

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer’s Personal Data

0 Not Applicable, SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web. This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataProcessing N-Bitfield(2,8)

Two bits for each Data Activity:

0 Not Applicable, the Controller does not Process the specific category of Sensitive Data

1 Opted Out

2 Did Not Opt Out

(1) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing a Mental or Physical Health Condition or Diagnosis.

(4) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Sex Life or Sexual Orientation.

(5) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Citizenship or Immigration Status.

(6) Consent to Process the Consumer’s Sensitive Data Consisting of Genetic Data that May Be Processed for the Purpose of Uniquely Identifying an Individual.

(7) Consent to Process the Consumer’s Sensitive Data Consisting of Biometric Data that May Be Processed for the Purpose of Uniquely Identifying an Individual.

(8) Consent to Process the Consumer’s Sensitive Data Consisting of Precise Geolocation Data.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

KnownChildSensitiveDataConsents

N-Bitfield(2,3)

0 Not Applicable, the Controller does not Process Sensitive Data of a known Child

1 No Consent

2 Consent

(1) Consent to Process Sensitive Data from a Known Child.

(2) Consent to Sell the Personal Data of Consumers At Least 13 Years of Age but Younger Than 16 Years of Age.

(3) Consent to Process the Personal Data of Consumers At Least 13 Years of Age but Younger Than 16 Years of Age for Purposes of Targeted Advertising.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

AdditionalDataProcessingConsent Int(2)

Consent to Processing of the Consumer’s Personal Data that Is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s) for which the Consumer’s Personal Data Was Processed

0 Not Applicable, the Controller does not Process Personal Data that is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s)

No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

Nebraska (NDPA)

As per the law, data controllers must provide "clear and conspicuous" opt-out links on their websites.

 
Field name GPP Field Type Description Auto-display consent screen or via link Do not Auto- display consent screen

ProcessingNotice

Int(2)

Notice of the Processing of Personal Data.

0 Not Applicable, the Controller does not Process Personal Data

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.

SaleOptOutNotice

Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer’s Personal Data 

0 Not Applicable, the Controller does not Sell Personal Data

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable.The Controller does not Process Personal Data for Targeted Advertising.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer's Personal Information

0 Not Applicable. SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer's Personal Data for Targeted Advertising

0 Not Applicable. TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataProcessing N-Bitfield(2,8)

Two bits for each Data Activity:

0 Not Applicable. The Controller does not Process the specific category of Sensitive Data.

1 Opted Out

2 Did Not Opt Out

(1) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing a Mental or Physical Health Diagnosis.

(4) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Sexual Orientation.

(5) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Citizenship or Immigration Status.

(6) Consent to Process the Consumer’s Sensitive Data Consisting of Genetic Data for the Purpose of Uniquely Identifying an Individual.

(7) Consent to Process the Consumer’s Sensitive Data Consisting of Biometric Data for the Purpose of Uniquely Identifying an Individual.

(8) Consent to Process the Consumer’s Sensitive Data Consisting of Precise Geolocation Data.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

KnownChildSensitiveDataConsents

Int(2)

Consent to Process Personal Data from a Known Child.

0 Not Applicable. The Controller does not Process Sensitive Data of a known Child.

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

AdditionalDataProcessingConsent Int(2)

Consent to Processing of the Consumer’s Personal Data that Is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s) for which the Consumer’s Personal Data Was Processed.

0 Not Applicable, the Controller does not Process Personal Data that is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s)

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

New Hampshire (NHDPA)

Businesses must provide a mechanism for consumers to revoke consent that is as easy as the mechanism to provide consent.

 
Field name GPP Field Type Description Auto-display consent screen or via link  Do not Auto-display consent screen 
ProcessingNotice Int(2)

Notice of the Processing of Personal Data.

0 Not Applicable, The Controller does not Process Personal Data.

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer’s Personal Data

0 Not Applicable, The Controller does not Sell Personal Data

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, the Controller does not Process Personal Data for Targeted Advertising

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer's Personal Data

Not Applicable, SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataProcessing N-Bitfield(2,8)

Two bits for each Data Activity:

0 Not Applicable, the Controller does not Process the specific category of Sensitive Data.

1 No Consent

2 Consent

(1) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing a Mental or Physical Health Condition or Diagnosis.

(4) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Sex Life or Sexual Orientation.

(5) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Citizenship or Immigration Status.

(6) Consent to Process the Consumer’s Sensitive Data Consisting of Genetic Data.

(7) Consent to Process the Consumer’s Sensitive Data Consisting of Biometric Data.

(8) Consent to Process the Consumer’s Sensitive Data Consisting of Precise Geolocation Data.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

AdditionalDataProcessingConsent Int(2)

Consent to Processing of the Consumer’s Personal Data that Is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s) for which the Consumer’s Personal Data Was Processed0 = Not Applicable, the Controller does not Process Personal Data that is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s)

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

KnownChildSensitiveDataConsents

N-Bitfield(2,3)

Two bits for each Data Activity:

0 Not Applicable, the Controller does not Process Sensitive Data of a known Child.

1 No Consent

2 Consent

Data Activities:

(1) Consent to Process Sensitive Data from a Known Child.

(2) Consent to Sell the Personal Data of Consumers At Least 13 Years of Age but Younger Than 16 Years of Age.

(3) Consent to Process the Personal Data of Consumers At Least 13 Years of Age but Younger Than 16 Years of Age for Purposes of Targeted Advertising.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

New Jersey (NJDPA)

Businesses must provide opt-outs for the processing and sale of personal data for targeted advertising.

 
Field name GPP Field Type Description Auto-display consent screen or via link Do not Auto-display consent screen
ProcessingNotice Int(2)

Notice of the Processing of Personal Data.

0 Not Applicable, The Controller does not Process Personal Data.

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer's Personal Data

0 Not Applicable. The Controller does not sell personal data.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.

TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, the Controller does not Process Personal Data for Targeted Advertising

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer’s Personal Data

Not Applicable, SaleOptOutNotice value was not applicable or no notice was provided

Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataProcessing N-Bitfield(2,10)

Two bits for each Data Activity:

0 Not Applicable, the Controller does not Process the specific category of Sensitive Data

1 No Consent

2 Consent

(1) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing a Mental or Physical Health Diagnosis.

(4) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Sexual Orientation.

(5) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Citizenship or Immigration Status.

(6) Consent to Process the Consumer's Sensitive Data Consisting of Genetic Data for the Purpose of Uniquely Identifying a Natural Person.

(7) Consent to Process the Consumer's Sensitive Data Consisting of Biometric Data for the Purpose of Uniquely Identifying a Natural Person.

(8) Consent to Process the Consumer's Sensitive Data Consisting of Precise Geolocation Data.

(9) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Status as Transgender or Nonbinary.

(10) Consent to Process the Consumer’s Sensitive Data Consisting of Financial Information, in Combination with any Required Security Code, Access Code, or Password that Would Permit Access to a Consumer’s Financial Account.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

KnownChildSensitiveDataConsents

Int(2)

Two bits for each Data Activity:

0 Not Applicable, the Controller does not Process Sensitive Data of a known Child.

1 No Consent

2 Consent

Data Activities:

(1) Consent to Process Sensitive Data from a Known Child.

(2) Consent to Sell the Personal Data of Consumers At Least 13 Years of Age but Younger Than 16 Years of Age.

(3) Consent to Process the Personal Data of Consumers At Least 13 Years of Age but Younger Than 16 Years of Age for Purposes of Targeted Advertising.

(4) Consent to Sell the Personal Data of Consumers At Least 16 Years of Age but Younger Than 17 Years of Age.

(5) Consent to Process the Personal Data of Consumers At Least 16 Years of Age but Younger Than 17 Years of Age for Purposes of Targeted Advertising.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

AdditionalDataProcessingConsent Int(2)

Consent to Processing of the Consumer’s Personal Data that Is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s) for which the Consumer’s Personal Data Was Processed.

Not Applicable, the Controller does not Process Personal Data that is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s)

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 19 Sep, 2025

O-T States

This topic provides the technical implementation of opt-outs covered under the U.S. state data privacy regulations, currently under MSPA from Ohio to Texas.

Oregon (OCPA)

Businesses/controllers must provide consumers with a reasonably accessible, clear, and meaningful privacy notice outlining the categories of personal data for processing, the third parties with which they share the personal data, and how consumers can contact the controller to exercise their rights.

 
Field name GPP Field Type Description Auto-display consent screen or via link Do no Auto-display consent screen
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer’s Personal Data 

0 Not Applicable, The Controller does not Sell Personal Data

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.

 

SharingNotice Int(2)

Notice of the Processing of Personal Data.

0 Not Applicable, The Controller does not Process Personal Data

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, the Controller does not Process Personal Data for Targeted Advertising

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer’s Personal Data

0 Not Applicable, SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataProcessing N-Bitfield(2,11)

Two bits for each Data Activity:

0 Not Applicable, the Controller does not Process the specific category of Sensitive Data

1 Opted Out

2 Did Not Opt Out

(1) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing a Mental or Physical Health Condition or Diagnosis.

(4) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Sex Life or Sexual Orientation.

(5) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Status as Transgender or Nonbinary.

(6) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Citizenship or Immigration Status.

(7) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing National Origin.

(8)  Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Status as Victim of a Crime.

(9) Consent to Process the Consumer’s Sensitive Data Consisting of Genetic Data.

(10) Consent to Process the Consumer’s Sensitive Data Consisting of Biometric Data.

(11) Consent to Process the Consumer’s Sensitive Data Consisting of Precise Geolocation Data.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

KnownChildSensitiveDataConsents

N-Bitfield(2,3)

0 Not Applicable, the Controller does not Process Sensitive Data of a known Child

1 No Consent

2 Consent

(1) Consent to Process Sensitive Data from a Known Child.

(2) Consent to Sell the Personal Data of Consumers At Least 13 Years of Age but Younger Than 16 Years of Age.

(3) Consent to Process the Personal Data of Consumers At Least 13 Years of Age but Younger Than 16 Years of Age for Purposes of Targeted Advertising.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

AdditionalDataProcessingConsent Int(2)

Consent to Processing of the Consumer’s Personal Data that Is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s) for which the Consumer’s Personal Data Was Processed

0 Not Applicable, the Controller does not Process Personal Data that is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s)

No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

Tenesse (TIPA)

As per the law, data controllers must provide "clear and conspicuous" opt-out links on their websites.

 
Field name GPP Field Type Description Auto-display consent screen or via link Do not Auto- display consent screen

ProcessingNotice

Int(2)

Notice of the Processing of Personal Data.

0 Not Applicable, the Controller does not Process Personal Data

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.

SaleOptOutNotice

Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer’s Personal Data 

0 Not Applicable, the Controller does not Sell Personal Data

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable.The Controller does not Process Personal Data for Targeted Advertising.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer's Personal Information

0 Not Applicable. SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out

This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer's Personal Data for Targeted Advertising

0 Not Applicable. TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out

This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataProcessing N-Bitfield(2,8)

Two bits for each Data Activity:

0 Not Applicable. The Controller does not Process the specific category of Sensitive Data.

1 Opted Out

2 Did Not Opt Out

(1) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing a Mental or Physical Health Diagnosis.

(4) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Sexual Orientation.

(5) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Citizenship or Immigration Status.

(6) Consent to Process the Consumer’s Sensitive Data Consisting of Genetic Data for the Purpose of Uniquely Identifying an Individual.

(7) Consent to Process the Consumer’s Sensitive Data Consisting of Biometric Data for the Purpose of Uniquely Identifying an Individual.

(8) Consent to Process the Consumer’s Sensitive Data Consisting of Precise Geolocation Data.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

KnownChildSensitiveDataConsents

Int(2)

Consent to Process Personal Data from a Known Child.

0 Not Applicable. The Controller does not Process Sensitive Data of a known Child.

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

AdditionalDataProcessingConsent Int(2)

Consent to Processing of the Consumer’s Personal Data that Is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s) for which the Consumer’s Personal Data Was Processed.

0 Not Applicable, the Controller does not Process Personal Data that is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s)

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

Texas (TDPSA)

Businesses must provide a mechanism for consumers to revoke consent that is as easy as the mechanism to provide consent.

 
Field name GPP Field Type Description Auto-display consent screen or via link Do not Auto-display consent screen 
ProcessingNotice Int(2)

Notice of the Processing of Personal Data.

0 Not Applicable, The Controller does not Process Personal Data.

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer’s Personal Data

0 Not Applicable, The Controller does not Sell Personal Data

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, the Controller does not Process Personal Data for Targeted Advertising

1 Yes, notice was provided

2 No, notice was not provided
This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer’s Personal Data for Targeted Advertising

0 Not Applicable, TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web. This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer's Personal Data

Not Applicable, SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataProcessing N-Bitfield(2,8)

Two bits for each Data Activity:

0 Not Applicable, the Controller does not Process the specific category of Sensitive Data.

1 No Consent

2 Consent

(1) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing a Mental or Physical Health Condition or Diagnosis.

(4) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Sex Life or Sexual Orientation.

(5) Consent to Process the Consumer’s Sensitive Data Consisting of Personal Data Revealing Citizenship or Immigration Status.

(6) Consent to Process the Consumer’s Sensitive Data Consisting of Genetic Data.

(7) Consent to Process the Consumer’s Sensitive Data Consisting of Biometric Data.

(8) Consent to Process the Consumer’s Sensitive Data Consisting of Precise Geolocation Data.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

AdditionalDataProcessingConsent Int(2)

Consent to Processing of the Consumer’s Personal Data that Is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s) for which the Consumer’s Personal Data Was Processed0 = Not Applicable, the Controller does not Process Personal Data that is Not Reasonably Necessary for nor Compatible with the Disclosed Purpose(s)

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

KnownChildSensitiveDataConsents

Int(2))

Two bits for each Data Activity:

0 Not Applicable, the Controller does not Process Sensitive Data of a known Child.

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 24 Jul, 2025

U-Z States

This topic provides the technical implementation of opt-outs covered under the U.S. state data privacy regulations, currently under MSPA from Utah to Wyoming.

Utah (UCPA)

The UCPA does not prescribe specific opt-out methods. In contrast to the CCPA, which mandates an opt-out link, the UCPA grants flexibility for organizations to establish their preferred methods for enabling consumers to opt out of data sales or targeted advertising.

 
Field name GPP Field Type Description Auto-display consent screen or via link Do no Auto-display consent screen
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer's Personal Information

0 Not Applicable. The Business does not sell personal data.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.

 

SharingNotice Int(2)

Notice of the Sharing of Personal Data with Third Parties

0 Not Applicable. The Controller does not share Personal Data with Third Parties.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of Processing of the Consumer's Personal Data for Targeted Advertising

0 Not Applicable.The Controller does not Process Personal Data for Targeted Advertising.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataProcessingOptOutNotice

Int(2)

Notice of the Opportunity to Opt Out of the Processing of the Consumer's Sensitive Data

0 Not Applicable. The Controller does not Process Sensitive Data.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 2 for both apps and web. This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer's Personal Information

0 Not Applicable. SaleOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer's Personal Data for Targeted Advertising

0 Not Applicable. TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataProcessing N-Bitfield(2,8)

Two bits for each Data Activity:

0 Not Applicable. The Controller does not Process the specific category of Sensitive Data.

1 Opted Out

2 Did Not Opt Out

(1) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Sexual Orientation.

(4) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Citizenship or Immigration Status.

(5) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Personal Data Revealing Medical History, Mental or Physical Health Condition, or Medical Treatment or Diagnosis by a Health Care Professional.

(6) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Genetic Data for the Purpose of Identifying a Specific Individual.

(7) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Biometric Data for the Purpose of Identifying a Specific Individual.

(8) Opt-Out of the Processing of the Consumer's Sensitive Data Consisting of Specific Geolocation Data.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

KnownChildSensitiveDataConsents

Int(2)

Consent to Process Sensitive Data from a Known Child

0 Not Applicable. The Controller does not Process Sensitive Data of a known Child.

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

Virginia (VCDPA)

Businesses may obtain consent by getting consumers to check a blank checkbox or by typing a written statement.

 
Field name GPP Field Type Description Auto-display consent screen or via link Do not Auto-display consent screen
SaleOptOutNotice Int(2)

Notice of the Opportunity to Opt Out of the Sale of the Consumer's Personal Information

0 Not Applicable. The Business does not sell personal data.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web.

This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.

SharingNotice Int(2)

Notice of the Sharing of Personal Data with Third Parties

0 Not Applicable. The Controller does not share Personal Data with Third Parties.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
TargetedAdvertisingOptOutNotice Int(2)

Notice of the Opportunity to Opt-Out of Processing of the Consumer's Personal Data for Targeted Advertising

0 Not Applicable.The Controller does not Process Personal Data for Targeted Advertising.

1 Yes, notice was provided

2 No, notice was not provided

This field will be set as 1 for both apps and web. This field will be set as 2 till the user clicks on the opt-out link, for both apps and web.
SaleOptOut Int(2)

Opt-Out of the Sale of the Consumer's Personal Information

0Not Applicable. SaleOptOutNotice value was not applicable or no notice was provided

Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

TargetedAdvertisingOptOut Int(2)

Opt-Out of Processing the Consumer's Personal Data for Targeted Advertising

0 Not Applicable. TargetedAdvertisingOptOutNotice value was not applicable or no notice was provided

1 Opted Out

2 Did Not Opt Out
This field will be set as 2 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

SensitiveDataProcessing N-Bitfield(2,8)

Two bits for each Data Activity:

0 Not Applicable. The Controller does not Process the specific category of Sensitive Data.

1 No Consent

2 Consent

(1) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Racial or Ethnic Origin.

(2) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Religious Beliefs.

(3) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing a Mental or Physical Health Diagnosis.

(4) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Sexual Orientation.

(5) Consent to Process the Consumer's Sensitive Data Consisting of Personal Data Revealing Citizenship or Immigration Status.

(6) Consent to Process the Consumer's Sensitive Data Consisting of Genetic Data for the Purpose of Uniquely Identifying a Natural Person.

(7) Consent to Process the Consumer's Sensitive Data Consisting of Biometric Data for the Purpose of Uniquely Identifying a Natural Person.

(8) Consent to Process the Consumer's Sensitive Data Consisting of Precise Geolocation Data.

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

KnownChildSensitiveDataConsents

Int(2)

Consent to Process Sensitive Data from a Known Child

0 Not Applicable. The Controller does not Process Sensitive Data of a known Child.

1 No Consent

2 Consent

This field will be set as 1 for both apps and web.

This field will be set as 0 till the user clicks on the opt-out link, for both apps and web.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 24 Jul, 2025

Customizing UI/UX of Consent Banner1

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

GPP & MSPA1

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Payment Settings

Payment Settings

To receive your payments from InMobi, you must update your company details and payment information. Prerequisites for Publisher Payouts (in the given order) include:

  1. Entering verified billing information.
  2. Selecting a preferred mode of payment.
  3. Uploading tax documents (if needed)
  4. Setting a minimum payment threshold.

Update Payment Information

You must enter your company information and billing address to verify your identity. Follow these instructions to update your payment information.

  1. From the left navigation panel, select Finance Payment Settings  Payment Information.
  2. Enter the required details.

Manage Payouts

InMobi follows a payout cycle of 60 days. This means that your earnings for a given month will be credited to you at the end of the 60-day payout cycle.

For payments to be made to you, you must add a mode of payment. You can receive your payouts via Electronic Fund Transfer or PayPal. Perform the following steps to add your preferred mode of payment:

  1. From the left navigation panel, select Finance Payment Settings Payout Settings.
  2. Before adding a payment account, select a payment country.
  3. Click Add a payment account.
  4. Enter your Bank Details or connect your PayPal account as your preferred mode of payment.

You can add more than one payment account. However, only one of the payment accounts can be set as the primary bank account. Payouts will be processed to the Primary Payment Account selected.

Upload Tax Forms

The tax forms need to be uploaded depending on the payment country. If the Payment Country is India, GST details need to be entered.

Minimum Payment Threshold

We can process payments once your cumulative earnings exceed the minimum payment threshold set. The threshold range must be between $300 - $10000.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 28 Apr, 2025

Track Earnings

The My Earnings sub-tab contains information on your earnings and payouts made by InMobi to your account. You can check the estimated earnings for the current month, the estimated balance due, total payouts made to date, and more.

  • Earnings: This allows you to check your latest earnings and upload monthly invoices.
  • Payouts: List of the payouts made by InMobi to your payment account.

To view your transaction history, go to Finance My Earnings.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 28 Apr, 2025

Advanced Configurations & Customization

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 22 Apr, 2025

Implementing CMP via Code1

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 22 Apr, 2025

Using the Portal (No-Code Setup)1

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 22 Apr, 2025

General

1. Why is it important to have an IAB compliant and Google certified CMP?

Since November 20th, 2023, CMPs are required to implement IAB’s new policies and specifications (TCF v2.2). From January 16th, 2024, if a publisher does not adopt a Google-certified CMP, no Ads from Google AdSense, Ad Manager, or AdMob will be eligible to serve on EEA and UK traffic. Having a Google and IAB-compliant CMP is crucial for the following reasons:

  • It adheres to industry standards and evolving data privacy regulations.
  • It allows publishers to build user trust through transparent data practices.
  • It mitigates risks of non-compliance, avoiding potential penalties.
  • It empowers publishers to monetize their properties

2. What are the benefits of this CMP for me as a publisher?

Our free CMP enables you to maintain compliance with data privacy regulations (like GDPR, CCPA, and many others), helping you to foster user trust whilst elevating Ad revenue. By using our CMP, you can leverage TCF v2.2 strings, aligning with the preferences of advertisers and enhancing your monetization potential. Some of our publishers have observed up to 35% uplift in eCPM in certain regions.

3. Is this solution free?

At present, the InMobi CMP is a free solution for both existing and new customers.

4. How do I add a user to my InMobi CMP account?

Currently, InMobi CMP does not support user management directly.

  • To add a user, Contact Us.
  • Provide the user’s email you want to add and the p-code of the account to which the user is to be added.
  • The new user will get access to all features of that account.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Features and Capabilities

1. What are the customization options available?

InMobi CMP offers a wide array of customization options, allowing you to personalize elements such as button colors, backgrounds, and fonts. You can see the complete list of customization features available for iOS here and Android here.

2. Does the platform support multiple languages?

The InMobi CMP currently supports 25 languages, with more coming in the future.

Bulgarian Croatian Finnish Italian Portuguese
English Estonian Irish Polish Spanish
Greek Hungarian Norwegian Slovenian  
Lithuanian Maltese Slovak Dutch  
Romanian Russian Danish French  
Swedish Czech Flemish Latvian  

3. What kind of reporting and analytics does the CMP provide for consent management?

InMobi CMP provides reporting and analytics on user consent-related data. This data can help you monitor and optimize your compliance efforts. In its current state, the publisher can track the following metrics:

  • Total consent pop-up views
  • Consent acceptance rate
  • Bounce rate
  • Trends in user responses to the consent pop-up

4. Can I configure the CMP to allow users to change their consent preferences at any time?

Yes, we strongly believe that users should always have complete control over the data they choose to disclose. Our CMP is designed to offer users the flexibility to adjust their consent preferences at any point, ensuring a high level of control over their decisions related to data sharing. This can be done via the Themes tab.

5. Why can’t I re-add a previously deleted site property?

InMobi CMP does not currently allow re-adding a site property with a previously deleted URL for data integrity reasons.

Contact Us and we can restore the deleted site property from the backend if necessary.

Once the site property is restored, check:

  • Site compatibility with the latest CMP version. If not, update it.
  • GBC is enabled.
  • Universal tags are updated for seamless integration.
  • Theme configurations are retained.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 22 Apr, 2025

Integration and Implementation

1. What is the integration process?

The integration process is composed of 3 simple steps:

  1. Create your account and log in via https://choice.inmobi.com/login.
  2. Set up your app(s) and/or site(s) via the interface.
  3. Integrate the SDK or Web Tag following the instructions on this support portal.

We recommend watching the video below for a visual overview of the entire process. You can also explore the comprehensive details available on this support portal, where each step is thoroughly outlined.

2. Is this available on both Android and iOS?

InMobi CMP is designed to be applicable to  Android and iOS, in-app and web. It offers seamless integration and consent management capabilities for both mobile operating systems, ensuring comprehensive coverage across different devices and providing a consistent user experience for all your app users.​​​​​

3. Is the CMP compatible with Unity?

Yes, we have a Unity package available here. Please note, whilst UI customization for Unity is not currently supported, it is currently on our roadmap to be available in Q2 2024.

4. Is the CMP a standalone SDK for in-app?

At present, it is a standalone SDK for in-app consent management. In our ongoing efforts to enhance the experience for our publishers, we plan to seamlessly integrate the CMP into our monetization SDK in the first half of 2024. This integration will allow you to effortlessly enable or disable the CMP module, providing you with greater flexibility and control over your app’s consent management approach.

5. How does the integration with Google Mobile Ads or other Ad providers work?

Integration with Google Mobile Ads and other Ad providers through InMobi CMP requires publishers to configure consent preferences and vendors within the CMP interface. The CMP SDK handles user consent collection, TCF string generation, and storage. Ad providers can access the TCF string either through their SDK's API, with publishers passing the consent string, or by retrieving it from shared storage. This string helps Ad providers determine whether to display personalized Ads, ensuring compliance with user consent choices and data protection regulations.

6. Why do I see CMP warnings in the browser console?

If you're seeing CMP warning in the browser, check the following:

  • Ensure you're using the latest CMP tags or GTM container file (if integrated via GTM).
  • Test with the latest CMP version to rule out outdated configurations.

7. Why is the CMP pop-up not appearing on my site?

If the CMP pop-up is missing despite setup, check the following:

  • Site URL Match: Ensure the CMP site URL matches your actual site URL exactly (e.g.,"www.example.com" vs. "example.com").
  • User Location & Consent Scope: If consent is set for specific regions (e.g., "EEA"), the pop-up will not show for users outside those locations.
  • Complete essential post-implementation checks for Android, iOS, and Web.

8. Why is my Google Analytics (GA4) data incorrect or missing consent signals? 

If you're experiencing issues with Google Analytics data or missing consent signals, check whether Google Basic Consent is enabled. This issue typically occurs when it is disabled.

If enabled, verify that all required consent signals are correctly configured. For more information, see Google Basic Consent with InMobi CMP.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 22 Apr, 2025

MSPA

These are some common questions that publishers may have while implementing MSPA.

1. How does the mapping happen if the publisher selects the state framework and the end-user travels to a different state?

If the end-user changes state, there is no mapping of the consents between different sections. Instead, the InMobi CMP will signal to the publisher (via an API) that the end-user has changed states and needs to be re-shown the consent screen. The publisher is responsible for then re-triggering the consent screen. To see the APIs to check user location and trigger the consent screen, see iOS APIs, Android APIs, and Web APIs.

2. What happens if the end-user travels from the US to EEU/UK or vice-versa?

If the end-user travels from the US to EEU/UK, then the GPP string for the US will not be deleted. Instead, the GDPR consent screen for EEU/UK will be shown. Similarly, if the user travels from the EEU/UK to the US, then the GDPR will not be deleted and the MSPA consent popup will be shown for the U.S region.

3. What happens if the user has a CCPA string and the publisher enables GPP?

If a user has a CCPA string and the publisher enables GPP, the US Privacy consent string will not be deleted. Depending on whether the publisher has set the auto-display of the consent screen, the MSPA consent popup will be shown to the user.

4. Why is GDPR not applicable in the US and only US regulations are applicable in the US?

To understand why GDPR is not applicable in the US and why US regulations are applicable only in the US, see Why doesn’t InMobi CMP support GDPR in the U.S?

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 23 Dec, 2025

Compliance and Legal

1. What data privacy regulations and standards does the platform comply with?

InMobi CMP complies with GDPR (General Data Protection Regulation), CCPA (California Consumer Privacy Act), ePrivacy, as well as Google’s and IAB's new policies and specifications (TCF v2.2). Read more about how we comply with these regulations and standards here.

We plan to support new regulations and standards in Q1 2024 such as the Digital Personal Data Protection Act (DPDPA) or IAB's Global Privacy Platform (GPP).

2. Is InMobi CMP Google and IAB certified?

Yes, our CMP is IAB TCF 2.2 and Google-certified. Click here for more information.

3. Do you support GPP, DPDPA and other frameworks/regulations?

As part of our roadmap for 2024, we are focusing on being compliant with global regulations and frameworks such as GPP and DPDPA.

4. Is your CMP a neutral solution? Does your SSP access my data if I am not using your services for monetization?

InMobi CMP is completely neutral and strictly adheres to privacy protocols, only transmitting consent strings to partners whitelisted in the vendor tab of our customer interface. Its certification by Google and the IAB ensures a trustworthy handling of your data. You can rely on InMobi CMP for secure and compliant data processing.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 22 Apr, 2025

Troubleshooting and Support

1. How can I request technical support and troubleshooting help?

InMobi CMP is self-serve, so you should find all the information and guides you need on this support portal. If this is not the case, you can raise a ticket via the support portal.

2. As a former Quantcast Choice customer, I am facing login issues on the InMobi CMP portal.

To access InMobi CMP, log in to the InMobi CMP portal and enter the email address associated with your account. You will then be prompted to reset your password. If you encounter any issues, you can submit a ticket via the support portal.

3. Why does the CMP pop-up appear every time a user visits the site?

If the CMP pop-up shows on every visit, it is likely due to local storage or cookies being cleared every time the site is reloaded or after a user logs in. Ensure that local storage/cookies are not being cleared automatically, as CMP relies on them to retain user consent data.

4. Why am I not seeing personalized ads, or why is my ad revenue low (TCF Error 10.1)?

If personalized ads are missing, revenue is low, or you see errors like: "We received a request from the EEA, UK, or Switzerland, but it lacks TCF signals", it likely means the consent string is missing from the ad request.

To troubleshoot, check the following:

  • Ensure the CMP is correctly storing the consent string in cookies.
  • If the consent string is present but ads are still non-personalized, this could be a race condition (Ads request being initiated before user consent is provided).
  • Use an Asynchronous Callback from CMP to confirm user consent before making the ad request. For more information, see Adding Asynchronous Callback to the CMP.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 22 Apr, 2025

General

1. I am a publisher, how do I create my first ad with InMobi? 

Getting started with InMobi is quick and easy. Here’s a step-by-step walkthrough to begin with.

You might come across the following terms while you set up an account on the InMobi platform. We would recommend that you go through the same so that you are comfortable navigating our platform.

  • Username: Any name that can uniquely identify you to your InMobi account.
  • Account ID: A unique identifier for your account with InMobi. Select the drop-down next to your username to view your account id.
  • Placement ID: A unique identifier for the placement unit you create on the InMobi platform. To find your app Placement Id: select Monetize from the top navigation header, then select the relevant app from your list. The placement Id will be available to you in a dialog box.
  • Payment ID: A unique ID generated at the account level after payment details are updated. To locate, select the drop-down next to your user name.

2. Why am I being redirected to create a new account or sign a contract even though I already have an account? 

If you have created a Google Open Bidding or Direct account and want to switch, you must create a new one. However, you cannot create a new account with the same email address. Additionally, signing a contract only applies to Google Open Bidding accounts (Google Open Bidding SDK connections don't require new accounts).

3. Why do I see blank ads in my campaigns? 

Blank ads may appear due to issues with ad creatives, targeting criteria, or ad-serving limitations. Ensure the setup is correct and Contact Us in case of any issues. 

4. How does test mode work, and when can I see live ads? 

You can enable your placement for Test Mode without affecting the live app. Global means the test ad can be served across all your Live apps with InMobi, while Device means the test ad can be served across the Test Devices added as per the Integration Tab section. 

5. How can I add more users to my account?

To add more users, go to your account settings and select "Manage Users." Add details such as first and last names, designation, email ID, etc to invite additional users. For more details, follow the steps in the My Account tab.

6. Why is it necessary to manually add the app?

Manually adding the app is only applicable in cases where the system cannot fetch the app's details through the URL. In such cases, you need to manually add the URL, Category, Rating, and other details to add the app to your inventory. 

7. How can I locate my account ID? 

You can find your account ID by logging into your account and navigating to the My Account tab. Here, you can view your profile and account details.

8. How can I delete my account?

You cannot delete your account from the platform. To delete your account, Contact Us.

9. Can I change or merge accounts?

Currently, changing or merging accounts is not supported. If you need assistance, Contact Us.

10. Why am I not receiving the verification link?

Check your spam or junk folder; the link might be there. Ensure you’ve entered the correct email address and your inbox is not full. If the issue persists, request the link again or, Contact Us.

11. Why can't I reset my account password?

If you're unable to reset your password, it may be due to an incorrect email or username, a locked account, or a temporary system issue. Double-check your details, ensure your account isn't locked, and try again later. If the problem persists, Contact Us.

If you have additional queries or need further assistance, Contact Us

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 06 Mar, 2025

App Approval Process and Compliance

1. How much time does it take for app approval?

The standard time for app approval is 24 working hours.

2. What are the content guidelines and policies at InMobi?

InMobi's content guidelines and policies ensure that all ads comply with legal standards, protect user experience, and avoid prohibited content, such as adult material, illegal activities, and misleading claims.

3. Why was my inventory rejected or flagged?

Your inventory may be rejected or flagged due to non-compliance with platform guidelines, quality issues, or discrepancies in the provided data. Refer to our content guidelines and policies for more details.

4. Why is the approval of my inventory taking longer than expected?

We usually take 24 working hours for app approval. However, if your app/website belongs to a sensitive category, our team may take longer than expected to review.

5. What does "Under Review" mean?

"Under Review" indicates that your submission is being evaluated and hasn't been approved or rejected yet.

6. Why is data privacy important?

Data privacy enables organizations to stay compliant with legal and regulatory standards, reducing risks, enhancing trust, and ensuring ethical operations. InMobi Publisher Platform is compliant with multiple regulations such as COPPA, CCPA, GDPR, and LGPD. You can follow the steps on the Compliance Declaration page to set your compliance settings.

7. Is InMobi a Data controller, Joint Controller, or Data Processor?

InMobi is a Joint Controller with the Publisher.

8. How will InMobi collect the data?

InMobi does not gather user consent directly and will rely on the publisher to obtain appropriate consent from data subjects and pass that on to InMobi.

9. What will InMobi do in cases where user consent is not present?

InMobi will never collect or pass user data to an advertiser or a publisher without user consent.

10. What happens if the user withdraws the consent?

Publishers must notify InMobi where consent is withdrawn or revoked, and accordingly, InMobi will honor such data subject’s request.

11. What happens if I am not compliant with InMobi’s GDPR solution?

For all requests originating from users who have not given consent, InMobi will serve non-targeted ads to these users. To comply with GDPR, upgrade your SDK today.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 11 Mar, 2025

Monetization

1. Why can't I add price points to the platform?

You can now set the floor price yourself, but this is an access-only feature, Contact Us to get your access.

2. How do I select the right ad format based on the Adslot size I want?

To choose the correct ad format, ensure the size aligns with standard industry dimensions such as banners (320x50), medium rectangles (300x250), or interstitials (320x480). Each format serves specific ad placement needs like banners for mobile screens and interstitials for immersive experiences.

3. What ad formats should I choose based on my desired ad slot size?

Select ad formats that match the dimensions of your ad slot, such as 320x50 for banners, 300x250 for medium rectangles, and 320x480 for interstitial ads.

4. Does InMobi support Outstream video ads? If yes, what format should be created on the Creative Intelligence (CI) platform?

Yes, InMobi supports Outstream video ads. You can create a video ad in the format compatible with the CI platform, ensuring it meets standard dimensions and specifications for seamless integration.

5. Why is my sellers.json not updated on the InMobi domain?

Your sellers.json may not be updated due to: Pending Verification: Your account details are still under review. Incomplete Information: Ensure your payment and business details are accurate.

6. What ad formats would be supported by InMobi for web supply?

Banner (display), In-stream (video), and Native.

7. How will InMobi handle the Ads.txt and Sellers. Json file?

Publishers will need to list InMobi.com as DIRECT in the ads.txt file and InMobi will list the publisher as PUBLISHER in the Sellers.Json file. Note that there is no change required vis-a-vis the in-app flow.

8. Does InMobi honor all the category and domain blocks in the oRTB request?

We do not support category and domain blocks sent to us via the oRBT request. Publishers will need to add blocks while creating the placement field in the Media UI setup.

If you have additional queries or need further assistance, Contact Us.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 11 Mar, 2025

Finance & Payments

1. Why has my payment been delayed?

Payments may be delayed for the following reasons: Publishers registered in Singapore and India are required to send GST invoices. If exempted from GST, they must provide a declaration via email to bd-finance@inmobi.com. Incorrect bank details. Please ensure your bank details are updated correctly.

2. How can I upload my invoice?

You can upload your invoice directly through your account's dashboard on the platform or Contact Us for further assistance.

3. How can I upload an invoice, and what is the required format? 

To upload an invoice, ensure that the file is in PDF format. Follow the guidelines provided on the InMobi platform for invoice submission, including any mandatory details such as invoice number, date, and corresponding campaign ID. For specific instructions, reach out to support@inmobi.com.

4. When can I expect my payment?

InMobi processes publisher payments every month, provided your account meets the minimum payout threshold. Payments are initiated within 60 days after the end of the month in which your earnings are generated. For example, earnings from January will be processed and paid by the end of March, and you can expect to receive the payment by the first week of April.

Here are a few key points to keep in mind:

  • Minimum Payout Threshold: $300 for wire and $ 50 for PayPal, $50 for India publisher. Ensure your account has met the minimum threshold for payouts, which varies depending on your chosen payment method (e.g., wire transfer, PayPal).   
  • Payment Delays: Payments may be delayed if your payment information, such as bank account details, is incomplete or if any discrepancies are identified during the payment verification process. 
  • Verification Process: Ensure your tax and banking details are up to date in your InMobi account to avoid any delays.  

For more information or to track the status of your payments, visit the Payments section in your InMobi account dashboard. If you experience any delays or have further questions, Contact Us.

5. What is the payment cycle?

InMobi processes payments 60 days after the end of the month in which earnings are generated. For example, January earnings are paid by the end of March and payment is received by the first week of April. Ensure your account meets the minimum payout threshold ($300 for wire and $ 50 for PayPal, $50 for India publisher) and that your payment details are up to date to avoid delays.  

6. What are the bank charges?

Bank charges vary based on your payment method and bank policies. InMobi does not cover these charges, so ensure you check with your bank for applicable fees, such as wire transfers or currency conversion charges. 

7. Why is there a discrepancy in my final payout?

Discrepancies in your payout may occur due to: 

  • Bank Charges: Fees deducted by your bank for processing payments. 
  • Currency Conversion: Fluctuations in exchange rates if payments are made in a different currency. 
  • Adjustments: Deductions for invalid traffic, fraud detection, or policy violations. 

For detailed information, review the Payments section in your dashboard or Contact Us.

8. Why I am unable to update my bank details?

You may be unable to update your bank details due to: 

  • Verification Pending: Updates are restricted until your previous information is verified. 
  • Payment Processing: Changes are blocked while a payment is being processed. 
  • Incomplete Information: Ensure all required fields are correctly filled. 

For further assistance, Contact Us.

9.How do I view my earnings history?

Please follow the below steps to view your earning history

  • Login to your account.
  • Click on the drop-down next to your username.
  • Select Finance Tab &gt; My Earnings.
  • Earnings History is available for daily, month-to-date, and year-to-date time periods.
  • Download Transaction History to a CSV or Excel file by clicking the export icon.

Note

The maximum amount you can enter here is the value of your current pending earnings.

If you have additional queries or need further assistance, Contact Us

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 06 Mar, 2025

Ads.txt/sellers. json

1. Why has my ads.txt not been verified yet?

Your ads.txt may not be verified due to:

  • Incorrect Implementation: Ensure the file is hosted at the root of your domain.
  • Propagation Delay: Verification can take up to 72 hours.
  • Syntax Errors: Check for formatting issues in the file.

For guidance, see InMobi Support Portal or Contact Us.

2. I reached 10k ad requests, still not verified?

Verification requires both 10k ad requests and the correct implementation of your ads.txt file. Ensure:

  • The ads.txt file is correctly hosted at the root of your domain.
  • There are no syntax or formatting errors.

If the issue persists, Contact Us.

3. Why should I update the reseller or ads.txt lines?

Updating reseller or ads.txt lines ensures: Ad Authorization: Advertisers can verify you as an authorized seller. Higher Revenue: Proper implementation improves demand and fill rates. Policy Compliance: Aligns with industry standards like Ads.txt and App-ads.txt. For more information, see App.ads.txt.

4. Which lines are mandatory?

For ads.txt, ensure you include all lines provided by InMobi exactly as instructed. These lines authorize InMobi to sell your inventory and comply with industry standards. Missing or incorrect lines may impact monetization.

5. Why is my sellers.json not updated on the InMobi domain?

Your sellers.json may not be updated due to:

  • Pending Verification: Your account details are still under review.
  • Incomplete Information: Ensure your payment and business details are accurate.

If you have additional queries or need further assistance,  Contact Us.  

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 06 Mar, 2025

Mediation

1. Unable to add InMobi as a Bidder? Why?

You may be unable to add InMobi as a bidder due to:

  1. Integration Issues: Ensure your mediation platform supports InMobi.
  2. Incorrect Credentials: Verify your InMobi account details and API keys.
  3. Pending Setup: Complete all required steps in the integration process.

For more information, see Third Party Mediation Platforms or Contact Us.

2. What is the difference between Admob Bidding and Admob Waterfall? How do I set it up?

  • AdMob Bidding: A real-time auction where all demand sources, including AdMob, compete simultaneously for ad space, leading to higher fill rates and revenue.
  • AdMob Waterfall: A sequential setup where demand sources are prioritized, and each network is given a chance to fill the ad space in order. It may result in lower revenue as higher-paying bids might be missed.
  • Setting Up:
    • For AdMob Bidding
      1. Integrate the AdMob SDK with your app.
      2.  Add InMobi as a bidder and configure the setup in the mediation platform
    • For AdMob Waterfall
      1. In your AdMob account, go to the Mediation section.
      2. Create a new Waterfall and set priorities for each network.

3. Why is my GOB account not approved yet?

Your GOB account may not be approved due to:

  1. Incomplete Information: Ensure all required details on your profile are correctly filled in.
  2. Pending Review: Approval can take up to a few business days, depending on the verification process.
  3. Policy Violations: Ensure your account complies with InMobi's policies and guidelines.

For assistance, Contact Us.

4. Where can I find my GOB publisher id?

Your GOB publisher ID can be found in your InMobi account dashboard. To locate it:

  1. Log in to your InMobi account.
  2. Navigate to the GOB section.
  3. Your publisher ID will be listed in the Account Settings or Integration Settings area.

For more information, see Google’s Open Bidding, or for assistance, Contact Us.

5. Can I add InMobi to other mediation platforms?

Oh yes, Absolutely! InMobi supports major mediation platforms like Google AdMob, AppLovin's MAX, Unity LevelPlay, and Digital Turbine, to name the major ones. For directions on integrating each mediation provider, see our integration guidelines page.

6. What are the best practices for ad mediation?

Here’s a quick guide on some of the best practices in ad mediation.

7. Where can I download the InMobi SDK required to work with Google or other mediation platforms?

Visit the Download SDK page to get the latest iOS or Android SDK or learn more about third-party ad mediation platforms supported by InMobi here.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

SDK

1. What are the benefits of integrating InMobi SDK?

  • Featherlight, robust SDK with the largest brand and performance demand connections
  • Built-in Header Bidding (Audience Bidding) and Unified Auction technology
  • Easy plug-and-play integration
  • Crash analytics with proactive logging
  • Built-in ad quality controls
  • Integrated with MOAT and OM SDK viewability
  • True HD buffer-free video viewing experience

2. Which devices does InMobi support?

InMobi supports only Android and iOS devices.

3. Where can I download the InMobi SDK?

You can download the InMobi SDK for Android and iOS devices from here.

4. How do I sign up with InMobi?

You can sign up with InMobi here. If you face trouble signing up, please sign out of the account, clear your browsing data and try again. If you still face any issues, please contact sales@inmobi.com

5. I need help with integrating the SDK, what do I do?

Our team is here for you 24/7. Feel free to write to sales@inmobi.com or to your dedicated InMobi

6. What is the size of InMobi SDK?

InMobi’s latest SDK is robust and featherlight ensuring that your app remains unbloated and performs efficiently to deliver the best user experience. Details on the SDK specifications including its size can be found here.

7. Which frameworks does InMobi support?

InMobi currently supports Cocos2dX and Unity. Please note that we no longer support Cordova.

8. Does InMobi support VAST?

VAST is an IAB specification which defines the mechanism to render a video in a publishing environment. InMobi currently supports VAST 4.0 on different platforms.

9. Does InMobi have app guidelines that I must adhere to?

Yes, publishers who choose to work with InMobi are required to adhere to the following InMobi guidelines. If you fail to comply with these guidelines, we may disable your InMobi account.

This contract shall commence on the date on which you accept these conditions upon your registration with InMobi and shall remain in full force and effect unless and until terminated by either Party in accordance with the terms of the Contract.

10. Why is the InMobi SDK being released in Kotlin and Swift over Java and Objective C?

We have explained the reasons for opting for Kotlin and Swift in our blog.

11. What is the benefit of moving to the InMobi SDK in Kotlin and Swift?

We will be releasing our latest monetization and addressability features only on the InMobi SDK available in Kotlin and Swift SDKs from September 2023 onwards. You will not be able to access our latest features if you are on the InMobi 10.1.X SDK versions.

12. How do I migrate to the InMobi SDK 1.5.X in Kotlin and Swift?

If you are integrated with InMobi via a mediation platform, upgrade to the latest adapter provided by your mediation platform. You can find more details on our blog. If you are integrated with the InMobi SDK via direct integration, follow our migration guide for iOS and Android.

13. What is the benefit of moving to the InMobi SDK in Kotlin and Swift?

We will be releasing our latest monetization and addressability features only on the InMobi SDK available in Kotlin and Swift SDKs from September 2023 onwards. You will not be able to access our latest features if you are on the InMobi 10.1.X SDK versions.

14. How Do I Find My Publisher Reporting API Key?

To find your Publisher Reporting API key:

  1. Log in to your InMobi account.
  2. Go to the APIs section under Account Settings.
  3. Select Reporting API and your API key will be displayed there.

If you don't have access, ensure your account has the required permissions or Contact Us for assistance.

15. What ad formats does my SDK support?

The InMobi SDK supports a variety of ad formats, including:

  • Interstitial Ads
  • Banner Ads
  • Native Ads
  • Rewarded Video Ads

To integrate these formats, ensure you have the latest version of the InMobi SDK in your app.

16. Why are my fill rates not improving?

Low fill rates may be due to:

  • Insufficient Demand: Ensure your ad units are set up correctly and targeting high-demand regions.
  • Ad Unit Size: Consider using larger ad formats to increase ad availability.
  • Mediation Setup: If using mediation, check if InMobi is correctly integrated and prioritized.
  • Invalid Traffic: Check for invalid or non-human traffic that may be affecting fill rates.

17. Do I have to finish SDK integration to finish up the setting up, so that I can do third-party mediation?

Yes, the SDK integration must be completed before setting up third-party mediation. The InMobi SDK is essential to enable the flow of ad requests and responses, allowing third-party networks to be integrated into your mediation setup. Once the SDK is integrated, you can proceed with configuring mediation to maximize revenue from multiple demand sources.

18. What are the common error reasons and when to reach out to support?

  • Invalid Ad Unit ID: Double-check that your ad unit IDs are correctly implemented in the code.
  • SDK Integration Issues: Ensure you're using the latest version of the InMobi SDK and have completed all integration steps.
  • Low Fill Rates: Check your ad targeting settings, ad unit size, and network priorities in mediation.
  • Payment Discrepancies: Verify your account details and payment settings.
  • Ads Not Showing: Ensure there’s sufficient demand, and check for issues with your network integration or ad inventory.

If you have additional queries or need further assistance, Contact Us.    

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 05 Jan, 2026

API

1. What is the currency unit of earnings?

The earnings are reported in US dollars.

2. What is the upper limit on the number of requests per session?

There is no limit on the number of requests per session.

3. What is the upper limit on the number of sessions in a day?

You can fetch a maximum of 15 sessions in a day.

4. In case of issues or downtime, what is the usual ETA for accessing the repaired data?

Once the issue is detected, the usual ETA is 24-48 hours.

5. What is the time period of data delay?

The usual data delay is 4-5 hours. Also, InMobi follows the GMT.

6. How far back can publishers retrieve data?

6 months.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 11 Mar, 2025

Definitions and Core Concepts

This topic explains dimensions, metrics, and filters such as visits, sessions/consent screen displays, consent status, and others on the InMobi CMP Analytics dashboard. 

Session/Consent Screen Display

Session/Consent Screen Display is an instance where a user is prompted through a popup screen to manage their data privacy preferences when they access a website or application. This screen typically appears during the initial visit or when a new consent action is required due to policy changes, regulatory updates, or session expiry.

For example, when a user visits a website for the first time. The CMP displays a consent screen to manage privacy settings. It would be counted as one session/consent screen display. 

Visit

A Visit occurs whenever a user interacts with a website or application. 

For example, a visit begins when a user accesses a website or app for the first time. 

Additionally, if a user visits a website or an app, and comes back after 30 mins of inactivity, this would count as another visit.

In a third scenario, if a user visits a website or app, leaves, and returns the next day (UTC) of their previous visit, this would also be counted as a separate visit.

Consent States

Consent States are reflected differently for each regulation such as GDPR, CCPA, and GBC, in InMobi CMP. The following table shows how you can select consent states for each regulation for analytics purposes.

  GDPR CCPA GBC
Accept All

Under Dimension, select Regulation GDPR.

Under Metric, select Accept All.

Under Dimension, select Regulation CCPA.

Under Metric, select Accept All.

Under Dimension, select GBC.
Reject All

Under Dimension, select Regulation GDPR.

Under Metric, select Reject All.

Under Dimension, select Regulation CCPA.

Under Metric, select RejectAll.

Under Dimension, select GBC.
Partial Accept

Under Dimension, select Regulation GDPR.

Under Metric, select Partial Accept.

Under Dimension, select Regulation CCPA.

Under Metric, select Partial Accept.

Under Dimension, select GBC.
Bounce

Under Dimension, select Regulation GDPR.

Under Metric, select Bounce.

Under Dimension, select Regulation CCPA.

Under Metric, select Bounce.

Under Dimension, select GBC.

Consent or Pay Enabled

Consent or Pay Enabled is a dimension and filter provided by InMobi CMP allowing you to view analytics only for the sites for which Consent or Pay has been enabled by you. This is a convenient option as it saves you the time of selecting each site while generating reports. 

Paid User Count

The total number of users marked as paid users out of visits where consent or pay was applicable.

Total Sessions

The total number of CMP sessions that were triggered.

Opt-In Rate

The percentage of total sessions that resulted in the CMP status being accepted.

Opt-Out Rate

The percentage of total sessions that resulted in the CMP status being rejected.

Bounce Rate

The percentage of total sessions where no CMP status was received.

Partial Opt-In Rate

The percentage of total sessions that resulted in the CMP status being partially accepted.

Total Traffic

The total number of visit events received, limited to visits where CMP is relevant.

Visit Accept Percentage

The percentage of total traffic where the final CMP status was "accepted." The CMP status for a visit is marked as "accept" in the following scenarios:

  • The existing CMP status is "accept," and no CMP session is triggered.
  • There is no existing CMP status, and a triggered CMP session is accepted by the user.
  • The user manually triggers CMP during the visit and accepts.
  • CMP is auto-triggered, but the user manually re-triggers it, and the final valid CMP status is "accept."

Visit Reject Percentage

The percentage of total traffic where the final CMP status was "reject." This status is determined in the following scenarios:

  • The existing CMP status is "reject," and no CMP session is triggered.
  • There is no existing CMP status, and a triggered CMP session is rejected by the user.
  • The user manually triggers CMP and rejects.
  • CMP is auto-triggered, but the user manually re-triggers it, and the final valid CMP status is "reject."

Visit Partial Percentage

The percentage of total traffic where the final CMP status was "partially accept." This status is determined in the following scenarios:

  • The existing CMP status is "partially accept," and no CMP session is triggered.
  • There is no existing CMP status, and a triggered CMP session is partially accepted by the user.
  • The user manually triggers CMP and partially accepts.
  • CMP is auto-triggered, but the user manually re-triggers it, and the final valid CMP status is "partially accept."

Visit Bounce Percentage

The percentage of total traffic for which no valid CMP status was received. This occurs when CMP is auto-triggered, but the user does not respond to the CMP session screen.

GBC Accept Percentage

The percentage of total sessions where GBC was applicable, and the GBC status was "accept."

GBC Reject Percentage

The percentage of total sessions where GBC was applicable, and the GBC status was "reject."

GBC Partial Percentage

The percentage of total sessions where GBC was applicable, and the GBC status was "partially accept."

Visit GBC Accept Percentage

The percentage of total traffic where GBC was applicable, and the final GBC status was "accept."

Visit GBC Reject Percentage

The percentage of total traffic where GBC was applicable, and the final GBC status was "reject."

Visit GBC Partial Percentage

The percentage of total traffic where GBC was applicable, and the final GBC status was "partially accept."

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Android

This document outlines common errors encountered during Android SDK implementation, along with their causes and solutions. It aims to help developers troubleshoot issues quickly and ensure seamless integration.

1. Errors in oncmpError callback

One of the callbacks within ChoiceCMPCallback is onCmpError, which gets fired whenever there’s an issue in CMP. This function has a parameter: error which contains information about the error that has occurred.

Here’s a list of error messages that error can have:

Message Possible Reasons Actions
No connection found to load CMP There is no internet connection on the device. Check internet connection on the device. Make sure the app is given permission to use the network.
Given pCode is invalid The PCode is invalid. Look for any spaces. Make sure the PCode is copied from the portal without the “p-”.
Could not find configuration for this packageId. Have you set it up in InMobi Choice web portal? The combination of pcode and packageId is not found on the portal. Either pcode or packageId is invalid. Check pcode and packageId provided during initialization. Check the spaces in packageId. Make sure packageId is a valid entry in portal.
SDK must be initialized first by calling startChoice method Trying to call cmp api before initializing sdk.   Initialise SDK first by calling startChoice method. Wait for the onCmpLoaded callback before calling any API.
An error has occurred when CMP tried to execute a network call Some exception occured while doing a network call. If the issue persists, contact InMobi
An invalid json format has been found when CMP tried to read the data There is some issue with the json response format returned after doing a network call. If the issue persists, contact InMobi
Couldn't load publisher logo, url is empty or it doesn't return an image The logo on the GDPR screen was not loaded. Either the URL was empty or there was no image on the given URL. If the logo is to be displayed on the GDPR consent screen, make sure the image URL on the portal is not empty and the URL is valid.
An error has occurred when a TCModel property was tried to be set There was some error while setting TCModel property. Make sure cmp is initialized properly. If the issue persists, contact InMobi.
An unexpected value was received from GeoIp service Occurs while setting default CCPA consent. Value received for location from geoip is invalid. If the issue persists, contact InMobi.
An unexpected error has occurred when CMP tried to do a network call Unknown exception occured while trying to do a network call. Some unknown exception occurred during network call. If the issue persists, contact InMobi.
CFileNotFoundException has been captured when CMP tried to do a network call FileNotFound Exception occured while trying to do a network call. If the issue persists, contact InMobi
An invalid URL has been passed The URL passed to the privacy policy link of the GDPR screen is invalid Make sure that the URL given for the privacy policy link under the GDPR section is valid, check for spaces in the field.
Some error occurred while saving consent There was some issue in saving MSPA consent. If the issue persists, contact InMobi
Init screen texts are missing Some screen texts are missing and not configured properly on the portal. Check all the fields are filled and saved properly on the portal.

 2. Errors that appear in console

Debug and Error Logs are logged in the console to track any misbehavior or errors in SDK. Here's a list of Error Logs and their description:

Message Possible Reasons Actions
The value is too large to be encode into the number of bits passed Internal system behaviour related log caused due to long encoding failure Report to InMobi
Invalid bit length Internal system behaviour related log caused due to decoding failure Report to InMobi
Some unknown error occurred Some unknown error occurred while saving MSPA consent. Check the network connection and try again. If the issue still persists, contact InMobi.
Some error occurred while saving consent There was some error while saving MSPA consent. Check the network connection and try again. If the issue still persists, contact InMobi.

3. Info messages that appear in console

Info messages are logged in console to convey meaningful messages in SDK. Here is a list of those messages and description:

Message Possible Reasons
Either US Privacy is not applicable or disabled for the current location Either US privacy is not applicable for current region or is disabled from portal.
This consent is not available for the given country Regulation applied is not valid for the current country.
GDPR is not applicable for this scenario Either GDPR is not applicable for current country or is disabled from portal.
Either GBC is not applicable or disabled for the current location GBC is not applicable for current region or is disabled from portal.
Auto pop-up is disabled and not applicable for this region because CCPA is enabled for this region Auto pop-up is disabled and will not be applicable even if enabled as CCPA is applicable for this region. Auto pop-up is shown if MSPA/GDPR is applicable.
Auto pop-up is not applicable for this region as CCPA is enabled CCPA is applicable for the current region so auto pop up will not be displayed. Auto pop-up is shown if MSPA/GDPR is applicable.
Auto pop-up is disabled so no dialog will be shown MSPA auto pop-up is disabled from the portal so no dialog will be shown automatically.
MSPA is applicable but no need to re-trigger the screen MSPA is applicable and consent is present

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 20 Jan, 2025

iOS

This document outlines common errors encountered during iOS SDK implementation, along with their causes and solutions. It aims to help developers troubleshoot issues quickly and ensure seamless integration.

1. Errors in cmpDidError delegate

One of the delegate functions within ChoiceCMPDelegate delegate is cmpDidError which gets fired whenever there’s an issue with the initialisation due to any reason. This function has a parameter: error which contains information about the error occurred.

Here’s a list of error messages that error.localizedDescription with have:

Message Possible Reasons Actions
The data couldn’t be read because it is missing. There’s an issue in the configuration on the portal. Check all the fields are filled and saved properly. Also check if the same bundle identifier is used in the App and on the portal.
Malformed portal configuration URL, check pCode and bundleIdentifier Either PCode or bundle identifier is not correct. Look for any spaces. Make sure the PCode is copied from the portal without the “p-”.
Malformed app-config.json file at NewPremiumUILabels level Some of the key data is missing or incorrect in translations If the issue persists, contact InMobi
It is not known yet if GDPR Applies so this value may be misleading.  Always check `gdprAppliesIsKnown` first If you are using doesGdprApply (in Objc) before initialisation, you may encounter this error. Check if the initialisation is done by implementing the cmpDidLoad delegate and then check this value.
Unsupported language The selected language or device language is not supported. If the issue persists, contact InMobi
Could not find rootView controller. Make sure your rootViewController is attached to a keywindow before starting CMP CMP couldn’t find the ViewController. Make sure the SDK is properly setup and configured before initialisation.
CMP has not loaded yet, run startChoice with the pCode first. ForceDisplayUI is called before initialisation. Wait for the cmpDidLoad callback before calling the API
US Regulation is not configured in the portal showUSRegulations has been called but CCPA / MSPA not configured properly on the portal Make sure the configurations are correct from the portal
CCPA is not configured in the portal. ShowCCPA is called but not configured from the portal Make sure CCPA is configured properly from the portal
Could not find rootView controller. Make sure your rootViewController is attached to a keywindow before starting CCPA CMP couldn’t find the ViewController. Make sure the SDK is properly setup and configured before initialisation.
Could not find rootView controller. Make sure your rootViewController is attached to a keywindow before showing Google Basic Consent CMP couldn’t find the ViewController. Make sure the SDK is properly setup and configured before initialisation.
Color named: {key} is malformed with value: {color string provided}.  Color must start with #") The colour string value provided during the initialisation is incorrect. Check for all the provided colour values on initialisation. The colour values string must start with “#” character followed by three or six digits colour code.
Could not find MSPA Viewcontroller CMP couldn’t find the ViewController. Make sure the SDK is properly setup and configured before initialisation.

 2. Errors that appear in console

Debug and Error Logs are logged in console in order to track any misbehaviour or errors in SDK. Here's a list of Error Logs and their description:

Message Possible Reasons Actions
Error encoding the object Internal system behaviour related log caused due to data encoding failure Report to InMobi
MSPA Jurisdiction not found Missing values in configuration file Check the MSPA related values in the portal and save properly.
Region not found Missing values in configuration file Check the network connection and if the issue still persists, report to InMobi
Error loading iabgpp Internal error in GPP encoding Report to InMobi
Failed to decode GoogleVendor data Invalid google vendor format encountered while retrieving from storage. If occurred during testing, reinstall the app and if the issue persists, report to InMobi
Could not find the geo location One of the internal configurations failed to download Check the network connection and try again
Error downloading GVL version. Using Cache Global vendor list failed to download. Check the network connection and try again. If the issue still persists, contact InMobi
Error decoding global vendor list There’s some inconsistencies with the newly downloaded GVL Report to InMobi
No locations found Missing values in configuration file Check the MSPA related values in the portal and save properly.
Current geo location not found One of the internal configurations failed to download Check the network connection and try again
Failed to load custom font There’s some issue when using the custom font provided during the initialisation. Check if the font is properly added to the bundle and in Info.plist as per the Apple documentation. Also check if the correct font name is passed in the initialisation

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 20 Jan, 2025

Overview

This topic explains the concept of Concept or Pay and how publishers can honor end-user consent preferences by giving them a free opt-out option to limit data tracking.

What is Consent or Pay?

“Consent or Pay" is a concept where users are given a choice to either provide consent for data collection or pay to access content without consenting to data tracking or advertising. The three main options are:

  • Consent: This is the option for users to allow the collection, processing, and sharing of their personal data in exchange for free access to a website or service. CMPs typically collect and store users' consent choices for compliance with privacy regulations, such as GDPR or CCPA. By providing consent, users allow consent for different data processing purposes as selected by the publisher on their and their vendor’s behalf. 
  • Pay: This option is an alternative for users who prefer to completely opt out of any data processing. Instead of consenting to data collection, users can choose to pay a fee for an ad-free experience or access to premium content without any data tracking. This allows users more control over their privacy.
  • Free Partial Accept: The European Data Protection Board (EDPB) has released an opinion citing that publishers must provide a “Free alternative to opt-out of personalized advertising”. Under this, InMobi CMP enables a Free partial accept option which allows end-users to opt out of personalized ads if they so choose. This way, InMobi’s solution remains compliant with EDPB's opinion on this topic.

Developments so far 

In November 2023, Meta introduced a paid subscription for Instagram and Facebook users who don't want to be tracked. This was referred to as the 'Pay or okay' model. ​

In response to this, the European Data Protection Board (EDPB) has published an opinion stating the following:​

“In most cases, it will not be possible for large online platforms to confront users only with a binary choice”.​

A free alternative should be given without behavioral advertising, e.g. involving the processing of less or no personal data.​

The scope of this opinion is for “large online platforms“ (evaluated on a case-by-case basis)​.

Consent or Pay 2.0

Consent or Pay 2.0 emerged after the EDPB's guidance to offer users a free opt-out of personalized ads.

Consent or Pay 2.0 Checklist 

  • Partial Accept is mandatory (Reject all will be behind pay-wall). Users will be able to opt out of personalised ads.​ This is the main differentiator from the 1.0 version of Consent or Pay which only had a binary choice.
  • At least one non-personalized purpose should be available to empower users to opt out of personalized ads​. This is also a check maintained by InMobi CMP on behalf of publishers. 
  • Multiple implementation options for publishers:​
    • Option 1: Publishers can use CMP’s consent call-backs to re-direct the user themselves based on the consent state (Accept All, Reject All, etc).​
    • Option 2: Publishers can simply provide the re-direction URLs (web) in the CMP which does the re-direction​
  • Balance publisher control vs. standardization for button copy (button labels), consent screen text, and language translations.​
  • Provide publishers control to implement consent or pay in only certain countries but not in other countries.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 20 Dec, 2024

Implementation

This documentation outlines implementing the Consent or Pay model with InMobi CMP. InMobi CMP enables publishers to provide a free option to opt out of data tracking and receiving personalized ads with the Partial Accept option. For more information on Consent or Pay, see Overview.

Portal Configuration

  1. To start, login to your InMobi CMP account here.
  2. On the Properties page, select the property you wish to enable Consent or Pay for, and click the edit icon.

  3. On the General Settings page, scroll down to ENABLE CONSENT AND PAY and select Yes.

  4. On the pop up, select the countries where you want to implement Consent or Pay and the redirection URL settings.

    Note

    Consent or Pay will only be implemented for the selected countries. For the remaining countries, GDPR will apply.

  5. Select OK to save your settings.

Themes 

Configuring Themes settings allows you to manage the look and feel of the consent screen.

  1. Navigate to the Themes tab on the top of the page and click the edit icon next to the desired property.

  2. Under Configure your theme, go to Consent and Pay Settings.

  3. Choose the languages in which you wish to translate the consent screen and button texts.

  4. Next, select the layout for your screen and buttons. InMobi CMP offers two layouts with the 'Subscribe' and the 'Subscribe and Login' buttons respectively.

  5. Edit the button and consent screen texts as per the languages chosen earlier.

    Note

    Certain sections of the CMP banner text (L1, L2, L3, and L4) must remain unchanged to ensure compliance with IAB-TCF guidelines. However, you can add content before, after, or between these sections without requiring approval. If you attempt to edit these sections, a structured review request process will be triggered to ensure flexibility for you to have desired content but as per IAB guidelines.

  6. To request a text change, click Need Changes? Request here. Add details of the required text changes and reason for change. 

    Note

    Once the request is raised:

    • You will receive an acknowledgment via email and a unique Ticket ID will be generated.
    • You cannot raise another request while one is in progress.
    • If they text is approved, you cannot raise another request for the next 15 days.
    • The advanced customizations will remain unaffected during the review process and will continue to have default text/settings.
    • You will see the updated consent banner text once it is updated from the backend after approval.
  7. Click View Submitted Requests to view requests and their status.

  8. Add your required footer links in the Custom Footer Links field.

  9. Click Save Theme on the top of the page to save your settings.

SDK Implementation

 Android

For Android implementation and SDK-related changes, see Android.

iOS

For iOS implementation and SDK-related changes, see iOS

Web

For Web APIs, see Handling Consent APIs.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 22 Apr, 2025

APIs

This document details the APIs to enable Consent or Pay on your app or website.

Android

  1. To provide the login/subscription status to the CMP, use the following API with the appropriate value:

    Kotlin

    ChoiceCmp.setUserSubscriptionStatus(SUBSCRIPTION_STATE)
    

    Java

    ChoiceCmp.setUserSubscriptionStatus(SUBSCRIPTION_STATE);
    

     

    Note

    We recommend you use this API:

    • Just before initialising the SDK.
    • Once the login/subscription process is completed through the CMP. This enables the CMP to know the new status.
  2. The method onActionButtonClicked will be triggered when the user clicks any of the Action buttons. The parameter actionButton will contain the info about whether it’s ActionButton1 or ActionButton2.

    Kotlin

    override fun onActionButtonClicked(actionButton: ActionButton) {
       /* code */
    }
    

    Java

    @Override
    public void onActionButtonClicked(@NonNull ActionButton actionButton) {
        // code
    }
    

iOS

Note

Ensure consent or pay is enabled in the portal and applicable for the country. To know more about Consent or Pay, see Overview.

  1. To provide the login/subscription status to the CMP, use the following API with the appropriate value: 

    Objective-C

    [[ChoiceCmp shared] setUserLoginOrSubscriptionStatus:(BOOL)];
    

    Swift

    ChoiceCmp.shared.setUserLoginOrSubscriptionStatus(Bool)
    

     

    Note

    This API is recommended to be used:

    • Just before initialising the SDK (calling startChoice API).
    • Once the login/subscription process is completed through the CMP. This updates the status to the CMP.

    Objective-C

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        // Initialise InMobiCMP
        [[ChoiceCmp shared] setUserLoginOrSubscriptionStatus:true];
        [self startChoice];
        return YES;
    } 
    

    Swift

    @main
    class AppDelegate: UIResponder, UIApplicationDelegate, ChoiceCmpDelegate, CCPADelegate {
        func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
            ChoiceCmp.shared.setUserLoginOrSubscriptionStatus(true)
            ChoiceCmp.shared.startChoice(pcode: "< YOUR PCODE >", delegate: self)
            return true
        }
    } 
    
    

     

  2. Implement the following delegate function to receive the ActionButtons update.

    Objective-C

    (void) didReceiveActionButtonTapWithAction:(enum ActionButtons)action {  
      switch (action) { 
        case ActionButtonsAction1: 
        // Your implementation here.. 
        break;
        
        case ActionButtonsAction2: 
        // Your implementation here.. 
        break; 
        
        default:
        break; 
        } 
    } 
    

    Swift

    func didReceiveActionButtonTap(action: ActionButtons) {
      switch action {
        case .action1: 
        // Your implementation here..
        
        case .action2:
        // Your implementation here.. 
        } 
       } 
    
    
  3. The method didReceiveActionButtonTap will be triggered when the user clicks any of the Action buttons. The parameter actionButton will contain the info about whether it’s ActionButton1 or ActionButton2.

    Objective-C

    (void) didReceiveActionButtonTapWithAction:(enum ActionButtons)action {  
      switch (action) { 
        case ActionButtonsAction1: 
        // Your implementation here.. 
        break;
        
        case ActionButtonsAction2: 
        // Your implementation here.. 
        break; 
        
        default:
        break; 
        } 
    } 
    

    Swift

    func didReceiveActionButtonTap(action: ActionButtons) {
      switch action {
        case .action1: 
        // Your implementation here..
        
        case .action2:
        // Your implementation here.. 
        } 
       } 
    

     

    Note

    If the user has consent or pay enabled, moves to more options screen, then rejects all the consents, and then saves and exits, it will be treated as action button 1 press, and the same delegate will be called with ActionButton value as action1.

Web

Signaling User Subscription Status to the CMP

To indicate whether the user is subscribed, the publisher can set a JavaScript variable in the global window object. This can be used by the Consent Management Platform (CMP) to determine whether or not to display the consent popup.

Method:

window.__user_status = 'subscribed';
  • If the user is subscribed, the CMP will detect this signal and will not display the consent popup.
  • Additionally, the CMP will automatically store the consent status as reject since the user has already made a subscription decision.

Workflow:

  1. The publisher sets window.__user_status = 'subscribed'; when a user is confirmed to be subscribed.
  2. The CMP reads this signal upon initialization.
  3. If the user is subscribed (i.e., window.__user_status === 'subscribed'), the CMP skips the consent popup display.
  4. The CMP registers the consent status as "reject" (no further consent required).

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 23 Dec, 2025

Advanced Customization

The Advanced Customisation page allows publishers to tailor the text of their consent banners. All edits made in this section must comply with IAB standards and are subject to the CMP approval process before going live.

  1. Login to your InMobi CMP account here
  2. Navigate to the Themes tab and click the edit icon next to the desired property.

  3. Under GDPR Consent Settings, go to Advanced Customization.
  4. Choose the languages in which you wish to translate the consent screen and button texts.

  5. Edit the button and consent screen texts as per the languages chosen earlier.
  6. Sample text contains clickable macro placeholders. Add macros to support Number and link of publishers, Cookie duration, Cookie name. It is mandatory to add them to reduce rejection.
  7. Use the format toolbar to customize consent body text to bold, italic, underline, and add bullet points and links.

    Note

    • Certain sections of the CMP banner text (L1, L2, L3, and L4) must remain unchanged to ensure compliance with IAB-TCF guidelines. However, you can add content before, after, or between these sections without requiring approval. If you attempt to edit these sections, a structured review request process will be triggered to ensure flexibility for you to have desired content but as per IAB guidelines.
    • Macros auto-populate with correct values from the CMP system at runtime. They will render correctly in the preview and live banner. Invalid macros trigger an error message before saving.
  8. You can also preview your theme in the preview section by selecting Advanced from the options.

  9. To request a text change, click Need Changes? Request here. Add details of the required text changes and the reason for the change. 

    Note

    Once the request is raised:

    • You will receive an acknowledgment via email and a unique Ticket ID will be generated.
    • You can raise another request while one is in progress.
    • If the text is approved, you cannot raise another request for the next 15 days.
    • The advanced customizations will remain unaffected during the review process and will continue to have default text/settings.
    • You will see the updated consent banner text once it is updated from the backend after approval.
  10. Click View Submitted Requests to view requests and their status. You can apply one of the approved requests to your theme. 

  11. Once the theme is approved, you can apply the advanced customisation content to your property by selecting Use Customised Text option in your property settings.

    Note

    This is a premium feature and will be applied only if a property is premium; else it will default to standard text applied to them/es. 

  12. Add your required footer links in the Custom Footer Links field.

  13. Click Create Theme at the bottom of the page to save your settings.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 24 Mar, 2026

Introduction

Ads.txt (Authorized Digital Sellers) is an IAB Tech Lab initiative. It is a simple, flexible, and secure method that you can use to publicly declare the companies you authorize to sell your digital inventory. 

During the real-time bidding process, the ad monetization space saw fraud in ad inventory offered to buyers with a misrepresented label and account. Typically, the webpage's domain, or the mobile app's ID, has been falsified to look like a site or app they do not have authorization to sell. Ads.txt and App-ads.txt enable buyers to spend only programmatic dollars through channels explicitly trusted and authorized by the originating publisher.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Nov, 2024

Set up An Ads.txt File for Your Website

Create ads.txt File at the Root level of Your Website

Create your ads.txt file using the following file format and data record:

File Format

Data encoding details:

  • Use 'text/plain' as the HTTP content type; treat other types as errors.
  • Core syntax: Comma-separated format with three fields per line.
  • Records are separated by an end-of-line marker.
  • Records follow a specific line format.
    • &lt;FIELD #1&gt;, &lt;FIELD #2&gt;, &lt;FIELD #3&gt;, &lt;FIELD #4&gt;
      placeholder.example.com, placeholder, DIRECT, placeholder
Field Name Mandatory/Optional Description
Field #1 Domain name of the advertising system Mandatory The canonical domain name of the SSP, Exchange, Header Wrapper, and so on that bidders connect to.
Field #2 Publisher’s Account ID Mandatory The identifier associated with the seller or reseller account within the advertising system in field #1.
Field #3 Type of Account/Relationship Mandatory Indicates the type of account.
‘DIRECT’ indicates that the Publisher directly controls the account. This means a direct business contract between the Publisher and the advertising system.
‘RESELLER’ indicates that the Publisher has authorized another entity to control their account and resell their ad space.
Field #4 Certification Authority ID Optional An ID that uniquely identifies the advertising system within a certification authority (this ID maps to the entity listed in field #1).

Add Your Personalized Code Snippet

For the ads.txt setup, you must ensure to:

  • Add business/payment info to generate entries. For more information, see Payment Settings.
  • Use InMobi's personalized ads.txt entries.
    • Inmobi's line: This a mandatory line to be included in your ads.txt file to authorize Inmobi to sell your inventory.
    • Priority lines: This list includes the above mandatory line and the reseller lines to help you achieve optimal monetization through Inmobi.
    • Maximum lines: This list includes Inmobi's line and all the reseller lines suggested by Inmobi to maximize your earning potential on Inmobi's platform.
     

    After the maximum line entries, you must include details about the Direct or Reseller Apps to simplify the process of managing both direct and reseller inventory.

    • The Direct tab lists apps where the publisher has verified direct access to the inventory.
    • The Reseller tab shows apps categorized as reseller inventory, where the publisher is acting as a reseller.
     

    Ensure you add the "direct" line only for apps listed under the Direct tab and the "reseller" line only for those under the Reseller tab.

  • Append entries to your ads.txt file.

Follow the instructions below to get your personalized ads.txt entries, which include your InMobi payment ID:

  1. Log in to InMobi.
  2. Navigate to Inventory &gt;&gt; ads.txt.
  3. Scroll down and download the ads.txt file.
  4. Post the file in your website's root directory.
  5. Ensure correct formatting and line breaks after updating InMobi’s entries into your ads.txt file.

Publish ads.txt File on your Website

InMobi's ads.txt crawler locates your file using the website URL provided for that inventory on the dashboard. Per ads.txt specs, the crawler checks the file at:

  • https://&lt;&lt;hostname&gt;&gt;/ads.txt
  • http://&lt;&lt;hostname&gt;&gt;/ads.txt

Determine the hostname from your website URL. It's the website's root domain, as explained below.

Refer to the table for examples where the InMobi crawler checks for an ads.txt file based on different website root domains.

If the website is: Crawler looks in the following order:
https://example.com/game https://example.com/ads.txt
http://example.com/ads.txt
http://help.example.com/game https://example.com/ads.txt
http://example.com/ads.txt

The ads.txt specification outlines rules for root domains and subdomains. Crawlers will explore up to five redirections within a root domain and one outside the root domain.

To verify correct publication, ensure the ads.txt URL displays its content when accessed through your web browser. If it is visible in your browser, crawlers will probably locate it successfully.

Ensure Crawlable ads.txt File

Ensure the ads.txt is accessible via both HTTP and HTTPS.

Check Verification Status of ads.txt File

Monitor your ads.txt files in your InMobi account:

  1. Log in at https://publisher.inmobi.com/.
  2. Navigate to Inventory on the left menu.
  3. Select ads.txt.
  4. After you add the ads.txt with seller information, you can view the verification status loading below.

If your file wasn't located or verified, review the details in your InMobi account or explore troubleshooting tips for ads.txt issues.

Note

If you've recently updated your ads.txt file, it may take at least 24 hours for the crawler to display the latest verification status.

First-time Setup Process

Upon creating your account on InMobi and establishing your inventory, access the verification status through Inventory &gt;&gt; ads.txt. Activation of the InMobi crawler occurs once any of the added apps has generated 10 thousand bid requests.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 13 Nov, 2025

Troubleshooting

Verification Status Action Required
X of X sellers are authorized.
The ads.txt file is found and verified. InMobi crawled and verified your ads.txt file.
No action needed
X-Y of X sellers are authorized.
Please include the missing seller entries in your ads.txt file to sell inventory with all of InMobi’s authorized sellers.
Please include the missing seller entries in your ads.txt file to sell inventory with all of InMobi’s authorized sellers. Ads.txt helps prevent ad fraud by making it harder for malicious actors to sell fake ad inventory. Most buyers verify whether the reseller is legitimate and may reject the ad request if the reseller ID is missing in the website's ads.txt file.
0 of X sellers are authorized.
Please include the missing seller entries in your ads.txt file to avoid unintentional revenue loss.
Please include the missing seller entries in your ads.txt file to avoid unintentional revenue loss. Ads.txt helps prevent ad fraud by making it harder for malicious actors to sell fake ad inventory. Most buyers verify whether the reseller is legitimate and may reject the ad request if the reseller ID is missing in the website's ads.txt file.
The redirection URL did not respond properly.
Please ensure that the redirection URL is working properly and the ads.txt file is reachable from root domain.
Please ensure that the format of the headers in the response is correct and the response is sent within 1.5 sec.
The redirection URL did not respond properly.
Ensure that the redirection URL is working properly and the ads.txt file is reachable from root domain.
Ensure that the format of the headers in the response is correct and the response is sent within 1.5 sec.
File not found, the URL responded with invalid MIME type.
The URL responded with an unsupported MIME type in the header.
Please verify that the ‘content-type’ key in header contains ‘text/plain’ as part of it's value.
The URL responded with invalid MIME type. The redirection URL responded with headers in incorrect format.
This issue generally happens when the header (i.e., Content-Type) for any 200 OK response doesn’t contains text/plain As a resolution, please check the headers being returned in response to contain Content-Type one of a headers which returns text/plain as a value for this header.
The ads.txt file was not found because it uses too many redirects.
The IAB recommends no more than five redirects from the ads.txt page on the root domain. (Example: domain.com/ads.txt)
Please move the ads.txt file to within five redirects from domain.com/ads.txt.
InMobi crawler supports upto 5 redirections within the root domain and upto 1 redirection outside the root domain.
Check the number of redirections happening from the initial URL.
Ensure that your web server hosts your ads.txt file or redirects to the correct location when you enter the ads.txt URL shown in your InMobi account. The ads.txt URL shown in your account is the URL InMobi uses to find your file. 
The ads.txt file was not found because it uses too many redirects away from the root domain.
ads.txt files are typically hosted on the root domain. (Example: domain.com/ads.txt)
However, redirects can be common. IAB recommends no more than one redirect away from the root domain.
Please move the ads.txt file to within one redirect from domain.com/ads.txt.
InMobi crawler supports upto 5 redirections within the root domain and upto 1 redirection outside the root domain.
Check the number of redirections happening from the initial URL.
Ensure that your web server hosts your ads.txt file or redirects to the correct location when you enter the ads.txt URL shown in your InMobi account. The ads.txt URL shown in your account is the URL InMobi uses to find your file.

An ads.txt file was not found on the root domain.

Please ensure the ads.txt file is hosted in the correct place on your root domain and setup as per InMobi’s guidelines. Example: https://yourwebsite.com/ads.txt

This usually resembles to a situation when InMobi crawler gets 200 OK response upon crawling, but the body of the response is empty.
To rectify this,

  1. Please validate the response body being returned from the ads txt url.
  2. Set up an ads.txt file and publish it on your website root domain.

Note: If you’ve recently added the ads.txt file in your root domain, allow up to 24 hours for InMobi to detect these changes. The ads.txt crawler is activated only after receiving at least 10,000 bid requests.

Something went wrong. Please raise a ticket to InMobi support.
The ads.txt file could not be crawled due to an unexpected error.
Something unexpected happened and the file could not be crawled. Please raise a ticket for InMobi support

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 13 Nov, 2025

GPP

This topic explains GPP, its relevance for publishers to stay compliant with different regulations, and how InMobi Ad Exchange supports GPP through SDK and API integrations.

What is GPP?

The Global Privacy Platform (GPP) by the Interactive Advertising Bureau (IAB) is a standardized global framework for managing user consent in digital advertising. For more information, see GPP.

Why is it relevant to U.S. Privacy?

The GPP aims to simplify the conveyance of privacy, consent, and consumer choice signals from websites and applications to ad tech vendors. It empowers advertisers, publishers, and technology vendors to align with regulatory requirements globally. 

The GPP centralizes the management of diverse consent signals from various global privacy jurisdictions and additionally accommodates the Global Privacy Control (GPC), a browser-level signal enabling individuals to opt out of information sale or sharing. The GPP currently supports consent strings for the US Privacy and IAB Europe TCF.

The US Privacy String has been deprecated as of April 30, 2024. The legacy US Privacy signal does not support the four US states privacy signals —VA, CO, CT, and UT. For CCPA, only a few of the required consents are supported. In contrast, the new state signals for the other four states will only be supported by the GPP. 

How does InMobi support GPP?

InMobi Ad Exchange now supports GPP through InMobi SDK and API integrations. 

For SDK integrations, the app can store the GPP strings in Shared Preferences for Android and Managed under the key names for iOS, prescribed by IAB: The key names are : IABGPP_HDR_Version, IABGPP_HDR_Sections, IABGPP_HDR_GppString, IABGPP_GppSID. For more details, see In-App Key Names.

For API integration, you can now send GPP strings via regs → ext → gpp or directly under regs: regs → gpp.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

InMobi Performance Solution Overview

InMobi Performance Solutions offers machine learning-powered end-to-end mobile performance advertising solutions through: 

  • Programmatic buying on the open internet via InMobi DSP 
  • Direct buying on InMobi’s owned and operated consumer platform, Glance 

The platform supports managed media buying and trading services, offering features such as ad serving, bidding, user signal enrichment, fraud prevention, brand safety, as well as comprehensive reporting and tracking. These services leverage unified audiences across InMobi’s owned and operated content platform, Glance, along with major ad exchanges like Google Ad Exchange, InMobi Exchange, AppLovin, Unity, Vungle, Digital Turbine, PubMatic, Chartboost, BidMachine, and others. 

Glance provides consumer content inventories on the lock screens of popular Android devices, including those from Xiaomi, Realme, Samsung, Vivo, Motorola, and more. 

The InMobi DSP supports the latest attribution frameworks, including SKAN, and integrates with leading Mobile Measurement Partners (MMPs) such as AppsFlyer, Adjust, Branch, Kochava, Singular, Airbridge, and Tenjin. Glance also offers integration with top MMPs to enhance attribution accuracy. 

In addition, the InMobi DSP provides a reporting dashboard and Cost API integration, allowing you to customize and access reports according to your specific needs. 

Note:

Glance performance campaigns are currently available in India and Indonesia.

InMobi DSP topics

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Test- GTM Implementation

This page offers comprehensive instructions for implementing the InMobi CMP on a website using Google Tag Manager (GTM). This process uses a custom HTML GTM tag and additional GTM variables and triggers/trigger groups. Before finalizing your GTM setup, complete the site and consent configurations. 

Assumptions

  • You have an InMobi CMP account with your website added and configured.
  • The website where InMobi CMP will be added has GTM installed.
  • This guide assumes that you import the provided GTM container file into your GTM environment to import the custom HTML tag and necessary variables and example triggers. We recommend that you import and merge the provided container into your existing container, creating a new workspace.

Method 1: Add InMobi CMP with GTM (JSON Container Import)

Importing the GTM InMobi Choice TCFv2 container is the most reliable way to add the custom HTML tag, all of the necessary variables, and sample triggers you can use to configure your container for consent management easily.

Download the GTM Container Import - Tag and Variables. Store it in a local directory on your computer.

  1. On the Google Tag Manager user interface, click Admin in the top navigation.
  2. In the Container column, click Import Container.

  3. In the view that opens, click Choose container file.
  4. In the file selector, browse the GTM-CONTAINER-IMPORT.json file in your local directory and select it for importing.
  5. Choose to create a New workspace with the import or to merge it into an existing workspace. It is recommended to create a new workspace for this import.
  6. In the overlay that opens, give the workspace a descriptive name.
  7. Click Save in the top right corner to save the new workspace.
  8. Choose Merge as the import option, and select Overwrite conflicting tags, triggers, and variables.
  9. Verify that the import options are all fine. You can click View detailed changes to see what will happen when you confirm the integration.
  10. Click Confirm when ready to import the container to the new workspace you created.

You have now added all the necessary tags, triggers, and variables to get you started. You will have to configure some variables, and you will have to create new triggers to enable consent management in the container. The next chapter will explain this process in more detail. 

InMobi CMP GTM Configuration

Here are the steps you need to take to configure the InMobi CMP web tag, and to create and modify the triggers and variables you’ll need for the integration to work.

  1. Set the InmobiChoice - UTID constant value. Browse Variables in your container, and open up the InmobiChoice - UTID variable. Set the value to your UTID (pCode).
  2. If subdomains are not selected, this value is False by default. Otherwise, a valid domain should be entered.

Google Advanced Mode Implementation

For publishers using our GTM implementation, there is an option to load default consents immediately after consent initialisation without waiting for page load event. To enable the same, follow the steps below:

  1. Download the updated GTM Container Import file.
  2. Follow the steps to upload this updated GTM container file into your GTM (See Add Choice with GTM (JSON Container Import). If you wish to add this change to your existing InMobi CMP GTM implementation, merge it to your existing workspace as described in step 5. If you overwrite it, you must define the UTID and datalayer push variables again.
  3. Go to Tags Configuration. Open Inmobi Choice GBC Template tag and edit the consent values.
  4. Move the purposes under Granted Consent Types or Denied Consent Types as per your choice and separate them by a comma. Save these values and then the Tag.
  5. Preview the changes and see the default consents defined as in the screenshot below:

     

    Note

    These default values are set by you separately at the GTM level. If you make changes to the default values in the UI, you need to change them here as well.

    Once set, your default consents will load immediately upon consent initialisation without waiting for page load event.

    Note

    This feature is available for only those sites which are using InMobi CMP’s GTM integration. For other integrations, default consents will load only after page load event.

Method 2: Add InMobi CMP with GTM Template

Prerequisites

  • An existing website on the InMobi CMP portal and Google Consent Mode enabled.
  • Google Tag Manager should be integrated into your website.
  1. Navigate to Template in Google Tag Manager. Click Search Gallery inside Tag Templates. Type in InMobi CMP Template. Add to your GTM workspace.

  2. Once you add the template, go to Tags and click New. Select Tag Configuration and choose Inmobi CMP Template under Custom.

  3. Fill in the details required by the CMP Template. If you wish to override the template values with the portal values, select the "Do you wish to override the portal default consents with GTM template?" checkbox.

  4. Once you fill in all the details, add the GTM trigger (Consent initialization – All Pages).
  5. Preview the changes before publishing them.

Enable CCPA Support

  • You must have CCPA enabled on the website add at choice.inmobi.com/protect.
  • You need an html container with a unique ‘id’ attribute set (likely in the footer) where the CCPA message will be appended to on the page.
  • You can learn more about the html id attribute here.
  • This html id can be anything you choose (valid html id value) as long as the container id (on the page) matches the InmobiChoice - CCPA msg id value in GTM. In the screenshot below the container in the footer of the website has the id of ‘choice-footer-msg’ and since we also set the value of InmobiChoice - CCPA msg id in GTM the CCPA footer message was appended to the container with JavaScript. You may need to have your dev team add an empty container (with a unique html id) to the footer of your website where the CCPA message can be appended.
  • Add the InmobiChoice - CCPA msg id constant value. This is the html id of the footer dom element where the CCPA message/popup link will be appended. (See the explanation above about how to find/get an HTML id attribute).
  • Set the InmobiChoice - CCPA constant to true to enable, false to disable.
  • If CCPA is successfully enabled on your website you will see the CCPA msg with a link Do Not Sell My Data link in the footer (or wherever your html id div from step 2 a is located on the page). 
  • When clicking on the Do Not Sell My Data link in the CCPA footer message a modal should pop up.

Push consent signals to the data layer

Set the InmobiChoice DataLayer Push constant to true to automatically push consent signals for IAB Vendors, Non-IAB Vendors, Legitimate Interests, and Publisher Consents. 

Find Your P-CODE

To initialize the SDK, you must provide your account's p-code for proper identification. After you log in to the InMobi CMP portal, you can see the p-code at the top right corner of the screen. However, as shown below, you must omit the initial two characters ("p-") when copying the code for use elsewhere.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Test- Blended in-game Ads specs

Banner Ads

  • Recommended formats: PNG, JPEG
  • Supported formats: PNG, JPEG, DDS, GNF, KTX, GIF, TIFF, BMP, TGA
  • Recommended aspect ratios: 4:3, 3:4, 3:2, 2:3, 6.4:1, 16:9, 6:5, 8.09:1​
Aspect Ratio Size
3:2 480x320​
2:3 320x480​
6:4:1 320x50​
4:3 1024x768​
3:4 768x1024​
16:9 1920x1080​
6:5 300x250​
8.09:1 728x90​

CBA restricted ad formats

  • No flashing animated ads​ 
  • No call to action/ad interaction e.g. “click here” For more information about the Coalition for Better Ads Standards, see The Better Ads Standards.

Video Ads

  • Recommended format: MP4 using H.264 codec is the most optimal format. In addition,  the formats below are supported as well:​
    • Android: mp4, m1v, m2v, mp2, mpg, mpeg, m4v, mov, qt, 3gp, 3gpp, sdv, 3g2, 3gp2​
    • Apple (iOS/osx/tvos): mp4, m1v, m2v, mp2, mpg, mpeg, m4v, mov, qt, 3gp, 3gpp, sdv,  3g2, 3gp2​
    • Windows/Xbox/UWP: wmv, mp4, asf, mov​
    • PS4: m4v, mp4, mov​
  • Video Length: 3 to 30 seconds (6-15 seconds has the best results)​
  • Video file size: 15 MB or less (bigger sizes are supported but not recommended)​
  • Supported video frame rate: 30 frames per second or less​
  • Recommend audio sample rate: 48KHz or less​
  • Recommend audio codecs: PCM / MP3 / AAC​
  • Supported Video layout:  Horizontal and vertical​
  • Recommended aspect ratios: 16:9, 4:3, 9:16, 3:4​
  • CBA restricted ad formats:​
    • No use of sound in videos​
    • No countdown to ad start​
    • No call to action/ad interaction e.g. “click here” For more information about the  Coalition for Better Ads Standards, see The Better Ads Standards.

Note

  • Aspect ratio requirements vary per game; please confirm the available options per game in the advertiser catalog​.
  • Creative Resolution limits (calculated by ad height X ad width in pixels)​
    • On mobile platforms, video creatives with pixel count greater than  307,000 don't work​
    • On other platforms, video creatives with pixel count greater than  2,304,000 don't work​.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Test- Getting Started

Welcome to InMobi

Your go-to resource center for effortlessly monetizing your apps and websites with InMobi is here. This comprehensive guide will take you through every step of the onboarding process—from creating and configuring your account to maximizing your earnings potential. You'll also find essential information on compliance initiatives and key guidelines to ensure successful and sustainable monetization as an InMobi publisher. 

Here is your onboarding checklist:

  1. Create InMobi Account
  2. Add Inventory
  3. Configure Payments
  4. Integration
  5. Test Your Integration

For any assistance, contact us through the Chatbox or reach out to your Customer Success Manager.

Now, let's get started.

Create InMobi Account

Sign up

  1. Click here to visit the Sign-Up page.

  2. Select Create Account and fill in details such as your name, company name, email address, etc.

  3. Click Create Account. You will receive a verification email from InMobi to same the email address you provided.

    Note

    If you are unable to find the verification email in your inbox, check your Spam folder. If you haven’t received it, click Resend Email on the Sign-Up page and enter your email address.

  4. Click Get Started in the verification email. Your browser directs you to set your password.

  5. Enter your new password and click Set password. Your browser redirects you to the InMobi Login/SignUp page.

You have successfully signed up with InMobi. You can now login to your account with your new credentials.

Log in

  1. Click here to visit the InMobi Login/Signup page.
  2. Click Log In.
  3. Enter your email address and click Next.

  4. Enter your password and click Log In. You will be redirected to the homepage outlining the main steps you need to follow to set up your account.

Add Inventory

You must add at least one placement and ad unit for your apps or websites to generate ad revenue. A placement is a place and time displayed on the ad in your app, and the ad unit is the ad format. It is recommended to create multiple ad units to provide a varied user experience and sell more impressions.

Add Your App/Website

To register your published app, website, or unpublished app with InMobi, follow the instructions below.

  1. Select Inventory Inventory Settings from the left navigation panel.
  2. Click Add Inventory and select an inventory channel from the drop-down menu.

    • Mobile App: Enter your app's App Store or Google Play Store URL.

    • Unpublished App: Click the link next to 'App not published on Google Play Store or Apple App Store?' on the app details page.Enter details such as the App Name, Operating System, Category, and Rating.

    • Mobile Website: Enter details such as website URL, Name, Category, and Rating.

    • CTV App: Enter details such as App URL, Name, Bundle ID, Operating System, Category, and Rating.

  3. Click Continue.
  4. In the Compliance and Privacy section, select an appropriate setting to declare your app’s audience and update your Child Privacy Compliance setting. For more information, see Children’s Privacy Compliance.
  5. To allow InMobi to collect and use the location data of your users, select Yes under the Location Permission section. 

    Note

    If you need help editing your compliance settings, contact support@inmobi.com.

  6. Click Save and Create Placements.

You have successfully added your app or website.

Create Placements and Ad Units

To create a new placement, follow the instructions below.

  1. Once you've added your inventory, you need to add a new placement. 
  2. Select the Ad Unit and enter Placement Details. For more information about ad unit types, see Ad Units.

  3. Click Create Placement. Once done, you can view the respective ad unit down below the page. Click Edit to make changes to the placement.

You have successfully created an ad unit and placement. Repeat the above steps to create multiple ad units.

Configure Payments

Update company and billing information

You must update your company details and payment information to receive payments from InMobi. Follow the steps below to configure payments.

  1. Select Finance Payment Settings Payment Information, from the left navigation panel.
  2. Enter the required details.

    screenshot-

  3. Click Proceed.

You have successfully updated your company and billing information.

Select a preferred mode of payment and manage payouts

For payments to be made to you, you must add a mode of payment. You can receive your payouts via Electronic Fund Transfer or PayPal. To add your preferred mode of payment, follow the instructions below.

  1. Select Finance Payment Settings Payout Settings.
  2. Before you add a payment account, select a payment country.
  3. Click Add a payment account and select your desired payment method from PayPal or Electronic Funds Transfer.
  4. You can add multiple payment accounts. However, you can set only one of the payment accounts as your primary bank account for the payouts. The modes of payment vary based on the payment country selected.

Note

InMobi follows a payout cycle of 60 days meaning your earnings for a given month will be credited to you at the end of the 60-day payout cycle.

Upload Tax Documents

You must upload the tax forms depending on the payment country.

  • India: You should upload the GST details if the Payment Country is India.
  • Japan/South Korea: In the case of Japan or South Korea as the Payment Country, you should enter the VAT/TIN details.
  • USA: In the case of the USA, you must enter the IRS tax details.

To know more about the IRS tax form types, refer to the following table below:

Form Type Intended Use
W-9 An entity or individual resident in the US for tax purposes.
W-8BEN Not relevant for entities. Only for individual who is not tax resident in the US and is the beneficial owner of income.
w-8BEN-E An entity that is not a resident within the US for tax purposes.

Set a minimum payment threshold

We can process payments once your cumulative earnings exceed the minimum payment threshold set. The threshold range must be between $300 - $10000.

Integration

Method 1: Via InMobi SDK

Since you have already set up your account, first placements, and ad units on the InMobi UI, your next step is integrating the InMobi SDK into your app. It gives you access to InMobi’s exchange and ad network technology to serve in-app ads.

It is recommended that you always update to the latest version of our SDK to take advantage of newly launched features or performance fixes we might introduce.

Click here to download the latest InMobi SDKs (iOS and Android). You can review our integration guidelines for iOS and Android.

Method 2: Third-party Mediation

Mediation is a monetization solution that allows app developers to manage and optimize multiple advertising partners with just one SDK integration. Mediation gives publishers access to demand through multiple ad networks, creating an arena where the networks compete to serve their ads.

To integrate InMobi as a demand source on third-party mediation platforms, you must integrate the InMobi SDK adapter. You can integrate InMobi with:

  • Unity
  • Mopub
  • Google Admob
  • AppLovin MAX
  • Unity LevelPlay
  • Fyber

For more information about our integrations and the available formats, see Third-party Mediation Platform.

If you wish to use InMobi as your primary mediation platform, we recommend you to see Getting Started.

Audience Bidding

Header bidding goes by many names. At InMobi, we call it Audience Bidding. Essentially, Audience Bidding is in-app header bidding. It allows publishers to sell their inventory in a unified auction where ad sources bid for each impression in real time.

Publishers can enable Audience Bidding with InMobi as a demand source using all major header bidding solutions in the market, including:

  • Amazon Publisher Services via Transparent Ad Marketplace (TAM)
  • Prebid (via oRTB endpoint)
  • Applovin Max (via SDK)
  • Mopub (via SDK)
  • Unity LevelPlay (via SDK)
  • Fyber (via SDK)

For more information, see our Audience Bidding integrations.

For more information on the Open RTB integrations, see oRTB integrations.

Test your integration

Testing your integration is an important step for successful onboarding. We recommend testing your integration to ensure that placements and ad units are correctly displaying across your app without affecting the live traffic. To start testing using our Sandbox Testing tool, follow the instructions below.

  1. Select Integration Integration Testing.
  2. Click Add Test Device.

  3. Enter the required information such as device type, platform, name, and advertising ID. Click Add Device.

You have successfully added a device for testing your integration. If you come across any issues, contact our support team to start troubleshooting your integration.

Best Practices

To maximize your monetization with InMobi, it is strongly recommended that you implement our best practices listed below.

  • Adding InMobi as an authorized seller to your app-ads.txt file is recommended to protect your inventory and let your buyer know which sellers have legitimate access to selling your in-app inventory. The same applies to mobile web with ads.txt. Not completing this step will limit the number of DSPs able to buy your inventory.
  • Additionally, ensure that you add your Domain when registering your App or Website, as highlighted in Step 2 above.
  • Make your inventory compliant with all the privacy initiatives:
    • GDPR: Use a Consent Management Platform (CMP) to manage consent for your EEA users and safely transmit user preferences through the Transparency Consent Framework 2.0 (TCF 2.2). Learn more about our GDPR Guide for Publishers.
    • Update to iOS 14.5 and above and ATT: For more information, see Surviving and Thriving in a Post-IDFA World.
  • If you have already configured your block settings, select your desired settings from the Block Settings drop-down list. For more information on how to configure your block settings, see Block Settings.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Reports

InMobi CMP offers granular analytics to help you optimize and maximize your consent rate. You can view consent data for different regulations such as GDPR, CCPA and MSPA, and their opt-in rates according to countries for your apps and websites.

The Reports tab has two sections: Dashboard and Analytics.

  1. To start, login to your InMobi CMP account.
  2. Navigate to Reports and select the property for which you want to view the analytics.

Dashboard

The dashboard offers a pre-built set of comprehensive trends and metrics. These are not customizable. 

The Summary allows you to view and compare data between two time durations for the chosen property.

Under Detailed Insights, you can use Filters to view in-depth data for a specific Regulation, Pages, Device Type, OS, and Country during a particular time.

  1. Select the start date and end date and click More Filters.

  2. Choose your desired filters and click Apply Filter.
  3. Once done, you can view graphs based on regulation and region-wise traffic, opt-in rates, and page-wise display count.

Country-wise Traffic and Consent

You can view country-wise traffic and consent rates during a specific time period to understand which countries generate the most traffic and opt-ins.

Regulation-wise Consent Distribution

The two pie charts at the bottom of the dashboard reflect the regulation-wise consent distribution data between GDPR and CCPA. 

Analytics

The Analytics offers a visualization of custom reports generated after selecting dimensions, filters, and metrics of your choice. 

Dimensions

Dimensions are attributes by which you filter and group data. 

InMobi CMP supports the following dimensions:

  • Country
  • Page format
  • OS
  • Device Type
  • Browser
  • Property Id
  • Theme Uuid
  • Theme Language
  • COP Applicable
  • Advanced Applicable
  • GBC Applicable

Filters 

Filters allow you to query data only for specific values/attributes of the Dimensions.  

You can choose from the following filters:

  • Time: Split by Day, Week, Month, and a particular time period.
  • Advanced Customization: Select Yes or No
  • Browser: Select from a list of browsers
  • COP Applicable: Select Yes or No
  • Device Type: Choose from PC, Tablet, Mobile, Others
  • GBC Applicable: Select Yes or No
  • OS: Filter by OS 
  • Page Format: Choose from HTTP, AMP, Others
  • Regulation: Filer by GDPR, CCPA, MSPA
  • Countries: Select from a list of countries

Metrics

Metrics are the quantifiable measures that you wish to see. InMobi CMP offers the following metrics:

  • Sessions
    • Display Count
    • Total Opt-in
    • Total Opt-out
    • Bounce
    • Partial Opt-in
  • Visits
    • Total Traffic
    • Visit Accept Percentage
    • Visit Reject Percentage
    • Visit Partial Percentage
    • Visit Bounce Percentage

To understand better, let’s take an example. If you want to generate a report showing the opt-in rates of mobile devices in the USA in the last 30 days, it will look something like this. 

Here, Country and Device Type are the Dimensions, 30 days is the Time, Mobile is the Device Type filter, US is the Country filter, and opt-in rates is the metric.

Generate and Schedule Reports

You can view all your saved reports by clicking View All Reports.

  1. To generate a custom report, select the dimensions, metrics and filters of your choice.
  2. Click Run Report. If you wish to save the same report, name it and click Save Report

  3. To download a report, click Export Report. Reports can be downloaded in CSV format.

You can also schedule recurring reports. These will be automatically sent at regular intervals to specific email addresses listed by you. Currently, InMobi CMP can scheduled reports on a custom, daily, weekly, and monthly basis.

  1. To start, run a report with the dimensions, filters and metrics of your choice. 
  2. Click Schedule Report. Add the Report Name, Frequency, Time period, Start and End dates, and Time (UTC).

  3. To add recipients, click +Add New and list out the email addresses to which you wish to send the report. Click OK.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 13 Nov, 2025

Overview

InMobi’s Ad Management APIs help you manage your inventory i.e., apps and placements you are monetizing or interested in monetizing through InMobi easily and efficiently. They reduce the manual effort of managing huge inventory individually through our platform. 

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 13 Sep, 2024

Authentication and Request Protocol

Authentication

For authentication, you need the following values in the header: 

Key  Value 
x-client-secret  You need to generate an API key. To know how to generate a new API key or access an existing API key, see Reporting API
x-account-id  You need to enter the Account ID. You can find the Account ID in Payment Settings under the Finance tab on InMobi platform. 
x-client-id  You need to enter the email ID of the account. 

List of Available APIs

The APIs are available for the following functionalities: 

Manage Apps

  • Get the list of apps
  • Get the details of a specific app
  • Create a new app
  • Update an existing app

Manage Placements

  • Get the list of placements in an app
  • Get the details of a specific placement
  • Create a new placement in an app
  • Update a placement in an app

Request Protocol

The request protocol of all APIs is https. 

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 13 Nov, 2024

API Details

Manage Apps

  1. Get the list of apps 

    • Request URL: https://publisher.inmobi.com/rest/api/v2/apps
    • Request method: GET 
    • Request parameters (query): 
      Name  Description  Required  Type  Sample/Available values 
      pageNum   page number  Optional  Integer  1, 2, 3 etc. 
      pageLength   number of records per page  Optional  Integer

      1, 2, 3 etc. 

      Default number of results: 10 

      status   status of the app  Optional  String 

      Available values : ACTIVE, DRAFT, ARCHIVE, FLAGGED 

      Default value: ACTIVE 

    • Request body: NA
    • Response format
      • Response body:
        { 
          "success": true, 
          "data": { 
            "totalRecords": 281, 
            "records": [ 
              { 
                "storeUrl": "string", 
                "appName": "string", 
                "platform": "string", 
                "bundleId": "string", 
                "childDirected": 1, 
                "appRating": "string", 
                "appId": 0 
              } 
            ] 
          } 
        } 
        			
      • Response body values:
        Name  Description  Type  Sample/Possible values 
        Success Determines success of the response Boolean

        true – request successful

        false – request unsuccessful with some error(s)

        storeUrl App store/Play store URL of the app String (url) URL
        appName Name of the app String Sample App
        Platform Platform of the app String Android or iPhone (iOS)
        bundleId Bundle of the apps as registered in the store String Com.org.app
        childDirected Determines the audience type of the app Integer

        1 – App is not directed towards children

        2 – App is directed towards children and requires parental consent

        3 – App is directed partially towards children and towards adults

        appRating Content Rating of the app String  
        appId ID of the app on InMobi dashboard Numeric  
  2. Get the details of a specific app

    • Request URL: https://publisher.inmobi.com/rest/api/v2/apps/{appId} (App ID should be mentioned in the request URL)
    • Request method: GET
    • Request parameters (query): NA
    • Request body: NA
    • Response format
      • Response body:
        
        { 
          "success": true, 
          "data": { 
            "storeUrl": "string", 
            "appName": "string", 
            "platform": "string", 
            "bundleId": "string", 
            "childDirected": 0, 
            "appRating": "string", 
            "appId": 0 
          }, 
          "status": "string", 
          "createdOn": "string" 
        } 
         
        			
      • Response body values:
        Name  Description  Type  Sample/Possible values 
        Success Determines success of the response Boolean

        true – request successful

         

        false – request unsuccessful with some error(s)

        storeUrl App store/Play store URL of the app String (url) URL
        appName Name of the app String Sample App
        Platform Platform of the app String Android or iOS
        bundleId Bundle of the apps as registered in the store String Com.org.app
        childDirected Determines the audience type of the app Integer

        1 – App is not directed towards children

        2 – App is directed towards children and requires parental consent

        3 – App is directed partially towards children and towards adults

        appRating Content Rating of the app String  
        appId ID of the app on InMobi dashboard Numeric  
        status Current status of the app on platform String PENDING REVIEW, ACTIVE, FLAGGED, REJECTED, ARCHIVED
        createdOn Date of app creation on platform String  
  3. Create a new app

    • Request URL: https://publisher.inmobi.com/rest/api/v2/apps
    • Request method: POST
    • Request parameters (query): NA
    • Request body:
      • Schema:
        { 
          "storeUrl": "string", 
          "childDirected": 0, 
          "locationAccess": true, 
          "appName": "string" 
        } 
        			
      • Request body values:
        Name  Description  Required  Type  Sample/Possible values 
        storeUrl App store/Play store URL of the app Required String (url) URL
        locationAccess Specify if InMobi can access the location details Required Boolean

        true – InMobi will be able to use the location data collected by this app.

        false – InMobi will not be able to access the location data collected by this app.

        childDirected Specify the audience type of the app Required Integer

        1 – App is not directed towards children

        2 – App is directed towards children and requires parental consent

        3 – App is directed partially towards children and towards adults

        appName Name of the app Optional String Sample App
      • Response format:
        • Response body:
          { 
            "success": true, 
            "data": { 
              "storeUrl": "string", 
              "appName": "string", 
              "platform": "string", 
              "bundleId": "string", 
              "childDirected": 0, 
              "appRating": "string", 
              "appId": 0 
            }, 
            "status": "string", 
            "createdOn": "string" 
          } 
          
          				
        • Response parameters:
          Name  Description  Type  Sample/Possible values 
          Success Determines success of the response Boolean true – request successful
          storeUrl App store/Play store URL of the app String (url) URL
          appName Name of the app String Sample App
          Platform Platform of the app String Android or iOS
          bundleId Bundle of the apps as registered in the store String Com.bundle.app
          childDirected Determines the audience type of the app Integer

          1 – App is not directed towards children

          2 – App is directed towards children and requires parental consent

          3 – App is directed partially towards children and towards adults

          appRating Content Rating of the app String  
          appId ID of the app on InMobi dashboard Numeric  
          status Current status of the app on platform String PENDING REVIEW, ACTIVE, FLAGGED, REJECTED, ARCHIVED
          createdOn Date of app creation on platform String  
  4. Update an existing app

    • Request URL: https://publisher.inmobi.com/rest/api/v2/apps/{appId} (App ID should be mentioned in the request URL)
    • Request method: PATCH
    • Request parameters (query): NA
    • Request body:
      • Schema:
        { 
        
          "childDirected": 0, 
        
          "locationAccess": true, 
        
          "appName": "string" 
        
        }
        			
      • Request body values:
        Name  Description  Required  Type  Sample/Possible values 
        locationAccess Specify if InMobi can access the location details Required Boolean

        true – InMobi will be able to use the location data collected by this app.

        false – InMobi will not be able to access the location data collected by this app.

        childDirected Specify the audience type of the app Required Integer

        1 – App is not directed towards children

        2 – App is directed towards children and requires parental consent

        3 – App is directed partially towards children and towards adults

        appName Name of the app Optional String Sample App
      • Response format:
        • Response body:
          { 
            "success": true, 
            "data": { 
              "storeUrl": "string", 
              "appName": "string", 
              "platform": "string", 
              "bundleId": "string", 
              "childDirected": 0, 
              "appRating": "string", 
              "appId": 0 
            }, 
            "status": "string", 
            "createdOn": "string" 
          } 
          
          				
        • Response parameters:
          Name  Description  Type  Sample/Possible values 
          Success Determines success of the response Boolean true – request successful
          storeUrl App store/Play store URL of the app String (url) URL
          appName Name of the app String Sample App
          Platform Platform of the app String Android or iOS
          bundleId Bundle of the apps as registered in the store String Com.bundle.app
          childDirected Determines the audience type of the app Integer

          1 – App is not directed towards children

          2 – App is directed towards children and requires parental consent

          3 – App is directed partially towards children and towards adults

          appRating Content Rating of the app String  
          appId ID of the app on InMobi dashboard Numeric  
          status Current status of the app on platform String PENDING REVIEW, ACTIVE, FLAGGED, REJECTED, ARCHIVED
          createdOn Date of app creation on platform Optional   

Manage Placements

  1. Get the list of placements in an app 

    • Request URL: https://publisher.inmobi.com/rest/api/v1/placements 
    • Request method: GET 
    • Request parameters (query): 
      Name  Description  Required  Type  Sample/Available values 
      pageNum   page number  Optional  Integer  1, 2, 3 etc. 
      pageLength   number of records per page  Optional  Integer

      1, 2, 3 etc. 

      Default number of results: 10 

      appId    The ID of an app   Required   Integer  

       

      placementType  The type of placement  Optional  String  Available values : INTERSTITIAL, BANNER, REWARDED_VIDEO, NATIVE 
    • Request body: NA
    • Response format
      • Response body:
        { 
          "success": true, 
          "data": { 
            "totalRecords": 281, 
            "records": [ 
              { 
                "storeUrl": "string", 
                "appName": "string", 
                "platform": "string", 
                "bundleId": "string", 
                "childDirected": true, 
                "appRating": "string", 
                "appId": 0 
              }, 
              { 
                "placementId": 0, 
                "placementName": "string", 
                "placementType": "string", 
                "testMode": "string", 
                "status": "string", 
                "appId": 0, 
                "cpmFloor": 0, 
                "isAudienceBiddingEnabled": true, 
                "audienceBiddingPartner": "string", 
                "a9TagId": "string", 
                "a9AppId": "string", 
                "isFallbackPlacement": true, 
                "createdOn": "string" 
              } 
            ] 
          } 
        } 
        
        			
      • Response parameters:
        Name  Description  Type  Sample/Possible values 
        Success Determines success of the response Boolean

        true – request successful

        false – request unsuccessful with some error(s)

        storeUrl App store/Play store URL of the app String (url) URL
        appName Name of the app String  
        Platform Platform of the app String Android or iPhone (iOS)
        bundleId Bundle of the apps as registered in the store String Com.org.app
        childDirected Determines the audience type of the app Integer

        1 – App is not directed towards children

        2 – App is directed towards children and requires parental consent

        3 – App is directed partially towards children and towards adults

        appRating Content Rating of the app String  
        appId App key on InMobi platform  Integer   
        placementId  ID of the placement as on InMobi platform  Integer   
        placementName  Placement name as on InMobi platform  String   
        placementType  Type of placement  String  Available values : INTERSTITIAL, BANNER, REWARDED_VIDEO, NATIVE 
        testMode  Test mode of the placement  String 

        On – Test mode is on for specific devices as mentioned in the integration testing in InMobi platform 

        Global – Test mode is on for all devices with this app 

        Off – Test mode is off for all devices with this app 

        status  Current status of the placement  String  Available values : ACTIVE, DRAFT, ARCHIVE, FLAGGED 
        cpmFloor  eCPM floor set on the InMobi platform  Number   
        isAudienceBiddingEnabled  Determines if Audience Bidding is enabled for this placement  Boolean 

        true – Audience Bidding is on 

        false – Audience Bidding is off 

         audienceBiddingPartner 

        Audience Bidding Partner (applicable only if Audience Bidding is enabled)  String  Available values: MAX, AMAZON_TAM, GOOGLE_OPEN_BIDDING, CUSTOM_MEDIATION, IRONSOURCE, SPRINGSERVE, PREBID, FYBER, ADMOST, AEQUUS, GAMEANALYTICS_HYPERBID, CHARTBOOST, GOOGLE_SDK_BIDDING 
        a9TagId  Tag ID (applicable only in case of Amazon TAM as Audience Bidding partner)  String   
        A9AppId App ID (applicable only in case of Amazon TAM as Audience Bidding partner)  String   
        createdOn  Creation date of the placement  String   
  2. Get the details of a specific placement in an app

    • Request URL: https://publisher.inmobi.com/rest/api/v1/placements/{placementId} (Placement ID should be mentioned in the request URL)
    • Request method: GET
    • Request parameters (query): NA
    • Request body: NA
    • Response format
      • Response body:
        { 
        
          "success": true, 
        
          "data": { 
        
            "placementId": 0, 
        
            "placementName": "string", 
        
            "placementType": "string", 
        
            "testMode": "string", 
        
            "status": "string", 
        
            "appId": 0, 
        
            "cpmFloor": 0, 
        
            "isAudienceBiddingEnabled": true, 
        
            "audienceBiddingPartner": "string", 
        
            "a9TagId": "string", 
        
            "a9AppId": "string", 
        
            "isFallbackPlacement": true, 
        
            "createdOn": "string" 
        
          } 
        
        }
        
        
        			
      • Response parameters:
        Name  Description  Type  Sample/Possible values 
        Success Determines success of the response Boolean

        true – request successful

        false – request unsuccessful with some error(s)

        appId App key on InMobi platform  Integer   
        placementId  ID of the placement as on InMobi platform  Integer   
        placementName  Placement name as on InMobi platform  String   
        placementType  Type of placement  String  Available values : INTERSTITIAL, BANNER, REWARDED_VIDEO, NATIVE 
        testMode  Test mode of the placement  String 

        On – Test mode is on for specific devices as mentioned in the integration testing in InMobi platform 

        Global – Test mode is on for all devices with this app 

        Off – Test mode is off for all devices with this app 

        status  Current status of the placement  String  Available values : ACTIVE, DRAFT, ARCHIVE, FLAGGED 
        cpmFloor  eCPM floor set on the InMobi platform  Number   
        isAudienceBiddingEnabled  Determines if Audience Bidding is enabled for this placement  Boolean 

        true – Audience Bidding is on 

        false – Audience Bidding is off 

         audienceBiddingPartner 

        Audience Bidding Partner (applicable only if Audience Bidding is enabled)  String  Available values: MAX, AMAZON_TAM, GOOGLE_OPEN_BIDDING, CUSTOM_MEDIATION, IRONSOURCE, SPRINGSERVE, PREBID, FYBER, ADMOST, AEQUUS, GAMEANALYTICS_HYPERBID, CHARTBOOST, GOOGLE_SDK_BIDDING 
        a9TagId  Tag ID (applicable only in case of Amazon TAM as Audience Bidding partner)  String   
        A9AppId App ID (applicable only in case of Amazon TAM as Audience Bidding partner)  String   
        createdOn  Creation date of the placement  String   
  3. Create a new placement in an app

    • Request URL: https://publisher.inmobi.com/rest/api/v1/placements
    • Request method: POST
    • Request parameters (query): NA
    • Request body:
      • Schema:
        { 
        
          "appId": 0, 
        
          "placementName": "string", 
        
          "placementType": "INTERSTITIAL", 
        
          "cpmFloor": 0, 
        
          "isAudienceBiddingEnabled": true, 
        
          "audienceBiddingPartner": "string", 
        
          "a9TagId": "string", 
        
          "a9AppId": "string", 
        
          "isFallbackPlacement": true 
        
        }
        
        
      • Request body values:
        Name  Description  Required  Type  Sample/Possible values 
        appId App key on InMobi platform Required Integer  
        placementName Placement name as on InMobi platform Required String  
        placementType Type of placement Required String Available values : INTERSTITIAL, BANNER, REWARDED_VIDEO, NATIVE
        cpmFloor eCPM floor set on the InMobi platform Optional (not appicable in case isAudienceBiddingEnabled is "true") Number  
        isAudienceBiddingEnabled Determines if Audience Bidding is enabled for this placement Required Boolean true – Audience Bidding is on false – Audience Bidding is off
        audienceBiddingPartner Audience Bidding Partner (applicable only if Audience Bidding is enabled) Required (only if isAudienceBiddingEnabled is “true”) String Available values: MAX, AMAZON_TAM, GOOGLE_OPEN_BIDDING, CUSTOM_MEDIATION, IRONSOURCE, SPRINGSERVE, PREBID, FYBER, ADMOST, AEQUUS, GAMEANALYTICS_HYPERBID, CHARTBOOST, GOOGLE_SDK_BIDDING
        a9TagId Tag ID of Amazon TAM placement Required (only in case of Amazon TAM as Audience Bidding partner) String  
        A9AppId App ID of Amazon TAM placement Required (only in case of Amazon TAM as Audience Bidding partner) String  
      • Response format:
        • Response body schema:
          { 
            "success": true, 
            "data": { 
              "placementId": 0, 
              "placementName": "string", 
              "placementType": "string", 
              "testMode": "string", 
              "status": "string", 
              "appId": 0, 
              "cpmFloor": 0, 
              "isAudienceBiddingEnabled": true, 
              "audienceBiddingPartner": "string", 
              "a9TagId": "string", 
              "a9AppId": "string", 
              "isFallbackPlacement": true, 
              "createdOn": "string" 
            } 
          } 
          
          				
        • Response values:
          Name  Description  Type  Sample/Possible values 
          Success Determines success of the response Boolean

          true – request successful 

          false – request unsuccessful with some error(s) 

          placementId  ID of the placement as on InMobi platform  Integer   
          placementName  Placement name as on InMobi platform  String  
          placementType  Type of placement  String Available values : INTERSTITIAL, BANNER, REWARDED_VIDEO, NATIVE 
          testMode  Test mode of the placement  String ON – Test mode is on for specific devices as mentioned in the integration testing in InMobi platform 

          GLOBAL – Test mode is on for all devices with this app 

          OFF – Test mode is off for all devices with this app

          cpmFloor  eCPM floor set on the InMobi platform  Number 

           

          isAudienceBiddingEnabled  Determines if Audience Bidding is enabled for this placement  Boolean 

          true – Audience Bidding is on 

          false – Audience Bidding is off 

          audienceBiddingPartner  Audience Bidding Partner (applicable only if Audience Bidding is enabled)  String 

          Available values: MAX, AMAZON_TAM, GOOGLE_OPEN_BIDDING, CUSTOM_MEDIATION, IRONSOURCE, SPRINGSERVE, PREBID, FYBER, ADMOST, AEQUUS,  GAMEANALYTICS_HYPERBID, CHARTBOOST, GOOGLE_SDK_BIDDING 

          appId App key on InMobi platform  Integer  
          a9TagId  Tag ID (applicable only in case of Amazon TAM as Audience Bidding partner)  String   
          A9AppId  App ID (applicable only in case of Amazon TAM as Audience Bidding partner)  String   
          status Current status of the placement  String Available values : ACTIVE, DRAFT, ARCHIVE, FLAGGED 
          createdOn Creation date of the placement  String  
  4. Update an existing placement in an app

    • Request URL: https://publisher.inmobi.com/rest/api/v1/placements/{placementId} (Placement ID should be mentioned in the request URL)
    • Request method: PATCH
    • Request parameters (query): NA
    • Request body:
      • Schema:
        { 
        
          "placementName": "string", 
        
          "cpmFloor": 0, 
        
          "isAudienceBiddingEnabled": true, 
        
          "audienceBiddingPartner": "string", 
        
          "a9TagId": "string", 
        
          "a9AppId": "string", 
        
        }
        
        
        			
      • Request body values:
        Name  Description  Required  Type  Sample/Possible values 
        placementName Placement name as on InMobi platform Required String  
        cpmFloor eCPM floor set on the InMobi platform Optional (not appicable in case isAudienceBiddingEnabled is "true") Number  
        isAudienceBiddingEnabled Determines if Audience Bidding is enabled for this placement Optional Boolean true – Audience Bidding is on false – Audience Bidding is off
        audienceBiddingPartner Audience Bidding Partner (applicable only if Audience Bidding is enabled) Required (only if isAudienceBiddingEnabled is “true”) String Available values: MAX, AMAZON_TAM, GOOGLE_OPEN_BIDDING, CUSTOM_MEDIATION, IRONSOURCE, SPRINGSERVE, PREBID, FYBER, ADMOST, AEQUUS, GAMEANALYTICS_HYPERBID, CHARTBOOST, GOOGLE_SDK_BIDDING
        a9TagId Tag ID of Amazon TAM placement Required (only in case of Amazon TAM as Audience Bidding partner) String  
        A9AppId App ID of Amazon TAM placement Required (only in case of Amazon TAM as Audience Bidding partner) String  
      • Response format:
        • Response body:
          { 
            "success": true, 
            "data": { 
              "placementId": 0, 
              "placementName": "string", 
              "placementType": "string", 
              "testMode": "string", 
              "status": "string", 
              "appId": 0, 
              "cpmFloor": 0, 
              "isAudienceBiddingEnabled": true, 
              "audienceBiddingPartner": "string", 
              "a9TagId": "string", 
              "a9AppId": "string", 
              "isFallbackPlacement": true, 
              "createdOn": "string" 
            } 
          } 
          				
        • Response body values:
          Name  Description  Type  Sample/Possible values 
          Success Determines success of the response Boolean

          true – request successful 

          false – request unsuccessful with some error(s) 

          placementId  ID of the placement as on InMobi platform  Integer   
          placementName  Placement name as on InMobi platform  String  
          placementType  Type of placement  String Available values : INTERSTITIAL, BANNER, REWARDED_VIDEO, NATIVE 
          testMode  Test mode of the placement  String ON – Test mode is on for specific devices as mentioned in the integration testing in InMobi platform 

          GLOBAL – Test mode is on for all devices with this app 

          OFF – Test mode is off for all devices with this app

          cpmFloor  eCPM floor set on the InMobi platform  Number 

           

          isAudienceBiddingEnabled  Determines if Audience Bidding is enabled for this placement  Boolean 

          true – Audience Bidding is on 

          false – Audience Bidding is off 

          audienceBiddingPartner  Audience Bidding Partner (applicable only if Audience Bidding is enabled)  String 

          Available values: MAX, AMAZON_TAM, GOOGLE_OPEN_BIDDING, CUSTOM_MEDIATION, IRONSOURCE, SPRINGSERVE, PREBID, FYBER, ADMOST, AEQUUS, GAMEANALYTICS_HYPERBID, CHARTBOOST, GOOGLE_SDK_BIDDING 

          appId App key on InMobi platform  Integer  
          a9TagId  Tag ID (applicable only in case of Amazon TAM as Audience Bidding partner)  String   
          A9AppId  App ID (applicable only in case of Amazon TAM as Audience Bidding partner)  String   
          status Current status of the placement  String Available values : ACTIVE, DRAFT, ARCHIVE, FLAGGED 
          createdOn Creation date of the placement  String  

Possible errors 

Following are the possible error scenarios that might arise while using these APIs:

Error code  Type  Description 
400  Bad request response  Please check the values passed in the request body for correct values in correct formats
401  Unauthorized request response  Please check the values passed in the header and auth for correct values 
500  Internal server error response  There is an internal issue. Please try again after some time or contact InMobi CSM or support (email us at support@inmobi.com

 Rate limits 

The rate of requests for each publisher is capped to 500 requests in an interval of 15 minutes. 

In case of any unresolved queries, please reach out to your CSM or reach out to us at support@inmobi.com. You can also raise a ticket here: https://support.inmobi.com/mytickets

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Best practices for Glance campaigns

Even though Glance Smart Lock Screen is a managed-serve platform for buying ads on ad exchanges, you also need to follow some best practices to ensure you get the best possible Return on Ad Spent (RoAS). 

Creative best practices 

Read Glance Creative best practices

Measurement and attribution best practices 

For accurate measurement and attribution, it’s essential to fulfill the onboarding requirements

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025

Glance MMP Integration Overview

Mobile Measurement Partners (MMPs) are third-party attribution platforms that capture campaign data and attribute every user action. Advertisers use MMPs to track and analyze campaign performance across multiple ad partners.

To enable this tracking, advertisers need to embed the MMP’s software development kit (SDK) in their app. This SDK captures and receives user events (e.g., clicks, installs) using tracking links provided by Glance.

Because Glance is an appless content consumption platform on phone lock screens, the user journey differs from that of standard Android apps. To accommodate this unique flow, Glance has collaborated with leading MMPs to develop custom integrations. Follow all the specified steps to integrate your preferred MMP with Glance effectively.

How Glance-MMP integrations work

Glance and MMP integrations help advertisers validate the campaign attribution numbers on their MMP dashboards. 
1.    Sign a campaign contract with Glance Sales after providing all the required onboarding information.
2.    Configure your preferred MMPs for Glance. 
3.    Share the tracking URL with the Glance team.
4.    The Glance team adds those URLs to their campaign management tool and publishes the campaign.
5.    Find the campaign performance reports on your MMP dashboard.

Supported MMPs

Glance supports integration with the following MMPs:

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 16 Oct, 2024

Integrate AppsFlyer with Glance

If AppsFlyer is your preferred MMP, you need to integrate it with Glance before the campaign starts. 

Note:

Glance and AppsFlyer are exclusive Pre-load Referrer Attribution partners and offer seamless integration.

The integration starts with activating Glance as your partner on your AppsFlyer account, followed by changing the required configuration and enabling the pre-load attribution option. You can generate and share the attribution links with the Glance team.

Pre-requisites 

Before the integration, make sure you have: 

  • An active advertiser account with AppsFlyer. 
  • Received an advertiser ID from the Glance team. 

Integration steps

Follow the steps to integrate Glance and AppsFlyer to enable attribution for Android app campaigns:

Step 1: Activate Glance as a partner

The integration starts with the activation of the Glance on your AppsFlyer dashboard using the following steps:

  1. Log in to your AppsFlyer advertiser account.
  2. Go to Collaborate &gt; Partner Marketplace in the left menu bar.

    ad-exchange-appsflyer-menubar

  3. In the search bar, search for Glance and select it. You move to the Integration setup page.

  4. Click Set up Integration.
  5. In the Integration tab, select the app for the integration and turn Activate partner on.

Step 2: Configure Integration settings

After you activate Glance, you need to configure the integration setting for InMobi DSP as follows:

  1. In the Integration tab, turn off Advanced Privacy.
  2. In Advertiser Id, enter the Advertiser ID value provided by the Glance team. &lt;Add screenshot&gt;
  3. In the Install attribution section, turn on the Install view-through attribution toggle.
    ad-exchange-appsflyer-attribution
  4. Enable the Preload attribution toggle and keep the Preload lookback window to 90 days.&lt;Add screenshot&gt;

  5. In the Default postbacks section, select All media sources, including organic against Install (Event Name) in the for users from drop-down.

    Note:

    Organic refers to the advertiser’s unattributed data.

  6. Under the In-app event settings section, enter the Advertiser ID value provided by the Glance team, which is the same as in General settings.

  7. Enable the In-app event postbacks toggle. Glance recommends the value to be Lifetime. The minimum value is 6 months.

  8. Click Add event to add postbacks for in-app events. Add all the funnel events and their details.

  9. Click Save integration.

Step 3: Generate attribution links

For user-acquisition campaign

You can generate the attribution link for UA campaigns, which the Glance team uses while creating the campaign, as follows:

  1. Go to the Attribution Link tab. The Parameter name and Value fields are auto-populated.
  2. Enable the Retargeting settings toggle for re-marketing campaigns.
  3. Set the CTA and VTA values mentioned as follows:
    • CTA: 7 days
    • VTA: 24 hours
      
  4. Share the CTA and VTA links with the Glance team.

For remarketing campaign

You can generate the attribution link for REM campaigns, which the Glance team uses while creating the campaign, as follows:

  1. In the Attribution link tab, select Use Onelink in Choose your attribution link type. Refer to Appsflyer’s Help Center to learn how to create an Onelink template.
  2. Select an Onelink template.
  3. Check Deep linking.
  4. Enter a value in Deep link value.
  5. Add the required values of Parameter name and Value in the Attribution link parameters section.
  6. Enable the Retargeting settings toggle.
  7. Enter a value in the URI scheme, which is a raw deep link URL that directs users to the specific page you want them to land on within the app.
  8. Toggle on Ignore active users for retargeting only when you need to set an inactivity window to filter out active users. Keep this option toggled off if not required, as leaving it on can negatively impact campaign performance.
  9. In Re-engagement window, select lifetime.

Step 4: Enable permissions

You need to provide the following permissions to Glance on the AppsFlyer dashboard:

  1. Go to the Permissions tab.
  2. Switch on the Ad network permissions toggle.

  3. Enable the following permission toggles:

    ad-exchange-appsflyer-permission

Step 5: Save the integration

Check the settings done in the previous steps and click Save.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 16 Oct, 2024

Integrate Adjust with Glance

If you use Adjust as MMP, you need to integrate it with Glance before the campaign starts.

Pre-requisites

Before the integration starts, make sure you have 

  • An active advertiser account with Adjust.
  • Received your Advertiser ID from the Glance team.

Integration Steps 

Integrating Adjust and Glance is a one-time process applicable to all further campaigns.

Step 1: Enable Glance as the partner

Enable Glance on your Adjust account as follows:

  1. Log in to your Adjust account.
  2. Go to Campaign Lab &gt; Partners from the left menu bar. You reach the Partner Selection page.
  3. In the search bar, search for Glance and select it.
  4. Click Next. You reach the App selection page.

Step 2: Select your app 

Select the app you want to run the campaign for as follows:

  1. On the App selection page, find the name of your app and select it. You can also use 
  2. Click Next. You reach the Data sharing page.

Step 3: Enable data sharing 

Enable data sharing between Glance and your Adjust account as follows:

  1. On Enable data sharing for Glance card, click Edit.
  2. Enter the Advertiser ID shared by the Glance team. Click Enable.
  3. Check the Data from all attribution sources box. This option enables you to leverage Glance's Data science models, as the unattributed data enhances the DS models to target higher-quality audiences.
  4. Check the Sessions box to enable Glance to collect the campaign session activities.
  5. (Optional) Check the In-app revenue (from in-app purchases) box to share your revenue event data with Glance.
  6. (Optional) Check the Parameters box to share the custom parameters you have created for the campaign. Read how to create custom parameters on the Adjust Help Center.
  7. Click Map event in the Map your events section to collect the campaign results of each event. Make sure you map all the events you want to the campaign for.
  8. In the Adjust event drop-down, select the event you want to map.
  9. Enter the name of the event.
  10. Click Apply.
  11. (Optional) If you have configured custom parameters, click Map parameters. Read more on the mapping event on the Adjust Help Center.
  12. Click Next. You reach the Link Structure page.

Step 4: Generate a tracking URL 

You need to generate an Adjust Ad tracking URL, which the Glance team uses while configuring the campaign on Glance. Generate the URL as follows:

  1. On the Link Structure page, enter a name for the tracker in Link name.
  2. In Campaign parameters, click Edit to add any parameter.
  3. Click Next. You can find the tracker URL for all the events you have configured.

Step 5: Share the tracking URL 

Share the Adjust tracking URL with the Glance team. 

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 16 Oct, 2024

Integrate Branch with Glance

If you use Branch as MMP for your campaigns, you need to integrate it with Glance before your first campaign. 

Pre-requisites

Before you can start the integration, make sure you have:

  • An active advertiser account with Branch. 
  • Received your Advertiser ID from the Glance team. 

Integration steps  

Integrating Branch and Glance is a one-time process applicable to all the further campaigns. The integration steps are: 

Step 1: Enable Glance 

You need to enable Glance as a partner as the first step in the integration. 

  1. Log in to your Branch Dashboard.
  2. In the left menu bar, go to Ads &gt; Partner Management.
  3. In the Ad Partners drop-down, search for Glance and select it.

    Note:

    Do not select InMobi or InMobi DSP.

  4. Under the Account Settings tab, enter the values of your Advertiser ID provided by the Glance team.
  5. Click Save & Enable.

Step 2: Configure Postbacks 

Enabling Glance automatically enables the following postbacks: 

  • INSTALL
  • OPEN
  • PURCHASE

Note:

Select ALL EVENTS for every pre-configured and configured event.

You can add new postbacks using the following steps:

  1. Click Add New Postback on the Ad Partner Settings page.
  2. Select the event you want to create the postback for and click Save. The Branch app automatically generates the POSTBACK URL.

  3. Click Save on the Ad Partner Settings page.

Note:

Refer to the Custom Postback topic in Branch Help if you want to add a custom postback.

Step 3: Configure the attribution window  

An Attribution window is a period for capturing the valid attribution for an event. Branch has industry-standard attribution window values pre-set in the Attribution Windows tab.

Note:

Do not change the pre-set attribution window values to avoid any discrepancies in the data.

Enable the attribution window as follows:

  1. Go to the Attribution Windows tab.
  2. Enable the Use ad partner attribution settings toggle.
  3. Click Save.

Step 4: Generate Branch Ad Link 

The Glance team uses the Branch Ad Link you generate. The link allows you to receive the attribution data from Glance, which you can use to validate the campaign performance. Share the link with them after you generate it.

Read the Generate Branch Ad Link topic on the Branch Help to know the steps of generating the link.

Step 5: Verify the integration

When the campaign launches, the data exchange starts between Glance and your Branch account. Enable Glance data on your Branch Dashboard as follows: 

  1. Go to Tools &gt; Liveview in the left menu bar.
  2. Click the WEBHOOK RECORDS tab.
  3. Click Add Filter.
  4. Search ad partner (3p) and select it.
  5. Select equals.
  6. Enter a_glance and press Enter/return on your keyboard.
  7. Click Update Session. You can see the data in the WEBHOOK RECORDS tab.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 16 Oct, 2024

Integrate Singular with Glance

If you use Singular as your preferred MMP, you need to integrate it with Glance before your first campaign starts.

Pre-requisites 

Before starting the integration, make sure you have

  • An active advertiser account with Singular. 
  • Received your Advertiser ID from the Glance team.

Integration Steps 

Integrating Singular and Glance is a one-time process applicable to all further campaigns. 

Step 1: Select Glance as the partner

Select Glance as the partner of Singular for your campaigns as follows: 

  1. Log in to your Singular account.
  2. In the left menu bar, click Attribution &gt; Partner Configuration.
  3. Search for Glance and select it. You can also use the search bar at the top if you don’t see Glace on the list.
  4. Click + Add Partner.

Step 2: Add your App and Site

Add the app and site (app version) you want to run the campaign for as follows:

  1. On the Partner Configuration page, click + Add App Site.
  2. In the App drop-down, select the app you want to run the campaign for.
  3. In the Site drop-down, select the version of the app. You must select the latest version of the app.
  4. Mark the Include View Through Attributions box, if not selected. This option enables the attribution of impressions.
  5. Mark the Enable Fraud Postbacks box, if not selected by default.
  6. Mark the Send Postbacks to Glance on all installs box. This option enables you to optimize the Glance Data Science models for precise targeting by sharing the unattributed data.
  7. Keep the Click-through attribution lookback window to the default value (7 days). This is an industry-standard value, and changing it may result in inaccurate reporting.
  8. In the Send in-app events to Glance drop-down, select On. This option enables you to capture the attribution of all the events that happened through the Glance campaign.

Step 3: Configure postbacks

Stay on the same page and configure the postbacks on Singular as follows:

  1. Scroll down to the Install & Re-engagement Postbacks section.
  2. Select the required option based on your campaign goal in the Install or Re-engagement drop-down.
  3. Enter a name for the tracker in Tracker Campaign Name Filter. Singular automatically populates the Postback URL.

    Note:

    Share the URL with the Glance team only after completing all the configuration.

  4. Mark the Send View-Through Postbacks box.
  5. Mark the Send postbacks to Glance on all installs box.
  6. Scroll down to the Event Postbacks section.
  7. Check if all the events planned for the campaign are configured in the Event Postbacks section. If not, configure the required event values. Make sure the Lookback value for all events is None.
  8. Mark Send View-Through Postbacks and Send All on each event. Singular automatically generates the Postback URL, which you can share with the Glance team.
  9. Click Done.

Step 4: Share the Postback URL

Share the Postback URLs you get while configuring Install & Re-engagement Postbacks and Event Postbacks with the Glance team.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 16 Oct, 2024

Integrate Kochava with Glance

If Kochava is your preferred MMP, you need to integrate Kochava with Glance before the campaign starts. 

Pre-requisites 

Before starting the integration, make sure you have: 

  • An active advertiser account with Kochava. 
  • Received your Advertiser ID from the Glance team.

Integration steps  

The integration of Kochava and Glance is a one-time process and applicable to all the further campaigns. The integration steps are: 

Step 1: Set up 

  1. Log in to your Kochava account. 
  2. On the right side of the header, select your required account. Then, select the app for which you want to run the campaign.

Step 2: Create a tracker

You need to create a tracker link and share it with the Glance team. The team uses the Kochava tracker in your campaigns, which allows data postback from Glance to your Kochava account. 

  1. Go to Links &gt; Campaign Manager in the left menu bar. 
  2. Click Add a Tracker. The New Tracker page opens. 
  3. Under the Tracker & Network Set Up section, enter a tracker name.

    Note:

    The Tracker Name field fills up with a system-generated name when you click Add a Tracker. It’s suggested you change the name to your preferred name.

  4. Select  Acquisition in the TRACKER TYPE drop-down. For the Re-engagement campaign, select Reengagement.

  5. Select Glance in the MEDIA PARTNER drop-down.
  6. (Optional) Select an option in the AGENCY PARTNER if applicable.
  7. Under the Destination URL section, select Landing Page.

    Note:

    Refer to Kochava’s Landing Page Creation and Maintenance Support documentation for more information on creating and using Landing Pages.

  8. (Optional) Enter required values in Custom Parameters.
  9. Click Save & Create Postback to navigate directly to the Partner Configuration page.
    Alternatively, you can click Save and navigate to the Partner Configuration by going to Apps & Assets &gt; Partner Configuration in the left menu bar.

Step 3: Configure Postbacks  

A postback—also called a callback—is data communication between two servers (Kochava and Glance in the current scenario) following an in-app event, such as an app installation or user activity. This system enables the Glance team to get real-time updates on user interactions, drops, or any issues regarding the campaign. Configure the postbacks for Glance as follows: 

  1. Go to Apps & Assets &gt; Partner Configuration in the left menu bar.

  2. Click Add a Configuration.
  3. In the MEDIA PARTNER drop-down, select Glance.
  4. Click Go.

  5. Click  Install &gt; Postback Tools  (  

      ) &gt;  Edit. The Edit Postback Install page opens.

  6. Enter or select the Glance-recommended values in the following fields:

    Field Glance recommended value Description
    PROPERTY NAME advertiser_id Identifier for the Glance campaigns.
    IMPRESSION CONVERSION DELIVERY - Determines if impression-matched install postbacks are limited.
    PACKAGE NAME/BUNDLE ID -  
    DELIVERY DELAY Realtime Delivery Enables real-time postback delivery to Glance.
    RETRY ATTEMPTS 3 Configures the number of attempts for redelivery in case of a failure.
    DELIVERY METHOD Deliver All Provides unattributed data access to the Glance.
  7. Save the postbacks.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 16 Oct, 2024

Glance Smart Lock Screen Performance Campaigns

Glance is a user-first content discovery platform developed in partnership with leading Android OEMs. It delivers an app-less experience on the Lock Screen, reaching over 400 million users globally. Glance offers full-screen ad inventory on the Lock Screen and Feed Screen, enhancing engagement with seamless content discovery. 

Note:

Glance Smart Lock Screen does not allow user-generated content and only features Glance curated or moderated content and ads.

Unlike traditional app inventories, Glance delivers non-intrusive, native, fresh, high-quality, serendipitous, and contextual ad experiences. This approach creates lasting impressions and improves users’ Lifetime Value (LTV).

Read more about Glance ad inventories.

Glance creatives follow strict guidelines and specifications defined by the Glance team and integrated OEMs. These guidelines ensure a consistent, accessible user experience while promoting app discovery, user safety, and brand safety. They also enhance user interaction and simplify development, maintenance, and updates, leading to improved quality control and more efficient rollouts of new features and fixes. 

Glance offers user acquisition and re-marketing campaign capabilities backed by first-party data from Glance and other InMobi platforms. You can also leverage the Glance's machine learning models effectively by sharing your unattributed data with the Glance team.

Once you have signed the campaign contract with the Glance team, you need to fulfill the onboarding requirements for Glance. These requirements are necessary to run the campaign efficiently and achieve the campaign goals.

Before the campaign starts, you need to integrate your preferred Mobile Measurement Partner (MMP) with Glance to enable third-party measurement and validation. During and after the campaign, you can find campaign performance reports on your preferred MMP dashboard.

Glance performance campaign flows

Glance Smart Lock Screen performance campaigns can be of two types based on the user flow:

One-click Install (OCI) campaigns

Users can initiate app installation with one click on the CTA, without unlocking the phone and getting redirected to the Google Play Store or other OEM app marketplaces. The OCI flow has the following user flow

  1. The user sees an ad on the Glance Lock screen with an Install CTA.
  2. The app download queues in the background.
  3. The user continues engaging with Glance content, such as news, games, or other cards.
  4. The user unlocks the phone.
  5. The app installs automatically, and the status is visible in the notification bar. If the internet is not available on the device, the download starts the moment the device gets the internet.

Note:

For Xiaomi and Realme (Indonesia) devices, advertisers must host the latest app on the GetApps store. For Samsung devices, advertisers need to provide the latest universal SDK.

Playstore flow

The CTA of the ad leads the user to unlock their device and redirects them to Google Play Store or any other app source.

Benefits of opting for Glance OCI over Play Store flow

Glance OCI provides several key advantages compared to the traditional Play Store flow:

  • Frictionless flow: The OCI flow simplifies user acquisition by removing unnecessary steps, making the CTIT (Click to install time) shorter. Users install apps directly from the Lock Screen with a single click, avoiding the need to navigate through the Play Store. This streamlined process boosts immediate app engagement.
  • Install rejection: Glance ensures a privacy-safe, on-device attribution system. It is a deterministic attribution partner to AppsFlyer and Adjust, thus driving precise and fraud-free attributions.

  • Access to alternate marketplaces: For advertiser apps facing stricter regulations on the Play Store, Glance OCI offers direct access to alternative marketplaces and direct APK downloads for app distribution, reducing dependency on Google Play Store policies.
  • Distraction-free Installation: When users are redirected to the Play Store, they may encounter competing apps within the same category. Glance OCI prevents this by keeping the entire process on the Lock Screen, allowing conversions to happen in one click without distractions.

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 18 Jul, 2025