Fix issues with HTML5 assets for App campaigns

When uploading HTML5 assets in Google Ads, you may receive an error message. In most situations, the problem can be fixed by altering your file and re-saving. You can then try to upload your file again.

In some situations, you can use a tool such as the Google Ads HTML5 validator, which allows you to test your assets before you upload them into Google Ads and check for potential issues.

This article will help you respond to specific issues that may come up while working with HTML5 assets in your App campaigns. Learn more about HTML5/Playable ads for App campaigns

Upload issues

File size is too large

HTML5 assets in interstitial dimensions (320 x 480 and 480 x 320) can be up to 5.2 MB in file size. Larger assets will be immediately rejected, so reduce your asset’s file size as needed.

Note: If the file is close to the size limit, it can sometimes cause issues. Reducing the file size a little should also help.

Dimensions aren't allowed

There are only two supported asset dimensions:
  • 320 x 480 (portrait)
  • 480 x 320 (landscape)

To fix the issue, change your asset’s dimensions to the supported ones or use the “ad.orientation” meta tag and set the correct orientation value in which your asset should be rendered.

Note: You can choose not to use the “ad.size” meta tag and instead use the new “ad.orientation” meta tag to set the desired orientation value of your asset:
  • “portrait” (for vertical assets)
  • "landscape” (for horizontal assets)
  • “portrait,landscape” or “landscape,portrait” (for fully responsive assets working in both orientations)

If you still use the “ad.size” meta tag and provide dimensions other than the supported ones, the error message will still be shown upon upload.

If both meta tags are declared in HTML, the “ad.orientation” value will be used.

If you don’t use any meta tags or have set the orientation values incorrectly, your assets won’t be rejected upon upload but will only be rendered in portrait orientation.

The following file is in a path that includes one or more characters that we don't support. Please remove all instances of these characters from the file's name and all directories, then try again.

Folder and file names within the .ZIP file may only contain supported characters such as letters, numbers, full stops ( . ), hyphens (-) and underscores (_). If you use other unsupported characters in your folder or file names (including spaces), it may trigger an error.
To fix the issue, rename your folders and files with supported characters and remove all instances of unsupported characters from your file's name and all directories, then try again.
The impacted files will be listed out in the error message in the place of the file path parameter, while the violating characters will be listed out in the place of invalid characters path parameter.
Note: If the renamed files are referenced in the source code, you’ll need to update them as well so that the file can render correctly.

The following file is an unsupported type. You should remove or replace this file, then try again.

Currently, these are the only supported file types in HTML5 ad bundles:
  • .CSS
  • .GIF
  • .HTML
  • .JPEG
  • .JS
  • .PNG
  • .SVG

If you upload other unsupported file types such as .MPEG or .FLA, it may trigger an error. To fix the issue, you should remove or replace it, then upload again.

Your HTML5 ad is trying to reference an asset that is external to your .ZIP file. Only internal file references are allowed (for example, "path/to/asset/in-zip.png"). Make sure that you've included all of your assets in the .ZIP file and that all file references are internal. Once you have made the changes, try again.

When you upload your HTML5 ad bundle, external file references aren’t allowed except for the following:

To fix the issue, make sure that you remove all unallowed external file references from your HTML5 ad bundle. After you’ve made the changes, try to re-upload.

Your HTML5 ad is trying to reference an asset that couldn't be found inside your .ZIP file. Make sure that you've included all of your assets inside the .ZIP file, then try again.

All local assets referenced within all files need to be present in the bundle. If you reference a path to an image that doesn’t exist in the bundle, the file will be rejected.
To fix the issue, make sure that you remove the references to files that don’t exist in the bundle, or add the referenced files into the bundle, then re-upload.

Your HTML5 ad is missing a primary .HTML file. Primary .HTML files include an ad size tag such as <meta name="ad.size" content="width=320,height=480">. Make sure that there's an .HTML file with an ad size tag in your HTML5 ad, then try again.

