Launch across multiple ad platforms at once

Last updated: May 19, 2026

Launch across multiple ad platforms at once

Bulk Launch supports cross-platform rows — each row's account_id determines the platform, and Wevion surfaces per-platform required fields dynamically. Launch Meta + Google + TikTok + Taboola + Snapchat from one grid simultaneously. Each platform has unique objective + creative spec — Bulk Launch validates per-row before publish.

Who is this for

Mediabuyers running omnichannel campaigns. Anyone launching the same campaign concept across multiple platforms (e.g. brand launch on Meta + Google + TikTok simultaneously). Agencies managing cross-platform clients.

Why multi-platform launch matters

Single-channel campaigns leave reach + diversification on the table:

Single-channel risk

Multi-platform mitigation

Platform-specific algorithm dependency

Diversify across algorithms

Audience cap on one platform

Reach broader user base across platforms

Brand awareness limited to one ecosystem

Touch users across multiple touchpoints

Single point of failure (account suspended, etc.)

Other platforms continue

For brand launches + major promos: multi-platform is essential. For niche / direct-response: single-platform is often fine.

Setup in Bulk Launch

Step 1: Open Bulk Launch

/launch — the grid interface.

Step 2: Add rows per platform

Each row = one campaign. Per-platform configuration:

  • Row 1: Meta — account_id = Meta ad account ID, fan_page_id set, pixel_id set

  • Row 2: Google — account_id = Google customer ID, pixel_id = conversion action ID

  • Row 3: TikTok — account_id = TikTok advertiser ID, pixel_id = TikTok pixel

  • Row 4: Taboola — account_id = Backstage account ID

  • Row 5: Snapchat — account_id = Snapchat ad account (if Snapchat enabled — see snp-101)

Wevion infers the platform from the account_id and shows the relevant fields dynamically.

Step 3: Configure shared concept

For the same campaign concept across platforms:

  • Same audience concept (translated per-platform): broad audience for awareness, custom for retargeting

  • Same creative concept (per-platform spec): 1:1 + 9:16 for Meta, 9:16-only for TikTok, 16:9 for YouTube

  • Same copy concept (per-platform char limits): truncated for TikTok's 100-char vs Meta's 125

  • Different objectives per platform's available set (Meta Sales vs Google Performance Max)

Step 4: Per-platform customization

Some fields are platform-specific and require per-row attention:

Field

Per-platform

fan_page_id

Meta only

customer_id

Google only

advertiser_id

TikTok

Backstage account

Taboola

pixel_id

Each platform has its own pixel

Objective

Meta OUTCOME_SALES vs Google GOOGLE_PERFORMANCE_MAX

Bid strategy

Different per platform's options

DSA fields (EU only)

Meta enforces strictly; others may not require

Special ad categories

Each platform's own enum

Step 5: Validate all

Toolbar Validate all runs per-row validation:

  • Meta row: missing pixel → error

  • Google row: missing customer ID → error

  • TikTok row: aspect ratio not 9:16 → error

  • All rows: missing DSA for EU → error

Fix errors before publishing.

Step 6: Publish wave

Publish all → all rows submitted in parallel to SQS workers, each row routed to the right platform's launch provider:

  • Meta row → apps/backend/src/providers/meta/meta.launch-provider.ts

  • Google row → apps/backend/src/providers/google/google.launch-provider.ts

  • TikTok row → apps/backend/src/providers/tiktok/tiktok.launch-provider.ts

  • Taboola row → apps/backend/src/providers/taboola/taboola.launch-provider.ts

  • Snapchat row → apps/backend/src/providers/snapchat/

Each provider implements the common launch.interface.ts contract.

Platform-specific considerations

Aspect ratio differences

Platform

Preferred aspect

Meta Feed

1:1

Meta Stories/Reels

9:16

TikTok

9:16

YouTube In-Stream

16:9

YouTube Shorts

9:16

Snapchat

9:16

Taboola

1.5:1

For cross-platform: upload assets per aspect, Wevion's multi-aspect support handles serving correctly.

Copy character limits

Platform

