Local Storage API Restrictions and Rejections in Display Ads
If you build advanced rich media campaigns with complex states (like checking which slides a user has viewed or saving game score counts), you might rely on the HTML5 storage APIs. However, uploading these to Google Ads leads to immediate rejections.
Why local storage is blocked
Under GDPR and CCPA privacy laws, persisting data on a user's local device requires clear consent. Unlike standard websites, display banner ads run inside third-party iframe namespaces. Accessing client-side databases:
localStoragesessionStorageindexedDBopenDatabase
allows advertisers to write cookies or persistent tracking fingerprints, bypassing browser third-party cookie restrictions. As a result, ad networks enforce a strict black-list check on these APIs.
The Alternative: In-Memory Variables
To pass validation, you must store all states in global JavaScript variables or objects. These variables remain active as long as the page is open, which is sufficient for banner animation lifetimes.