Skip to main content
Publishing is the process of sending your campaigns from Whathead to TikTok’s advertising platform. This page covers TikTok-specific validation rules and constraints.
For the complete publishing workflow (validation, preview, create vs update logic, and troubleshooting), see Publishing Workflow and Publishing Decision Logic.

TikTok-Specific Validation Rules

Before publishing, Whathead validates your campaigns against TikTok’s requirements. These rules are enforced by Whathead’s TikTok adapter (adgroupValidator.ts, campaignValidator.ts, adValidator.ts).

Campaign Validation

RuleRequirementError if Not Met
Campaign NameMust be provided”Campaign name is required”
ObjectiveMust be selected”Campaign objective is required”
BudgetMust be ≥ $20/day if set at campaign level”Campaign budget must be at least $20 per day”
Ad GroupsMust have at least one ad group”Campaign must have at least one ad group”

Ad Group Validation

RuleRequirementError if Not Met
Ad Group NameMust be provided and ≤ 100 characters”Ad group name is required”
TargetingMust have at least one location”At least one location is required”
BudgetMust be ≥ 20/day(or20/day (or 10 for STORE/SHOWCASE campaigns)“Minimum ad group budget is 20”
Optimization GoalMust be compatible with objective”Optimization goal ‘[goal]’ is not compatible with objective ‘[objective]‘“
PixelRequired for CONVERT, VALUE optimization goals”Pixel ID is required for conversion-based optimization goals”
App IDRequired for APP_PROMOTION campaigns”App ID is required for App Promotion campaigns”
Parent CampaignMust be connected to a campaign”Campaign ID is required”

Ad Validation

RuleRequirementError if Not Met
Ad NameMust be provided”Ad name is required”
CreativeMust have image or video”Ad must have creative (image or video)“
Ad TextMust be provided”Ad text is required”
Call-to-ActionMust be selected”Call-to-action is required”
DestinationMust have URL or app destination”Ad destination is required”
Parent Ad GroupMust be connected to an ad group”Ad must be connected to an ad group”
TikTok Budget Minimum: TikTok requires a minimum daily budget of **20forcampaignsandadgroups.ThisishigherthanMeta(20** for campaigns and ad groups. This is higher than Meta (5) and Snapchat ($5).Exception: Campaigns with campaign_product_source set to STORE or SHOWCASE have a lower minimum of $10.Cross-Platform Transfer: When transferring campaigns from other platforms to TikTok, budgets below $20/day are automatically increased to meet this minimum.

Creative Validation

RuleRequirementError if Not Met
Image FormatJPG or PNG”Image must be JPG or PNG format”
Image Size≤ 10 MB”Image file size must be under 10 MB”
Image Resolution≥ 540 × 960 pixels (9:16) or 1200 × 628 pixels (1.91:1)“Image resolution must meet minimum requirements”
Video FormatMP4, MOV, MPEG, or AVI”Video must be MP4, MOV, MPEG, or AVI format”
Video Size≤ 500 MB”Video file size must be under 500 MB”
Video Duration5-60 seconds (recommended)Warning only
Video Resolution≥ 540 × 960 pixels (9:16) or 1280 × 720 pixels (16:9)“Video resolution must meet minimum requirements”
TikTok strongly prefers vertical video (9:16 aspect ratio) for optimal user experience. Horizontal videos are supported but may not perform as well.

TikTok-Specific Constraints

Lead Generation Instant Messaging

When using LEAD_GEN_CLICK_TO_SOCIAL_MEDIA_APP_MESSAGE promotion type:
  • Messenger or LINE: Requires messaging_app_account_id (Facebook Page ID or LINE Business ID)
  • WhatsApp or Zalo: Requires phone_full (phone number)
  • Optimization Goal Restriction: Zalo, LINE, and IM_URL only support CLICK optimization goal (not CONVERSATION)
Validation: Whathead’s TikTok adapter validates these requirements in adgroupValidator.ts before publishing.

App Promotion Campaigns

For APP_PROMOTION objective:
  • App ID: Required at ad group level (except for iOS14 campaigns where it’s inherited from campaign level)
  • Optimization Event: Required when optimization goal is IN_APP_EVENT
  • App Promotion Type: Choose between APP_INSTALL, APP_RETARGETING, or APP_PREREGISTRATION

Reach Campaigns

For REACH objective:
  • Frequency: Must be greater than 0 if specified
  • Frequency Schedule: Must be greater than 0 if specified

Video Views Campaigns

For VIDEO_VIEWS objective:
  • CPV Video Duration: Must be either ‘TWO_SECONDS’ or ‘SIX_SECONDS’

TikTok Publishing Best Practices

  • Use vertical video: TikTok performs best with 9:16 vertical video creative
  • Budget for TikTok minimums: Remember TikTok’s $20/day minimum when planning campaigns
  • Test Spark Ads: Promote organic TikTok posts for better engagement
  • Start with Lowest Cost bidding: Let TikTok’s algorithm optimize before using manual bidding
  • Monitor Smart+ campaigns: Consider Smart+ for simplified setup with automated optimization

Troubleshooting TikTok-Specific Issues

Cause: You transferred a campaign from Meta or Snapchat with a budget below $20/day.Resolution: This is expected behavior. TikTok requires a minimum $20/day budget, so Whathead automatically increases budgets during cross-platform transfers. Review and adjust budgets as needed before publishing.
Error: “Optimization goal ‘[goal]’ is not compatible with objective ‘[objective]’”Cause: The selected optimization goal is not allowed for your campaign objective.Resolution: Open the ad group and select a compatible optimization goal. Whathead shows only compatible options in the dropdown based on your campaign objective.
Error: “Pixel ID is required for conversion-based optimization goals”Cause: You selected a conversion optimization goal (CONVERT, VALUE) without connecting a TikTok Pixel.Resolution:
  1. Install TikTok Pixel on your website
  2. Connect the pixel in Whathead’s TikTok integration settings
  3. Select the pixel in your ad group configuration
Error: “Facebook Page ID is required for Messenger” or “Phone number is required for WhatsApp”Cause: You selected Instant Messaging promotion type without providing required contact information.Resolution:
  1. Open the ad group configuration
  2. Navigate to the Instant Messaging section
  3. Provide the required Facebook Page ID (for Messenger/LINE) or phone number (for WhatsApp/Zalo)

Next Steps