How to: Campaign Build Automation
Workflow Tasks Overview:
Alli Solutions Template Overview > Campaign Build Automation > Slack QA summary
So you want to create search campaigns on Google/Bing using Campaign Build Automation ?
Overview of Documentation:

‼️ Before you start….
Submit a ticket on Alli Service Desk to authenticate your Campaign Build Automation workflows
Feature = Workflows
Sidebar = Actions > Workflows
Title = [Client Name] Campaign Build Automation Authentication for Google or Bing
Tell us what going on…. = Copy and paste the below, replace MCC ID with your MCC ID
Please set up Campaign Build Automation Authentication for Googles/Bing Ads MCC [insert MCC ID]
Setting Up Your Campaign Build Input Sheet (CSV):
Make a copy of this Google Sheet https://docs.google.com/spreadsheets/d/15srehSz4GbyzkVXmvwCAH_DVqPheDLrf3X4XXAHAqLg/edit?gid=0#gid=0 and update it with desired details. Save as csv. Most teams have custom chat gpt to create these sheets.
Understand CSV Input Columns & Populate Accordingly:
Campaign Name
: New campaign names to add.Ad Group Name
: New ad groups to add under which campaign.Keyword
: Search keyword to add.Match Type
: Broad / Phrase / Exact.Final URL
: Destination page.Mobile URL
(optional): Specific URL for mobile traffic.Max CPC
: Bid amount.
Matching & Targeting Rules
Each row represents a unique keyword entry under a specific campaign and ad group.
Campaigns and Ad Groups are created if they don’t exist.
All targeting settings (location, audience, etc.) are dynamically fetched from the template campaign id given in workflow user arguments section.
When preparing the input CSV for Campaign Build Automation, each row represents a single keyword to be added under a specific campaign and ad group. The tool reads each row independently and creates or reuses campaigns and ad groups based on the values in the Campaign Name
and Ad Group Name
columns. If you want to add multiple keywords under the same ad group, repeat the same campaign and ad group names across multiple rows and provide one keyword per row do not combine multiple keywords in a single row using commas. Similarly, to create multiple ad groups under the same campaign, repeat the campaign name while varying the ad group name. The Final URL
and optional Mobile URL
are applied at the keyword level, so these should be filled out for every row, even if the value is the same. Required fields include Campaign Name
, Ad Group Name
, Keyword
, Match Type , Max CPC and Final URL
. Missing any of these may result in the row being skipped. The tool does not deduplicate keywords, so repeated entries will be attempted as-is. Campaigns and ad groups will only be created if they don't already exist, so naming consistency is important to avoid duplication errors.
Example input sheets for different use cases:
Multiple_Campaigns_and_Ad_Groups
Single_Campaign__Single_Ad_Group__Multiple_Keywords
Single_Campaign__Multiple_Ad_Groups
Now lets start creating our Workflow
Head to the Alli home page https://app.alliplatform.com/client/playground/home
Click on the Actions Tab
Click on Workflows
Click on New Workflow
Workflow Tasks to create sequentially:
Use the File Manipulation: Upload Manual File task to upload your input csv
Use the Alli Solutions: Campaign Build Automation Template

Add user arguments:

Understand Inputs & Populate Accordingly:
Alli Solutions - Campaign Build Automation
engine: the platfrom you want the search ads to be created(google or bing)
login_customer_id : MCC id
account_id: account id of the account you want ads to be created in.(customer id)
template_campaign_id : the campaign id from which you want the settings to be copied over to new campaigns.
input_filename: name of the file you uploaded earlier in upload manual file task.
slack_channel : slack channel where you want the results to be sent to.
All the campaigns will be created in pause status so that they don’t directly start derving before final QA in the UI after workflow is ran.
If the template campaign uses an implicitly shared budget, worflow creates
a new explicitly shared budget of 1$ before cloning which can later be updated in UI while QAing. All campaign-level fields (network settings,bidding strategy, URL parameters, tracking template, suffix) are preserved.
Why use Campaign Build Automation?
🌟 Purpose
The Campaign Build Automation tool streamlines the creation of Google Ads and Bing Ads Search campaigns from a structured input CSV and a provided template campaign ID.
It enables rapid, large-scale builds of new campaigns, ad groups, and keywords, by cloning settings directly from the specified template campaign.
The tool automatically copies over all essential configurations from the given template, including:
Location targeting
Demographic & audience segmentation (Age, Gender, Household Income, Audiences)
Language targeting
Negative keyword lists (individual and shared)
Negative locations / placement exclusions
Asset extensions (e.g., sitelinks, callouts, structured snippets)
Final URLs and mobile URLs
Default Max CPC and bid strategy inheritance
By codifying these into a reproducible workflow, media teams can:
Launch large-scale builds quickly using a familiar campaign structure
Eliminate manual configuration errors
Get immediate QA visibility via Slack alerts
Why Use This Workflow?
💡 When to Use It:
You have a trafficking sheet with many campaign/ad group/keyword rows.
You need dynamic cloning and bulk builds with complex targeting.
You want logs sent directly to Slack for QA.
⚠️ When Not to Use It:
You are building non-Search campaigns (e.g., Display, Discovery).
You need support for Shopping Ads or Performance Max (not supported yet).
🔑 Key Benefits
Efficiency: Launch 100s of new campaigns/Adgroups and keywords in seconds
Accuracy: Clones all location/audience/asset settings from a clean template campaign id given.
Visibility: Slack output includes success/failure logs along with updates went through
Flexibility: Supports Google & Bing with the same CSV format