Skip to main content
Mapping only – no publish. The transfer adds nodes to the canvas. You must publish separately after reviewing.

Supported platform pairs

SourceDestinationNotes
MetaSnapchatFull campaign → ad set → ad mapping
SnapchatMetaFull mapping + story asset handling

Flow diagram

Step-by-step walkthrough

1

Source Configuration

Choose source platform (Meta or Snapchat), then select the ad account. Campaigns load automatically once an account is selected.
2

Select Campaign & Fetch

Pick a campaign from the dropdown and click Fetch Campaign. A live progress counter shows campaigns / ad sets fetched.
3

Select Ad Sets

All ad sets are pre-selected. Use Select All / Deselect All or check individual rows. Use the search box to filter by name or ID.
4

Fetch Ads

Click Fetch Ads for Selected (fetches only checked ad sets) or Fetch All Ad Sets (selects all then fetches). Progress shows ad set N/total.
5

Review & Select Ads

Expand any ad set row (chevron) to see its ads. Each ad has its own checkbox. Use the inline search to filter ads by name or ID.
6

Destination Configuration

Choose destination platform and account. Optionally override the campaign name (defaults to the source campaign name).
7

Story Asset Handling (Snapchat → Meta only)

If fetched Snapchat ads contain 9:16 vertical assets (is_story_compatible: true), a panel appears with two options:
  • Use story-size assets (Recommended) — optimised for Instagram Stories, Facebook Stories, Reels
  • Use standard feed assets — used for feed placements (may be cropped) The _useStoryAssets flag is stored on each ad node for the publish step to consume.
8

Save to Canvas

Click Save. The modal runs mapCampaign → mapAdSet → mapAd via CrossPlatformMappingService, then calls onNodesGenerated with the resulting nodes and edges. The modal closes and nodes appear on the canvas in a tree layout (campaign → ad sets → ads, 220 px horizontal spacing).

State persistence

Settings (source/dest platform, account IDs, campaign ID, selected ad set/ad IDs, campaign name) are persisted to localStorage under the key crossTransferModal_settings and restored when the modal reopens.

After saving to the canvas

Transferred campaigns, ad sets, and ads are added to the canvas as a tree. They are marked as coming from a cross-transfer and which platform they came from and which they’re going to. All items start in Paused status so you can review before publishing. For Snapchat → Meta, if you chose to use story-size assets, that preference is stored so the publish step can use the right creatives for Stories and Reels.

Campaign Builder

Where you create and edit campaigns.

Publishing

Publish after transferring.