Performance Max bulk asset groups
without the rebuild.
Bulk Performance Max asset groups without rebuilding each one by hand: one upload fans a creative set across many asset groups, live alongside Meta, TikTok and Snapchat.
An asset group is a creative bundle - and you rebuild it every single time.
Source: Google Ads Help: How asset groups work, 2026
An asset group is the creative unit of a Performance Max campaign: a themed bundle of images, a logo, headlines, descriptions, at least one video, a final URL, and an audience signal that Google assembles into ads across Search, Shopping, YouTube, Gmail and Display. One Performance Max campaign can hold up to 100 asset groups. The conceptual side of that - how many to run, how to structure them, how audience signals work - is covered in the Performance Max asset groups guide. This page is about the part nobody automates: building and refreshing many of them, by hand, every week.

Why bulk asset group creation is a creative-operations problem
Unlike a Search ad group, where the lever is keywords, a Performance Max asset group has one real lever: creative plus the audience signal. That makes asset groups a creative-operations problem, not a targeting one. A retailer with five catalog lines wants one asset group per line. An account running the same offer to three audiences wants separate asset groups for each signal. Multiply that by every Performance Max campaign and every ad account, then add the refresh: assets fatigue, the asset type performance labels turn Low, and new assets have to go in without resetting the optimization Google has already done. The work that actually moves conversion and ROAS is not deciding the structure once. It is doing the same upload-name-place motion across many asset groups, every week, in a UI built to do it one asset group at a time. That is the exact shape of work uplads removes, on Performance Max the same way it does on Meta and TikTok.
What replaces the per-asset-group rebuild.
Upload once, reuse everywhere
Drag your creatives into the browser. Files are deduplicated automatically, so a tested asset re-launches in seconds instead of being re-uploaded into each asset group.
One creative set, many asset groups
The model that fans one creative across every Meta ad set and TikTok ad group is the same one running on Google: one set across many Performance Max asset groups.
Naming applied at creation
Compose a naming template from tokens once. It is stamped on every asset group and ad as it is created, so reporting is clean with no rename pass after.
Refresh without a cold restart
Add new assets to many asset groups in one pass, the way the Meta and TikTok flows re-launch a refreshed creative set without rebuilding from zero.
One bad asset won't kill it
Launches run in the background and isolate failures per ad. A single rejected creative is one red row, not a broken batch.
Built for every network
Google, Meta, TikTok and Snapchat run the same single workflow. Your plan, creatives and naming templates carry across all four.
Those cards - upload once, naming at creation, background launches that isolate failures, one set fanned across many targets - run in production right now on Google, Meta, TikTok and Snapchat. The Performance Max launcher is not a separate product; it is the same flow that learned a second network with TikTok, now creating asset groups. The launch you run for asset groups is the launch you run for Meta ad sets and TikTok ad groups.
How the one-upload model maps to asset groups
The realistic ways to create Performance Max asset groups in bulk are the Google Ads UI, the Google Ads Editor, and the Google Ads API. Each one works. Each one also keeps the creative-operations work manual or in code, which is the step that does not scale when you launch and refresh every week. The one-upload flow is built to remove the middle steps.
From a folder of creatives to live asset groups, no rebuild.
Connect your ad account
Sign in to the network once. Access tokens are encrypted at rest, and every connected account becomes selectable in any future launch.
Drop your creatives
Drag your images and videos into the browser. Each file is fingerprinted and uploaded directly to secure cloud storage, deduplicated against everything you have launched before.
Pick your targets
Choose the account and the targets the launch should hit - Performance Max asset groups, Demand Gen ad groups, Meta ad sets or TikTok ad groups. One creative set can go into all of them.
Pick a naming template
Compose a template from tokens. It is applied at creation time, so the asset group and every ad report cleanly with no spreadsheet rename pass.
Hit launch and walk away
A background worker creates everything in batches and isolates per-asset failures. Progress reports into a single live view.
The only thing that changes between networks is the target picker: where you choose Meta ad sets or TikTok ad groups, you choose Performance Max asset groups. Everything before and after that step is identical, which is exactly how TikTok and Snapchat joined before Google.
How it compares to building asset groups by hand
The Google Ads UI, the Editor, and the API each create asset groups in bulk - and each one keeps the work in a screen, a desktop app, or in code. The one-upload model trades that for a browser launch with the naming convention applied automatically. Here is the side-by-side.
What the one-upload model does that the manual rebuild does not.
Scroll →
The row that matters is the first one: the UI, the Editor and the API all ask you to build each asset group by hand, in a screen, a desktop app or in code. The one-upload model does not, and it runs the identical workflow for Meta, TikTok and Snapchat in the same workspace. For the broader Google picture see the Google Ads bulk creation page, for the other networks the Meta ads launch tool and the TikTok ads launch tool, and for the cross-network picture the multi-platform overview.
