Skip to main content

Bulk Upload

Bulk upload lets you create multiple campaigns from spreadsheet data. Instead of building campaigns one by one on the canvas, you prepare campaign structures in a spreadsheet and import them into Whathead. This is ideal for creating many similar campaigns, importing media plans, or migrating campaigns from other tools.
What you’ll learn:
  • How to prepare spreadsheet data for bulk upload
  • Column mapping and data format requirements
  • How to import campaigns, ad sets, and ads from spreadsheets
  • Validation and error handling during bulk upload

How Bulk Upload Works

Bulk upload reads campaign data from a spreadsheet file (CSV or Excel) and creates nodes on the canvas. You map spreadsheet columns to campaign fields, and Whathead generates the campaign structure automatically.

Basic Bulk Upload Workflow

1

Prepare your spreadsheet

Create a CSV or Excel file with campaign data. Include columns for campaign names, budgets, targeting, ad copy, and other required fields.
2

Upload the file

Click Bulk Upload in the Campaign Builder and select your spreadsheet file.
3

Map columns to fields

Match spreadsheet columns to Whathead fields. For example, map “Campaign Name” column to the campaign name field.
4

Review and validate

Whathead validates your data and shows any errors. Fix errors in the spreadsheet and re-upload if needed.
5

Import to canvas

Click Import to create nodes on the canvas. Whathead generates campaigns, ad sets, and ads based on your spreadsheet data.
6

Review and publish

Review the generated campaign structure on the canvas. Make any adjustments, then publish to send campaigns to platforms.
Start with a small test file (5-10 campaigns) to verify your spreadsheet format and column mapping work correctly. Then scale up to larger imports.

Spreadsheet Format Requirements

Your spreadsheet must follow specific format requirements for successful import.

File Format

Whathead supports:
  • CSV files (.csv): Plain text comma-separated values
  • Excel files (.xlsx): Microsoft Excel format
CSV files are recommended for large imports (1000+ campaigns) because they load faster and have smaller file sizes.

Required Columns

Your spreadsheet must include these required columns:
ColumnDescriptionExample Values
Campaign NameUnique identifier for each campaign”Summer Sale 2024”, “Q4 Awareness”
PlatformAdvertising platform”Meta”, “TikTok”, “Snapchat”, “Google”
ObjectiveCampaign objective”Sales”, “Traffic”, “Awareness”, “Engagement”
Daily BudgetBudget per day (or Lifetime Budget)“50”, “100.50”, “1000”
Ad Set NameName for ad set”US Audience 18-35”, “UK Retargeting”
Ad NameName for ad”Beach Photo Variant A”, “City Video Variant B”

Optional Columns

You can include optional columns for additional configuration:
ColumnDescriptionExample Values
Lifetime BudgetTotal budget for campaign duration”1000”, “5000.00”
Start DateWhen campaign begins”2024-06-01”, “06/01/2024”
End DateWhen campaign ends”2024-06-30”, “06/30/2024”
StatusCampaign status”Active”, “Paused”, “Archived”
Targeting - Age MinMinimum age for targeting”18”, “25”, “35”
Targeting - Age MaxMaximum age for targeting”35”, “45”, “65”
Targeting - GenderGender targeting”All”, “Male”, “Female”
Targeting - LocationsGeographic targeting”United States”, “New York, NY”, “London, UK”
Targeting - InterestsInterest-based targeting”Fitness, Health”, “Technology, Gaming”
Ad Copy - Primary TextMain ad text”Shop our summer sale now!”
Ad Copy - HeadlineAd headline”50% Off Everything”
Ad Copy - DescriptionAd description”Limited time offer. Free shipping.”
Call-to-ActionButton text”Shop Now”, “Learn More”, “Sign Up”
Destination URLLanding page URLhttps://example.com/sale
Image URLURL to creative imagehttps://example.com/images/beach.jpg
Video URLURL to creative videohttps://example.com/videos/promo.mp4
Column names must match exactly (case-sensitive). Use the template spreadsheet provided in Whathead to ensure correct column names.

Data Format Rules

Dates: Use ISO format (YYYY-MM-DD) or US format (MM/DD/YYYY) Numbers: Use plain numbers without currency symbols or commas
  • Good: 100, 1000.50
  • Bad: $100, 1,000.50
Lists: Separate multiple values with commas
  • Example: "New York, Los Angeles, Chicago"
Text: Enclose text with commas or special characters in quotes
  • Example: "Shop now, save big!"
Boolean: Use “Yes”/“No” or “True”/“False”
  • Example: "Yes", "True"

Column Mapping

After uploading your spreadsheet, you map columns to Whathead fields.

Automatic Mapping

Whathead automatically maps columns with standard names:
  • “Campaign Name” → Campaign Name field
  • “Platform” → Platform field
  • “Objective” → Objective field
  • “Daily Budget” → Daily Budget field
