Built for performance agencies

Launch every client's ads in the same operational rhythm.

One login. Workspaces per client. Same Google Sheet workflow across Meta and TikTok. Onboard a new account in five minutes; launch a hundred ads in ten.

The agency operations problem.

Performance agencies launch the same kind of campaign for ten different clients with ten different ad accounts, ten different Pages, ten different Instagram identities, and ten slightly different naming conventions. The actual creative work is fast. The operational layer — switching accounts, re-pasting text, re-uploading creative, fixing one-off Ads Manager errors — is where the day disappears.

Bulk Ad Upload is built around this pattern. Every client gets a workspace. Every workspace remembers its connections. Same sheet template, same launch ritual, every time.

What agencies get from this.

Workspaces per client

Each workspace stores its own Meta token, ad account, page, IG identity, TikTok advertiser, and Drive connection. Switch in two clicks. No more logging in and out of Business Manager.

Same workflow, every account

Strategists own the sheet. Buyers own the launch. Same playbook for client A and client B, regardless of which platform they're on.

Naming convention enforcement

Use Sheet formulas to compose ad names from columns: campaign, creator, format, hook, date. The launched ad name matches your taxonomy 100% of the time.

Multi-platform, one ritual

Meta and TikTok use the same in-app shell. Pivot a client from Meta-only to multi-platform without retraining your team.

Capacity awareness

Meta's 50-ad-per-set limit catches buyers off guard at scale. We surface remaining capacity and warn before you exceed it.

Per-row error visibility

When 3 of 30 ads fail, the row tells you exactly why — invalid IG identity, ad set near capacity, missing creative. Fix and re-launch the failed rows only.

A typical agency launch flow.

  1. 1

    Strategy / creative builds the sheet

    Sheet has the campaign brief, primary text variants, headlines, Drive links to creative. Comments and approvals happen in the sheet, where they always have.

  2. 2

    Buyer imports + assigns

    In Bulk Ad Upload, switch to the client's workspace, import the sheet, assign every row to the right ad set. Capacity warnings flag any over-stuffing.

  3. 3

    Launch + QA

    Launch as PAUSED for a QA pass, then bulk-toggle to ACTIVE once the team has signed off. Ad-set-level reporting in Ads Manager picks up immediately.

Example agency naming convention.

One sheet column composes the ad name from the others. A typical convention:

{Format}_{Theme}_{Offer}_{Objective}_{Topic}_{Talent}_{HookSlug}

Examples:
Video_UGC_NoOffer_Awareness_Brunch_Female_NotGatekeeping
Video_Studio_From16pp_Conversion_Book_Music_NotYourGrandmasBingo
Static_Studio_NoOffer_Traffic_Home_NA_IGFeedDancingGirl

Compose this in the sheet with a CONCAT formula across columns. Every launched ad lands in Ads Manager with the exact name your reporting templates expect. No retroactive renaming, no Power Editor exports.

Frequently asked questions

Run every client's launches the same way.

Workspaces, sheet imports, and bulk launches — designed around how performance agencies actually operate.