The asset showing this error doesn’t contain one of the required metadata parameters in any of the .HTML files in the bundle such as the ad size tag: <meta name="ad.size" content="width=320,height=480">. This doesn’t apply to Google Web Designer assets.
To fix the issue, make sure that your HTML5 asset has a primary .HTML file with an ad size tag contained inside the <head> section in the source code. You should also add all of the required tags into the source code of your asset:
  • <!DOCTYPE html> declaration
  • <html> tag
  • <body> tag
  • Ad format orientation meta tag within the <head> tag. For example, <meta name="ad.orientation" content="portrait">

Invalid tags such as <path><path /> won’t be accepted.

To meet these requirements, you may need to extract inline .SVG tags into separate files.

Note: Even though the size must be specified, your asset must also be responsive, since it will be served on interstitial slots with a banner that could vary in size. For serving in landscape orientation interstitials, use "width=480,height=320".

The media bundle contains too many files. Make sure the number of files inside your .ZIP file is less than or equal to 512.

For interstitial sizes, your assets may contain up to 512 files within the media bundle. Assets with more than the allowed number of files will be rejected.
To fix the issue, make sure that the number of files inside your .ZIP file is less than or equal to 512.
Note: Folders within the media bundle don’t increase the overall number of files within the bundle.

The .ZIP file cannot be processed because the file itself or one of the files inside it was corrupted. Check your files, re-compress them and then try again.

To fix the issue, check your files in the bundle, re-compress to make sure that the resulting file is a proper ZIP archive, and then try to re-upload.

Unsupported HTML5 feature in HTML5 asset

This error suggests that the source code of the files within the bundle has some features that Google Ads doesn’t support.
To fix this issue, remove the unsupported features from your HTML5 ad bundle. The Google Ads HTML5 validator should be able to help you with that.
Note: In the 'Advanced HTML5 check' section of the Google Ads HTML 5 validator, you may find the following error message: UNSUPPORTED_HTML5_FEATURE: rdf:description

If the issue is with unsupported .SVG tags, there may be tags in your creative code that aren’t included in one of the supported categories, such as container elements, gradient elements and graphics elements.

To fix this issue, check all the files stored within your .ZIP file and search for unsupported tags in your creative code then delete them. You can view the list of all supported .SVG tags. Learn more about the list of supported .SVG tags and their categories

For example, when a sample .SVG file within the bundle is opened in a text editor, the 'rdf:Description' tag can appear. When that tag is removed from all .SVG files, the bundle can be uploaded.

ZIP file from Google Web Designer is not published

You can’t upload manually compressed source files that are still editable in Google Web Designer after you unzip them. Google Web Designer assets need to be published locally before they're eligible to be uploaded into Google Ads.
To fix the issue, in Google Web Designer:
  1. Click Publish.
  2. Select Publish locally.
  3. Upload the resulting .ZIP file to Google Ads.

Google Web Designer not created for 'Google Ads' environment

Google Web Designer assets must have the 'gwd-googleads' or 'gwd-admob' specified as the ad environment in the 'environment' meta tag. However, if the ad environment is 'gwd-genericad' or 'gwd-dv360', the ad will be rejected. This doesn’t apply to non-Google Web Designer assets.
To fix the issue, open the source file (not the published asset) in Google Web Designer and change the environment to 'Google Ads'. Learn how to select the ad environment

Dynamic product type with correct vertical is required by the media bundle

Your assets may contain the following line in the source code without containing the product vertical tag: <meta name="productType" content="dynamic">. This tag is defined for dynamic remarketing for feed-based HTML5 assets.
To fix the issue, manually remove the <meta name="productType" content="dynamic"> line from the source code, as App campaigns currently don’t support feed-based custom HTML5 assets.

The media bundle is not compatible with current product type

Your asset may be referencing the tag <meta name="productType" content="dynamic">, but dynamic HTML5 assets aren’t generally supported in App campaigns.
To fix the issue, remove the <meta name="productType" content="dynamic"><meta name="vertical" content="{content_type}"> from the source code of the index.html file.
Note: There could be different values in the {content_type} placeholder like RETAIL, CUSTOM, among others.

HTML5 ads using DoubleClick Studio created ZIP files are not supported