If your column names match the standard names, mapping is automatic.

Manual Mapping

For custom column names, you manually map each column:
  1. Select spreadsheet column: Choose a column from your spreadsheet
  2. Select Whathead field: Choose the corresponding field in Whathead
  3. Repeat for all columns: Map all columns you want to import
You don’t need to map every column in your spreadsheet. Unmapped columns are ignored during import.

Mapping Preview

After mapping, you see a preview showing:
  • First 5 rows of data
  • How each column maps to Whathead fields
  • Any validation errors or warnings
Review the preview carefully before importing.
Download the template spreadsheet from Whathead to get pre-configured column names that map automatically. This saves time and reduces mapping errors.

Campaign Structure from Spreadsheet

Whathead generates campaign hierarchy based on your spreadsheet structure.

Grouping Rows into Campaigns

Rows with the same Campaign Name are grouped into one campaign. For example:
Campaign NameAd Set NameAd Name
Summer SaleUS AudienceBeach Photo A
Summer SaleUS AudienceBeach Photo B
Summer SaleUK AudienceCity Photo A
This creates:
  • 1 Campaign: “Summer Sale”
  • 2 Ad Sets: “US Audience”, “UK Audience”
  • 3 Ads: “Beach Photo A”, “Beach Photo B”, “City Photo A”

Hierarchy Rules

  • One row per ad: Each row represents one ad
  • Ad sets grouped by name: Rows with the same Ad Set Name under the same Campaign Name create one ad set with multiple ads
  • Campaigns grouped by name: Rows with the same Campaign Name create one campaign with multiple ad sets

Example Spreadsheet Structure

Campaign Name    | Platform | Objective | Daily Budget | Ad Set Name    | Ad Name
-----------------|----------|-----------|--------------|----------------|------------------
Summer Sale 2024 | Meta     | Sales     | 100          | US 18-35       | Beach Photo A
Summer Sale 2024 | Meta     | Sales     | 100          | US 18-35       | Beach Photo B
Summer Sale 2024 | Meta     | Sales     | 100          | UK 25-45       | City Photo A
Fall Sale 2024   | TikTok   | Traffic   | 50           | US All Ages    | Video Promo A
This creates:
  • Campaign 1: “Summer Sale 2024” (Meta, Sales, $100/day)
    • Ad Set 1: “US 18-35” with 2 ads
    • Ad Set 2: “UK 25-45” with 1 ad
  • Campaign 2: “Fall Sale 2024” (TikTok, Traffic, $50/day)
    • Ad Set 1: “US All Ages” with 1 ad

Validation and Error Handling

Whathead validates your spreadsheet data before importing.

Common Validation Errors

Error: “Row 5: Campaign Name is required”Cause: A required column is empty in one or more rows.Resolution: Fill in all required fields in your spreadsheet and re-upload.
Error: “Row 3: Platform must be Meta, TikTok, Snapchat, or Google”Cause: Platform column contains an invalid value.Resolution: Use only supported platform names (case-sensitive): “Meta”, “TikTok”, “Snapchat”, “Google”.
Error: “Row 7: Daily budget must be at least $20 for TikTok”Cause: Budget is below the platform’s minimum requirement.Resolution: Increase budgets to meet platform minimums:
  • Meta: $1/day
  • TikTok: $20/day
  • Snapchat: $5/day
  • Google: $10/day
Error: “Row 10: Start Date must be in YYYY-MM-DD or MM/DD/YYYY format”Cause: Date column contains an invalid date format.Resolution: Use ISO format (2024-06-01) or US format (06/01/2024) for all dates.
Error: “Row 12: Destination URL must be a valid URL starting with http:// or https://”Cause: URL column contains an invalid URL.Resolution: Ensure all URLs start with http:// or https:// and are properly formatted.

Validation Report

After validation, you see a report showing:
  • Total rows: How many rows were processed
  • Valid rows: How many rows passed validation
  • Invalid rows: How many rows have errors
  • Error details: Specific errors for each invalid row
Whathead will not import any data if validation fails. Fix all errors in your spreadsheet and re-upload to proceed.

Partial Import

If some rows are valid and others have errors, you can:
  • Fix errors and re-upload: Correct the spreadsheet and upload again
  • Import valid rows only: Skip invalid rows and import only valid data
  • Cancel import: Fix all errors before importing
Use the “Import valid rows only” option to quickly import working data while you fix errors in invalid rows. You can upload the corrected rows later.

Creative Assets in Bulk Upload

You can include creative assets (images, videos) in bulk uploads using URLs.

Image and Video URLs

Include Image URL or Video URL columns in your spreadsheet with publicly accessible URLs:
Ad Name          | Image URL
-----------------|------------------------------------------
Beach Photo A    | https://example.com/images/beach1.jpg
Beach Photo B    | https://example.com/images/beach2.jpg
City Video A     | https://example.com/videos/city1.mp4
Whathead downloads assets from the URLs and uploads them to the platform during publishing.