Primary text limit

Meta

125

TikTok

100

Snapchat

150 (description)

Write to the tightest constraint (100 chars) for consistency, OR per-platform variations.

Tracking divergences

  • Meta CAPI + Conversion API for server-side events

  • Google Conversions API equivalent

  • TikTok Events API equivalent

  • Snapchat Pixel browser-only currently in Wevion (snp-102)

  • Taboola Pixel for native ad attribution

Each platform's events tracked separately + aggregated in Wevion's Cross-Channel Analytics.

Currency

Each ad account's currency is immutable (set at account creation). Multi-account multi-currency campaigns: Cross-Channel Analytics auto-converts to workspace currency for rollup (gs-118).

DSA enforcement

  • Meta: strict, blocks publish without DSA fields for EU

  • Google: similar enforcement emerging

  • TikTok: lenient (so far)

  • Snapchat: lenient

  • Taboola: depends on geo

Wevion validates DSA per row based on platform + geo.

What unifies across platforms

Despite differences, Bulk Launch unifies:

Concept

Unified across platforms

Campaign objective

Mapped to per-platform equivalent (cc-106)

Budget structure

CBO / ABO concepts apply universally

Audience

Geo + age + gender + interests translate

Creative library

Single Creative Hub feeds all platforms (cc-116)

UTM convention

Same template across rows (cc-117)

Reporting

Cross-Channel Analytics rollup

Common multi-platform patterns

Pattern A: Omnichannel brand launch

  • Template: brand launch concept

  • 5 rows: Meta + Google + TikTok + Taboola + Snapchat

  • Different creatives per platform (visual fits each platform's aesthetic)

  • Same copy translated per char limit + platform tone

  • Publish wave simultaneously

  • Monitor in Cross-Channel Analytics

Pattern B: Geo-distributed product launch

  • 3 markets (US + EU + APAC)

  • 3 platforms (Meta + Google + TikTok)

  • 9 rows total: each platform × each market

  • Per-market currency + DSA + creative localization

  • Publish wave; monitor per-market in Cross-Channel

Pattern C: Black Friday cross-platform

  • Same offer (20% off) across platforms

  • 4 rows: Meta + Google PMax + TikTok + Snapchat

  • Lifetime budget per row covering Fri-Mon

  • Dayparting: 24/7 to maximize offer window

  • Coordinated launch via scheduled bulk publish

Pattern D: Awareness + retargeting layered

  • Top-funnel: Meta Awareness + Google Display + TikTok Awareness (broad)

  • Retargeting: Meta + Google retargeting custom audiences (warm)

  • 6 rows in same Bulk Launch wave

  • Coordinated: top-funnel drives traffic, retargeting captures conversions

Failure handling

Per-row independence means partial failure is recoverable:

  • 5 rows attempted, 3 succeed + 2 fail

  • Failed rows: red badge with error

  • Successful rows: live on respective platforms

  • Fix failed rows (typically per-platform-specific issue) + retry just those

Bulk wave doesn't roll back on partial failure — successful publishes stay live.

What you'll see

In Bulk Launch with multi-platform rows:

  • Per-row platform badge (Meta icon, Google icon, etc.)

  • Per-row field set adapts to platform (TikTok rows show TikTok-specific fields)

  • Cross-row validation summary (e.g. "5 rows, 3 platforms, 0 errors")

  • Per-row status in real-time during publish

In Cross-Channel Analytics post-launch:

  • Spend breakdown per platform

  • Conversions per platform

  • ROAS per platform comparison

  • Top campaigns across platforms

Common issues

  • "Row platform inference wrong": account_id format doesn't match expected. Verify the account exists in Wevion's /connect/{platform}.

  • "Cross-platform creative reuse fails": each platform has spec; reuse may fail for aspect ratio mismatches. Use multi-aspect uploads.

  • "Multi-platform copy looks awkward in TikTok": 100-char limit truncated for TikTok. Use per-platform copy variations.

  • "Budget converted weird across platforms": each account's currency; native currency per row. Cross-Channel rollup uses workspace currency.

Related