Bulk Campaign Builder Guide

Introduction

Use the Bulk Campaign Builder to create campaigns across many projects at once. Instead of going into each project one by one, you can upload a single file to create and distribute campaigns across multiple projects.

This is great if you manage many projects, like a hotel chain with hundreds of locations, a franchise with regional branches, or a healthcare network with multiple clinics.


Before You Start


You need two things set up before using the Bulk Campaign Builder:

  1. Project Codes -- Each project needs a unique code so the system knows where each row in your CSV file belongs.
  2. Default Campaigns (optional) -- You can designate a "catch-all" campaign in each project. This is covered in Step 2.

Step 1: Add Project Codes


Every project needs a short, unique code. This code tells the Bulk Campaign Builder which project each row belongs to.


How to add a Project Code

  1. Go to Project Settings
  2. Find the Project Code field.
  3. Type a short code (although you can enter up to 100 characters, we strongly advise keeping it very short, max 10 chars). Each code must be unique across your account.
  4. Save your changes.

> Tip: Use simple codes that are easy to remember.


Step 2: Set a Default Campaign (Optional)


If you want a single catch-all campaign per project that receives rows without a specific campaign name, you can set a "default" campaign. This is useful when you always want new opportunities to land in the same campaign without having to specify a name each time in your file.


How to set a Default Campaign

  1. Go to the project that contains the campaign you want to set as default.
  2. Click the campaign menu (the three-dot icon or mega menu).
  3. Click Default for Bulk Campaign Builder.

  1. If another campaign is already the default for that type, you will see a message asking if you want to replace it. Click Yes to confirm.

Things to know about Default Campaigns

  • Only one campaign per type can be the default in each project.
  • Recurring campaigns cannot be set as default.
  • The default campaign shows a special icon on the All Campaigns table and the Campaign Card.


Step 3: Prepare Your CSV File


Your CSV file tells the system what to import and where. Each row is one item (a URL, keyword, etc.) that goes into a specific project and campaign.


Required columns

Column What it means
Project Code The code you set in Step 1. This tells the system which project to use.
Campaign Name The name of the campaign where this row will be added. See the rules below.
URL or Keyword The opportunity URL (for CSV/Integration campaigns) or keyword (for Keyword campaigns).



Optional columns (CSV Import campaigns only)

Column What it means
Email Address Contact email
First Name Contact first name
Last Name Contact last name
Company Contact company name
Job Title Contact job title
Mobile Phone Contact mobile phone
Work Phone Contact work phone
Custom Fields Any custom field you have turned on for Campaign Workflow & Personalization
New Field Creates a new personalization field if it does not already exist
Match by Token Maps to an existing field using the field token (Ex: MRG_ or FLD_)

Which Campaign Name option is right for me?

If you want to... Set the Campaign Name column to...
Add rows to a specific campaign The exact campaign name (e.g., Spring Outreach    ). If the campaign does not exist and "Create Campaign If Does Not Exist" is ON, a new one is created.
Add rows to your project's catch-all campaign Default     (see Step 2 to set this up).
Let the system auto-create a campaign Leave it blank. Requires "Create Campaign If Does Not Exist" to be ON. The campaign will be named Import - YYYY-MM-DD HH:MM UTC    .

Example CSV file


Project Code,Campaign Name,URL NYC-HOTEL-01,Spring Outreach,https://example.com/blog NYC-HOTEL-01,Spring Outreach,https://another-site.com LONDON-HQ,Default,https://uk-blog.co.uk PARIS-01,,https://french-site.fr    

> Tip: Check out a template file here or click the View Template File link on the upload screen.


Step 4: Upload Your File


  1. Go to All Campaigns > New Classic Campaign. You must be on the main account level, not inside a specific project. If you see a project name in your navigation bar, click the project dropdown menu and select All Campaigns.
  2. Select "Bulk Campaign Builder"
  3. Pick Campaign Profile Type (Blog Search by Keyword, CSV Import, Competitor Backlink, etc.).
  4. Follow a typical campaign creation process.

Upload settings

Before uploading, you can set two options:

  • Has Headers? -- Turn this ON if the first row of your file has column names (like "Project Code", "Campaign Name", etc.). Most CSV files include headers, so this should typically be ON.
  • Create Campaign If Does Not Exist -- This controls what happens when a campaign name in your file does not match any existing campaign or is left blank.
    • ON: A new campaign is created automatically.
    • OFF: Those rows are skipped.


Step 5: Map Your Columns


  1. For each column, select the matching field from the dropdown (like "Project Code", "Campaign Name", "URL", etc.).
  2. The system will try to match columns automatically based on your column headers.
  3. Mapping Project Code and Campaign Name is required.
  4. When you are done mapping, click Next. Pitchbox will validate your import before creating campaigns.