Asset Requirements

  • URLs must be publicly accessible: Whathead must be able to download assets without authentication
  • Supported formats: JPG, PNG, GIF for images; MP4, MOV for videos
  • File size limits: Follow platform-specific limits (see Upload Requirements)
  • Dimensions: Follow platform-specific dimension requirements
If Whathead cannot download an asset from a URL (404 error, authentication required, etc.), the ad will fail validation. Ensure all URLs are accessible before importing.

Alternative: Upload Assets Separately

If you don’t have public URLs for assets, you can:
  1. Import campaigns without creative assets
  2. Upload assets to the media library separately
  3. Assign assets to ads manually on the canvas

After Importing

After successful import, campaigns appear on the canvas as nodes.

Review Generated Structure

  1. Check campaign hierarchy: Verify campaigns, ad sets, and ads are structured correctly
  2. Review node configurations: Double-click nodes to check field values
  3. Validate nodes: Look for red warning icons indicating validation errors
  4. Make adjustments: Edit any nodes that need changes
Imported campaigns are not published automatically. They exist only on the canvas until you click Publish.

Publishing Imported Campaigns

When you publish imported campaigns:
  • All nodes CREATE new entities on platforms (they have no existing platform IDs)
  • Validation runs again before publishing
  • You see the standard publish preview and confirmation workflow
Review imported campaigns carefully before publishing. It’s easier to fix errors on the canvas than to delete incorrect campaigns from platform portals.

Bulk Upload Best Practices

Use the template spreadsheet: Download the template from Whathead to get correct column names and format examples. This eliminates mapping errors.
Start small: Test with 5-10 campaigns first to verify your spreadsheet format works correctly. Then scale up to larger imports.
Validate data before uploading: Check your spreadsheet for errors (missing values, invalid formats, etc.) before uploading to Whathead. This saves time.
Use consistent naming: Use clear, consistent naming conventions for campaigns, ad sets, and ads. This makes the generated structure easier to understand and manage.
Include all required fields: Ensure every row has values for all required fields. Missing required fields cause validation errors.
Group related ads: Put ads for the same ad set on consecutive rows in your spreadsheet. This makes the structure clearer and easier to review.

Common Bulk Upload Scenarios

Scenario: Your client provides a media plan in Excel with campaign details, budgets, and targeting.Steps:
  1. Open the client’s Excel file
  2. Add or rename columns to match Whathead’s required columns
  3. Upload the file to Whathead
  4. Map columns if needed
  5. Import to canvas and review
  6. Publish when ready
This converts the media plan into live campaigns without manual data entry.
Scenario: You need 50 campaigns with the same structure but different geographic targeting.Steps:
  1. Create a spreadsheet with 50 rows
  2. Use the same campaign structure for all rows
  3. Change the “Targeting - Locations” column for each row
  4. Upload and import
This creates 50 campaigns in seconds instead of building each one manually.
Scenario: You’re switching from another campaign management tool and want to migrate existing campaigns.Steps:
  1. Export campaigns from the old tool (usually to CSV)
  2. Reformat the CSV to match Whathead’s column requirements
  3. Upload to Whathead
  4. Map columns
  5. Import and publish
This migrates campaigns without rebuilding them from scratch.
Scenario: You want to create 10 ad variants with different headlines for A/B testing.Steps:
  1. Create a spreadsheet with 10 rows (one per variant)
  2. Use the same campaign and ad set for all rows
  3. Change the “Ad Copy - Headline” column for each row
  4. Upload and import
This creates 10 ad variants under the same ad set for testing.

Next Steps

Now that you understand bulk upload, explore these related topics:

Common Questions

No. Bulk upload only creates new campaigns. To update existing campaigns, use Bulk Edit instead.
There’s no hard limit, but we recommend importing no more than 500 campaigns at once for performance reasons. For larger imports, split your spreadsheet into multiple files.
Yes. Include a “Platform” column and specify the platform for each campaign. Whathead will create campaigns for all platforms in one import.
Rows with the same campaign name are grouped into one campaign with multiple ad sets. If this isn’t intended, use unique campaign names for each campaign.
Yes. Include targeting columns (age, gender, locations, interests) in your spreadsheet. Whathead will apply the targeting to ad sets during import.
No. You can import campaigns without creative and add assets later on the canvas. However, including Image URL or Video URL columns allows you to import creative automatically.
Yes. Imported campaigns appear on the canvas as nodes. You can edit any node before publishing, just like manually created campaigns.
Whathead shows a validation report with specific errors for each invalid row. Fix the errors in your spreadsheet and re-upload, or import only valid rows and fix invalid rows later.