Back Article in: Ads Manager
Ads Manager

How to upload a Video Upload campaign

6 steps to upload video directly (non-Spark): BC Auth or New Identity, video gallery, targeting and UTM

Complete tutorial to create Video Upload (Normal Campaign) campaigns in BeepMi via Power Editor. Unlike Spark, this format uploads the video directly to TikTok with your own identity: you need to authorize the account first.

Estimated time~6 minutes
Steps6 steps
DifficultyIntermediate
PrerequisitesBC Auth or Identity
🎬
Upload vs Spark: which to use?

Upload (Normal): uploads video directly. You set the identity (logo + name). No organic likes/comments. Good for mass scale, original creatives, and accounts without organic profile.

Spark Ads: uses an authorized organic post. Keeps likes, comments and creator's identity. More native look.

Before you start

You need:

  • TikTok Business Center connected with campaign creation permission
  • Pixel configured on the account (conversion tracking)
  • MP4 video already uploaded in Creative Library (or upload now)
  • Identity configured in Business Center (one of the 2 options below)
  • At least 1 active advertiser in the profile
🔐
WITHOUT IDENTITY, THE CAMPAIGN WON'T CREATE

Unlike Spark (which uses the creator's profile), Upload needs an identity to post. For Upload, TikTok accepts ONLY 2 identity types: BC Auth (BC_AUTH_TT) or User ID (TT_USER).

Customized User (the "New Identity" created via "+ New identity") does NOT work for Upload. Even if the UI shows the button and creates the identity, it does not appear in the dropdown when selecting it for the campaign. This is a TikTok Marketing API limitation, not a BeepMi bug.

This is the ideal setup for Upload. Identity tied to a real TikTok profile, with permissions on ad accounts. Do everything in TikTok Business Center before going back to BeepMi.

Connect TikTok profile in Business Center

In TikTok Business Center, go to Assets → TikTok Account → Add. Select "Authorize TikTok Account". Log in with the TikTok account you want to use as ad identity. Accept permissions.

Grant permission to all ad accounts

After connecting the TikTok account, open its profile in Assets → TikTok Account → [your profile]. Click Authorize and select all Ad Accounts that will use this profile as identity. Without this permission, the identity won't appear in the ad account's dropdown when uploading the campaign.

Add member with required permissions

Go to Members → Add Member. Add the user who will manage the campaigns (you or your team) with Operator or Admin permission on the relevant Ad Accounts. Minimum permission required to create Upload campaigns with BC Auth is BC_OPERATOR + AD_ACCOUNT_OPERATOR.

Confirm in BeepMi

Go back to BeepMi, open Power Editor, go to the Creative tab and select Normal mode. The BC Auth identity should appear in the "Identity" dropdown. If it doesn't, review steps 2 and 3 (ad account permission + member with correct role).

💡
Alternative: User ID (TT_USER)

If you don't want to use BC Auth, you can use the TT_USER identity: direct identity from a TikTok user already linked to the ad account. Appears in the dropdown automatically without the BC Auth flow. Useful for individual or test accounts.


1Step 1 · Campaign type

Choosing Manual or Smart+ + identity

In the first Normal tab, define the campaign type. At the top, pick the template: for Upload, select smart upload.

Power Editor: Normal tab (Upload)
Step 1: Upload campaign type

Manual Campaign: full control over budget, bids and placement. Recommended for scaling and A/B testing.

Smart+ Campaign: automatic optimization with TikTok AI. Good for quick tests.

⚠️
Branch Creatives: for video rotation

If you have multiple videos, enable Branch. Isolated = 1 video per account. Normal = 1 campaign per video on all accounts (multiplies volume).

Tip: rotate 3 to 5 videos In Upload, the gain from uploading multiple creatives in one batch is high. Upload 3-5 different videos with Branch Normal and let the algorithm pick the winner in 24-48h.

2Step 2 · Structure

How many campaigns, ad groups, ads and budget

The Structure tab defines the operation skeleton.

Power Editor: Structure tab
Step 2: structure
Field Default When to change
Initial Index 1 Keep 1 for first batch
Campaign(s) 1 Increase to run same structure multiple times
Ad Group(s) 1 1 is enough in 90% of cases
Ad(s) 1 Increase if rotating videos in same ad group
Budget Type ABO ABO = adgroup budget. CBO = auto-distributes
Daily Budget $250 Start with $50–$100 in tests
Bid / Target Cost empty Empty = TikTok decides (recommended)
Optimization Event Purchase Purchase for ecommerce. Lead for capture
⚙️
Upload Paused

Useful when uploading lots of stuff at once and you want to review before activating. Campaigns stay STATUS_DISABLE and you turn on manually in Ads Manager later.

Randomize Pacing (±10%) Useful to prevent TikTok from detecting multiple identical ad groups competing. When enabled, BeepMi varies ±10% on each ad group's budget automatically.

3Step 3 · Pacing & Geo

Delivery speed, countries and languages

Continuation of Structure: defines speed, internal ID and geo targeting.

Power Editor: Structure (continued)
Step 3: pacing, countries, languages

What each field does

  • Delivery Speed: Standard distributes budget throughout the day (recommended).
  • Delivery Speed: Accelerated consumes as fast as possible. Only available with Bid Cap filled.
  • Manager ID internal identifier (set by admin). Appears in campaign name.
  • Offer Name part of the naming convention. E.g.: OFFER1, PROMO, BLACK-FRIDAY.
  • Custom Account Name optional label for identification.
  • Countries select target countries. Brazil is default for Brazilian ecommerce.
  • Languages align with target market.
🌐
Sequential Incognito Mode

Uses last 5 digits of ID instead of account name. Useful in A/B without revealing identity in the report.


4Step 4 · Targeting

Defining the audience

The Targeting tab defines who sees the ads. Keep it broad initially.

Power Editor: Targeting tab
Step 4: targeting
  • Gender: All: exception: explicit niche products
  • Age Groups: 18-24, 25-34, 35-44, 45-54, 55+ (all checked)
  • Operating Systems: Android + iOS
  • Network Types: WiFi + 2G + 3G + 4G + 5G
  • Pixel: select the account's pixel (required for Purchase optimization)
Why broad audience in Upload? Original videos usually have higher CPM than Spark (no social proof effect). Compensate with broad audience (5M+) to give the algorithm volume. Restricting here only makes it worse.
⚠️
No pixel registered

If the dropdown is empty, go to Settings → Pixels and register the account's pixel. Without a pixel you can't optimize for Purchase.


5Step 5 · Identity + Video

The key difference of Upload

This is where Upload diverges from Spark. You need an authorized identity + video from gallery.

Power Editor: Normal Creative (Upload)
Step 5: Upload identity + video

Identity: the 2 options that work

Option A: BC Auth (recommended, BC_AUTH_TT)

Authorize an existing TikTok account as identity for your ads via Business Center. Configure before uploading the campaign (step-by-step at the start of this article). Advantages:

  • Real logo + name + TikTok profile
  • Professional and native appearance in feed
  • Reusable across multiple campaigns and accounts
  • Posts tied to official profile (aggregated analytics)
Option B: User ID (TT_USER)

Direct identity from a TikTok user already linked to the ad account (without BC Auth). Appears in the dropdown automatically if there's a TikTok user connected to the account. Advantages:

  • Simpler setup (no BC Auth needed)
  • Good for individual or test accounts
  • Existing identity, nothing new to create
⚠️
Customized User does NOT work for Upload

Even if the UI has a "+ New identity" button to create an identity with custom name + logo (CUSTOMIZED_USER type), this identity does not appear in the dropdown when selecting it for Upload. TikTok limits: for Upload, only TT_USER and BC_AUTH_TT are valid.

Ad Video

Gallery shows videos from BeepMi's Creative Library. Select 1 or more (if Branch is on).

Upload new video If video isn't in the gallery, click + New Ad or upload first via Library → Upload. Accepts MP4 up to 500MB, max 60s.
⚠️
Toggle "Create new identity if missing"

If enabled, BeepMi automatically creates new identity when account has none. Useful for mass automation, but loses visual control. Disable if you want to approve each identity manually.


6Step 6 · Finalizing

Creative continuation: sets banner overlay, landing page, CTA and tracking parameters.

Power Editor: Creative (continued)
Step 6: link, CTA, UTM, controls

Final settings

  • Display Cards (Banner): optional banner at video bottom. Default Display Time 2 seconds.
  • Site Link: full landing page URL. E.g.: https://mystore.com/product?ref=tiktok
  • Ad Text: caption that appears with the video (max 100 chars recommended).
  • Call to Action: Learn More (ToFu), Shop Now (BoFu/retargeting), Sign Up, Subscribe.

Important controls

  • Disable comments: recommended on new ads (avoids negative comments without volume)
  • Disable download: protects your video
  • Disable sharing: controls where the video appears
  • Enable search results: only if you want the video to appear in organic search

Default UTM

utm_source     = __PLACEMENT__
utm_medium     = __AID_NAME__
utm_campaign   = __CAMPAIGN_NAME__
utm_content    = __ADGROUP_NAME__
📊
TikTok macros

The variables __PLACEMENT__, __AID_NAME__, __CAMPAIGN_NAME__ and __ADGROUP_NAME__ are auto-filled at runtime: they arrive in Google Analytics/Pixel with the actual campaign name.


Ready to upload

After filling all 6 steps:

  1. Go back to the Normal tab
  2. Confirm the Summary at the bottom: total campaigns, ad groups and ads
  3. Click Start Upload (orange button bottom-right)
  4. Watch real-time progress in the log
⏱️
Upload time

Upload is slower than Spark (~45s per ad) because it sends the video. 10 accounts × 1 video = ~7-8 min. Uploading 5 videos with Branch = ~35-40 min total.

Common errors + fix

Error Cause Fix
40044: identity not found Account without authorized identity BC Auth or enable "Create new identity"
40016: pixel not found Pixel not selected in Step 4 Go back to Targeting and pick the pixel
Video format not supported MP4 outside TikTok standard Use H.264, max 60s, max 500MB, vertical 9:16
Identity creation failed Invalid logo/name in "New Identity" Logo: PNG/JPG square, min 100×100px
Campaign creation failed Insufficient BC balance Top up Business Center
Stuck at "Processing..." TikTok rate limit Wait 1 min, BeepMi auto-retries

Next steps

Didn't find what you were looking for?

Chat with us or send us an email

Talk to us