Step 6: Review Warnings


After you click Next, Pitchbox checks your file for issues and conflicts. If you see a Warnings screen, this does not mean your whole import failed -- it just means some rows had problems and will be skipped.


Common warnings

Warning What it means What happens
Missing Project Codes A project code in your file does not match any project in your account. Those rows are skipped.
Invalid URLs A URL in your file is not in the right format. Those rows are skipped.
Running Campaigns A campaign in your file is currently running. Those rows are skipped.
Recurring Campaigns A campaign has an active recurring run. Those rows are skipped.
Campaign Type Conflict The campaign name in your file refers to a different campaign type than what you are importing. Those rows are skipped.
Keyword Limit Exceeded A keyword campaign already has too many keywords. Extra keywords are ignored.
Search Limit Exceeded A keyword campaign has reached its search count limit. Those rows are skipped.
Campaign Limit Reached Your account has hit the maximum number of campaigns allowed. New campaigns are not created.
Campaigns Not Found The campaign name is empty or does not exist, and "Create Campaign If Does Not Exist" is off. Those rows are skipped.
Rows Limit Exceeded Your file has more than 10,000 rows. Extra rows are ignored.
Projects Limit Exceeded Your file has more than 100 different projects. Extra projects are skipped.
Campaigns Per Project Limit A project has more than 10 campaigns in one import. Extra campaigns are skipped.

Domain consolidation

If your file has URLs from different sub-domains of the same website (like blog.example.com     and shop.example.com    ), Pitchbox will ask if you want to combine them under one root domain.

  • Check the box next to each domain you want to consolidate.
  • Or click the checkbox at the top to select all.

What to do if you get a Warnings screen

  • If you select Continue, the problem rows will be skipped, but everything else will be processed.
  • If you select Cancel, the import will be cancelled. Fix your file and try again.

> Important: If all rows have problems, the system shows an error message: "The CSV file is empty or all projects were excluded." You will need to fix your file before trying again.


Step 7: Import Complete


After you click Continue, the system processes your file. Once complete:

  • New campaigns are created only if the "Create Campaign If Does Not Exist" option was turned ON.
  • Data is added to existing campaigns.
  • Campaign runs are started for keyword and integration campaigns.
  • You are taken to the All Campaigns page where you can track the progress of each campaign.


Which Campaign Types Work Together?


Not all campaign types are compatible with each other. When your file references an existing campaign, the import type and the existing campaign type must be compatible.

If you are importing... Works with existing...
Keyword campaigns Keyword campaigns only
CSV Import campaigns CSV Import, Keyword, and Recurring campaigns
Integration campaigns Integration campaigns only

If your file tries to add data to an incompatible campaign, those rows will be skipped with a warning.


Quick examples

  • You are running a Keyword import and a row points to a CSV campaign -- that row is skipped with a warning.
  • You are running a CSV Import and a row points to a Keyword campaign -- that row works! The system adds the URLs as opportunities to the keyword campaign and triggers a manual run so the campaign processes them.
  • You are running an Integration import and a row points to a CSV campaign -- that row is skipped with a warning.

Limits

The Bulk Campaign Builder has the following limits per import. Rows that exceed these limits are skipped and a warning is shown in Step 6.

Limit Maximum
Projects per run 100
Campaigns per project 10
Total rows 10,000

Frequently Asked Questions


What if a Project Code is missing?

Rows without a valid Project Code cannot be matched to a project. You will see a warning specifying which rows were skipped.


Can I upload to the same campaign from multiple rows?

Yes. If several rows share the same Project Code and Campaign Name, all of their URLs or keywords will be added as new opportunities in that campaign.


What happens if a campaign is currently running?

Rows that reference a currently running campaign will be skipped. You will see a warning listing the affected campaigns. Wait for those campaigns to finish or remove them from your file before uploading again.


Can I use the Bulk Campaign Builder for just one project?

Yes. It works the same way even with a single row or project.


What file formats are supported?

Only CSV files (.csv) are supported. Make sure your file uses commas to separate values.


How do I know which rows were skipped?

The Warnings screen (Step 6) shows the exact CSV row numbers for every skipped row. You can use these numbers to find and fix problems in your file.


What does "Match by Token" mean?

When you map a column to "Match by Token," you are asked to enter a personalization token (Ex: MRG_     or FLD_    ). Pitchbox searches for that token across your campaigns and maps the data if found. If the token does not exist and the "Create Personalization Field" option is checked, the system creates a new personalization field.


Need Help?

Have questions or need a hand? Reach out to your Pitchbox account manager or email us at support@pitchbox.com.