Group A: All-New Entities
Group A scenarios involve creating campaigns from scratch where no entities have existing platform IDs. All entities CREATE when published.Scenarios in this group:
- New campaign with new ad sets and ads
- Multiple new campaigns
- Carousel ads (Meta and TikTok)
- Re-publishing canvas-origin nodes
- First-time campaign publishing
Scenario A1: Simple New Campaign
Setup:- Create new campaign node (+ Campaign)
- Add new ad set node (+ Ad Set)
- Add new ad node (+ Ad)
- Configure all nodes
- Publish
| Entity | Has ID? | Action | Result |
|---|---|---|---|
| Campaign | No | CREATE | New campaign created on platform |
| Ad Set | No | CREATE | New ad set created under campaign |
| Ad | No | CREATE | New ad created under ad set |
- All nodes receive platform IDs
- Campaign is live on platform
- Subsequent publishes will UPDATE or SKIP (nodes now have IDs)
Scenario A2: Multiple New Campaigns
Setup:- Create 3 campaign nodes
- Each campaign has 2 ad sets
- Each ad set has 2 ads
- Publish all together
- 3 campaigns created
- 6 ad sets created (2 per campaign)
- 12 ads created (2 per ad set)
- All entities receive platform IDs
Whathead processes campaigns in parallel for speed, but maintains hierarchical order within each campaign (campaign → ad sets → ads).
Scenario A3: Carousel Ad (Meta)
Setup:- Create new campaign (objective: Sales)
- Create new ad set
- Create new ad with carousel format
- Add 5 carousel cards with images
- Publish
| Entity | Has ID? | Action | Result |
|---|---|---|---|
| Campaign | No | CREATE | New campaign created |
| Ad Set | No | CREATE | New ad set created |
| Ad (Carousel) | No | CREATE | New carousel ad created with 5 cards |
- Meta: Carousel ad created with all cards in single API call
- Each card is part of the ad, not a separate entity
- Carousel ad receives single ad ID
Scenario A4: Carousel Ad (TikTok)
Setup:- Create new campaign (objective: Conversion)
- Create new ad group
- Create new ad with carousel format
- Add 10 carousel cards
- Publish
| Entity | Has ID? | Action | Result |
|---|---|---|---|
| Campaign | No | CREATE | New campaign created |
| Ad Group | No | CREATE | New ad group created |
| Ad (Carousel) | No | CREATE | New carousel ad created with 10 cards |
- TikTok: Supports up to 10 carousel cards
- All cards created in single API call
- Carousel ad receives single ad ID
Scenario A5: Re-Publishing Canvas-Origin Node
Setup:- Create new campaign node
- Publish (campaign receives ID)
- Publish again without changes
| Entity | Has ID? | Action | Result |
|---|---|---|---|
| Campaign | No | CREATE | New campaign created, receives ID |
| Entity | Has ID? | Has Changes? | Action | Result |
|---|---|---|---|---|
| Campaign | Yes | No | SKIP | No API call, campaign unchanged |
Scenario A6: Re-Publishing Canvas-Origin Node with Changes
Setup:- Create new campaign node
- Publish (campaign receives ID)
- Edit campaign budget
- Publish again
| Entity | Has ID? | Action | Result |
|---|---|---|---|
| Campaign | No | CREATE | New campaign created, receives ID |
| Entity | Has ID? | Has Changes? | Action | Result |
|---|---|---|---|---|
| Campaign | Yes | Yes | UPDATE | Campaign budget updated on platform |
- Campaign is updated, not duplicated
- Platform ID remains the same
- Budget change reflected on platform
Scenario A7: New Campaign with Multiple Ad Sets Under One Campaign
Setup:- Create 1 campaign node
- Create 5 ad set nodes under the campaign
- Create 2 ads under each ad set
- Publish
- 1 campaign created
- 5 ad sets created under the campaign
- 10 ads created (2 per ad set)
This is a common pattern for testing multiple audiences or targeting strategies within a single campaign.
Scenario A8: Multiple Campaigns with Shared Ad Set Structure
Setup:- Create 10 campaign nodes (same objective)
- Create 1 ad set node and connect it to Campaign 1
- Copy/paste the ad set 9 times to create ad sets for the other campaigns
- Create 1 ad under each ad set
- Publish
- 10 campaigns created
- 10 ad sets created (1 under each campaign)
- 10 ads created (1 under each ad set)
- Each ad set node publishes under its designated parent campaign
Common Questions
Do canvas-origin nodes always create duplicates on every publish?
Do canvas-origin nodes always create duplicates on every publish?
No. Canvas-origin nodes only CREATE on the first publish. After receiving platform IDs, they UPDATE or SKIP on subsequent publishes just like loaded entities.To create duplicates, use copy/paste or the duplicate function.
Can I publish multiple new campaigns at once?
Can I publish multiple new campaigns at once?
Yes. Whathead processes multiple campaigns in parallel. Each campaign is created independently with its ad sets and ads.
What happens if one campaign fails but others succeed?
What happens if one campaign fails but others succeed?
Successful campaigns are created and receive IDs. Failed campaigns show error messages. Fix errors and retry—successful campaigns will be skipped automatically.
Can I connect one ad set to multiple campaigns?
Can I connect one ad set to multiple campaigns?
No. Each ad set belongs to exactly one campaign when published. If you visually connect an ad set to multiple campaigns on the canvas, only one parent is used at publish time (determined by the ad set’s parentNode or campaign_id field). To have the same ad set structure under multiple campaigns, use copy/paste to duplicate the ad set node for each campaign.
Do carousel ads create multiple ad entities?
Do carousel ads create multiple ad entities?
No. Carousel ads are single entities with multiple cards. You get one ad ID for the entire carousel.