In general, assets created in Studio (previously called 'DoubleClick Studio') aren’t compatible with Google Ads. The system determines this by checking for the presence of a Studio-specific JS library reference called Enabler. For custom non-Google Web Designer assets, the Enabler.js library isn’t supported and can’t be used.
Note: Google Web Designer files contain the Enabler.js library by default and it’s fully supported in them, but not in custom HTML5 bundles.

To fix the issue, remove the references to Enabler.js library from your custom HTML5 asset.

The ad exit behaviour is improperly configured

ExitAPI isn’t supported in Google Web Designer creatives. To fix the issue, remove any references to ExitAPI and use the Tap Area component to assign the custom clickable area instead.

Post-upload issues

Your HTML5 assets are disapproved for 'Invalid fourth-party call', 'Unacceptable HTML5 ad' or both.

HTML5 assets with one of the following elements are expected to get disapproved for 'Invalid fourth-party call' or 'Unacceptable HTML5 ad':
  • <video> tag without src attribute
  • Undetected external references
  • Non-Google fonts that are embedded directly in the file and not referenced from the fonts.googleapis.com domain will cause the disapproval, except for the fonts in the formats listed below:
    • .dfont
    • .eot
    • .otf
    • .tte
    • .ttf
    • .woff
    • .woff2
      • Note: You may check the list of all supported fonts in Google Fonts.
  • Assets embedded in child frames
    • Look for tags such as <frameset>, <frame>, or <iframe> in the source code. Frames allow you to embed external content and even entire websites within an HTML file but aren't supported in HTML5 assets.
  • Google Web Designer and AMPHTML creatives
    • Look for tags starting with 'amp' prefix, such as <amp-img> or <amp-ad-exit> in the source code. You may also find references to scripts hosted on cdn.ampproject.org.

Additionally, you can check if your asset is making certain fourth party calls via the 'Network' tab in Chrome Developer Tools. To access:

  1. Right click on the asset preview in Google Ads or Google Ads HTML5 validator.
  2. Select 'Inspect' from the contextual menu.
  3. Click the Network tab.

To fix the issue, review your assets, look for unsupported elements and tags with the Google Ads HTML5 validator, and make necessary edits. After that, try to upload again. You may also learn more about the technical requirements for 'Unacceptable HTML5 ad'.

Ad preview not loading

Ad preview isn't expected to load if your uploaded asset uses a resource that violates the Content Security Policy.
To fix the issue, you can check what the browser is communicating about your asset (whether the browser is purposefully rejecting some resources within the HTML5 ad) via the 'Console' tab in Chrome Developer Tools. To access:
  1. Right click on the asset preview in Google Ads or Google Ads HTML5 validator.
  2. Select 'Inspect' from the contextual menu.
  3. Click the Console tab.

Ad preview rendering incorrectly

Incorrect ad preview renders may be caused by certain assets that use the PixiJS library (or other external libraries), which may not work correctly in a sandbox.
To fix the issue, make sure that your HTML5 assets are built to work in a sandboxed iframe with just the 'allow-scripts' flag.
Note: Since HTML5 ads are sandboxed without allow-same-origin, images must be loaded with crossorigin="anonymous" to be used in a canvas.

Asset not clickable in preview

The Ad preview service is expected to block navigational clickability, which means that you should be able to interact with the asset, but not click out of the asset into the final URL.
To fix the issue, you can test clickability when you upload your asset into the Google Ads HTML5 validator.

HTML5 asset not serving

If your HTML5 asset isn’t serving at all (zero impressions), you may refer to this Help Centre article to learn how to fix Google Ads App campaigns not running or low traffic.

High click-through-rate (CTR) with low conversion rate (CVR)

One possible solution that may fix the issue is that the ExitAPI script must be included as a literal <script> tag in the <head> and not added through other JavaScript. Otherwise, the live serving creatives will be fully clickable on the entire area of the ad, which may lead to a large number of unintentional clicks and result in poor performance.

Was this helpful?

How can we improve it?
Search
Clear search
Close search
Google apps
Main menu
18412730549071277707
true
Search Help Centre
true
true
true
true
true
73067
false
false
false