Campaign Studio


Most marketers think of campaigns as being ways to communicate with their contact list. Campaigns can also be useful for lead management, marketing operations, and sales enablement. Campaign Studio’s visual campaign builder can help with both goals, even within a single campaign.

Getting started

Before jumping into the campaign builder, you must give your campaign a name. It is also helpful to add a description so that your colleagues can understand about the campaign at a glance. Like most items in Campaign Studio, more options are available on the right side.

  • Allow contacts to restart the campaign: One contact usually cannot repeat the same campaign ID. Enable this option if you build a campaign for a recurring message such as birthdays or subscriptions, or transactional operations such as activity notifications, adding to a lead score, or updating data. Contacts can go through the same campaign multiple times without you having to clone the campaign.


    Contacts cannot restart a campaign until they are removed from the campaign. This does not have to be manual for every contact. You can use an action option in the campaign builder to remove contacts once they have gone through a campaign.

  • Published: Set the Yes/No toggle bar to publish or unpublish a campaign. If it is unpublished, it is not active. Do not publish a campaign until you are ready to go live with the campaign. If a campaign already has contacts, changes to a published campaign do not always apply to those contacts. However, the changes beyond any already scheduled (including pending) events apply to the contacts. If there are changes to already scheduled events, they do not apply to the contacts. Changes do not apply if the contact has already passed the stage in the campaign you are making changes to. Adding new events directly from the contact source do not apply to contacts already in the campaign.

    When you attempt to unpublish a published campaign, Campaign Studio displays the following confirmation screen:

    To schedule a campaign to publish at a specified date and time:

    1. Click the Publish at (date/time) box and select your preferred date and time from the Date and Time picker. This helps to control relevance, and does not require you to manually publish a campaign at the right time.

    2. Set Published to Yes.

      Campaign Studio marks the campaign as Pending and publishes it at the scheduled date and time.

    To schedule a published campaign to unpublish at a specified date and time:

    1. Click the Unpublish at (date/time) box and select your preferred date and time from the Date and Time picker. This helps to control relevance, and does not require you to manually unpublish a campaign at the right time.

      Campaign Studio unpublishes the campaign at the scheduled date and time.


    The Date and Time picker shows the date and time according to the default timezone set for your user’s profile in System Settings. Therefore, before scheduling a campaign to publish or unpublish, you must check the default timezone.

Acquia recommends you to internally test all campaigns and components that you build in Campaign Studio.

To test a campaign:

  1. Create a test segment of internal user contacts to use as the campaign’s contact source.

  2. Instruct the testers about the actions, such as open an email sent to them or click a link, that they must or must not perform.

    This ensures that every campaign event and associated components are tested thoroughly.

  3. Publish the campaign and wait for the users to complete their testing tasks.

  4. If edits are required:

    1. Unpublish the campaign and make the corrections.

    2. Toggle Allow contacts to restart the campaign to YES and publish the edited campaign for retesting.

  5. After you test the campaign and get the expected results, clone the test campaign and rename it appropriately as the approved campaign you use for your contacts.


While testing, use mock time periods to shorten the testing intervals. For example, use minutes instead of days, weeks, months, or years. Then, adjust these times to the appropriately intended time periods before publishing the campaign.

For more information, see Testing basics.

Campaign builder

Contact source

Campaigns are triggered to either segments or contacts who submit forms. Once you have selected either segments or forms, you will select the actual segments or forms to use. To use both, use the gray selector button on either the left or right side of the contact source box to add whichever source type you did not originally select.

Adding events

After selecting a contact source, click the gray semi-circle at the bottom of the source box to select an event type.

After you choose an event type and add an event, you either see decisions and conditions connectors or the actions connector.

Decisions and Conditions have yes and no paths.

  • If the contact meets the criteria for the decision or condition, they follow the yes path. To add events on the yes path, click the green connector on the left of the event box.

  • If the contact does not meet the criteria for the decision or condition, they follow the no path. To add events on the no path, click the red connector on the right of the event box.

The lines connecting the decision or condition and the next event match the connector color to help follow the contact’s journey. Campaign Studio’s campaign builder is non-linear and multi-channel. It is possible to have several actions happening at the same time, or mix decisions, actions, and conditions at one time in a campaign.

To change a path, grab the bottom from one event and drag it to the top connector for the event you want to follow.


Having paths from multiple decisions, actions, or conditions that point to the same campaign event, causes an error. To avoid this, use the Jump to Event actions to follow the same path in a campaign.

When editing a campaign, if you encounter the You do not have access to the requested area/action error, update view in the address bar to edit. For example, update to, launch the builder, and ensure that no campaign events have multiple paths leading to the same event.

Event types


Decisions are behaviors from your contacts or the actions that your contacts take. The options for decisions change based on the campaign actions before the email. If a contact does something, Campaign Studio sends them down the green path on the left side of the bottom of the condition box, which indicates yes. If not, the contact goes down the red path on the right.

  • Clicks email: appears after Send email action Did the contact click any link in an email you sent? Did the contact click a specific link, or any one of a set of specific links from your email? To track specific link clicks for the campaign, use the Add a value option and paste in the links you care about for the decision. When empty, this decision tracks any link in your email.

  • Device visit: Did the contact visit your page from a specific device type, brand, or operating system? Set the options you care about tracking in the event editor.

  • Downloads asset: Did the contact download an asset, either from a link on your website, your webpage, from an email you sent them, or from a form they submitted? After selecting this event type, you can limit the tracking to specific assets.

  • Opens email: appears after Send email action Did the contact read the email you sent in the campaign?

  • Replies to email: appears after Send email action If you are using the monitored inbox settings in configuration, you can track if a contact replied to an email you sent. In many cases, if a contact replies, you may want to the contact from the campaign.

  • Request dynamic content: If you have a webpage or landing page where you want to add dynamic content, you can push campaign-based dynamic content within the campaign builder. The slot name is what you name the slot in the code on your webpage:

      <div data-slot="dwc" data-param-slot-name="dwc">
         <h1>Dynamic web content for myslot</h1>
    When a contact *requests* a slot, it means they are a member of that campaign
    and they visit the page that the dynamic content is on. When building the
    campaign, follow this decision with an action type of **Push dynamic content**.
  • Sends a text message: If your Twilio account is set up to receive inbound text messages, you can track if a contact has sent you a text message with a certain pattern of text. For example, if you had an ad campaign with the instruction to text Campaign Studio to a specific phone number, you can look for text messages which include Campaign Studio. To look in your SMS inbox for any message, leave the Pattern the reply should match field empty.

  • Submits form: Did the contact submit any of your Campaign Studio forms? You can also limit this decision to track specific forms, so the contact submitting a form relevant to this campaign meets the decision criteria, but other forms do not meet the criteria.

  • Visits a page: Did the contact visit any of your landing pages? Did they visit a tracked page on your website? Did they come from a specific referrer URL? Select any of these options in this decision type.


Actions are events which require Campaign Studio to do something to the contact or contact record. These can represent sending communications to the contact, or automated operational tasks to keep your marketing running. A single campaign, and even a single stage in a campaign, can include many actions and types of actions.

  • Add Do Not Contact Adds the Do Not Contact flag to the contact.

  • Add to company’s score: When a contact reaches this event in a campaign, Campaign Studio adds or subtracts a designated number of points to or from the score for all companies the contact is associated with. To subtract points, use a negative number in the score box. For example, -10.

  • Add to company action: This event associates a contact with a company, and sets the company as the primary company for the contact.

  • Adjust contact points: Adds or subtracts points from the contact’s point total. To subtract, use a negative number. For example, -10.

  • Change campaigns: Moves a contact into a different campaign, removes a contact from the current campaign, restarts the current campaign or a combination of these. A contact must be removed from a campaign before they can begin the campaign again.

  • Change contact’s stage: Moves a contact from one stage to another, using the stages defined in the Stages tab.

  • Contact Routing: Maps a contact to a different instance that is configured through the action.

  • Delete contact: Permanently deletes the contact record. Deleting a segment containing the contacts does not delete contacts, but deletes only the segment. Contacts may be re-added to Campaign Studio, but the contact history is lost when a contact is deleted.

  • GoToAssist action: Displays with GoToAssist plugin enabled. Sends the contact a template email with a link to GoToAssist.

  • GoToMeeting action: Displays with GoToMeeting plugin enabled. Adds the contact to a GoToMeeting and sends a template email with a link to join the meeting.

  • GoToTraining action: Displays with GoToTraining plugin enabled. Either registers the contact to a training session or sends a link to start a training session.

  • GoToWebinar action: Displays with GoToWebinar plugin enabled. Registers the contact for a selected webinar.

  • Jump to Event: Enables users to move contacts from one point in a campaign to another, without having to rebuild certain events. If your contact does not hit your goal at one point in the campaign but does at a later stage, you can send the contact to a different path in the campaign by using a Jump to Event.

    For example, you may have a decision for Submits form with several events following the form submission. If the goal is to have a contact submit the form and you have the decision several times in the campaign, using the Jump to Event avoids building all the following events many times.


    Once the Jump to Event action is executed, the remaining events on that flow of campaign are not executed. The flow of campaign execution then begins from the event it jumped to.

    The Jump to Event action respects an event’s scheduled waiting period configured in the Execute this event field.

  • Modify contact’s segments: Adds or removes contacts to/from segments. If a contact is removed from a dynamic (filter-based) segment by a campaign action, they are not re-added to the segment based on meeting the filter criteria.

  • Modify contact’s tags: Use to overwrite or append tags on a contact record. You have the option to append tags, remove tags, or do both if you want to overwrite existing tags.

  • Push contact to another Campaign Studio instance: Maps a contact to a different Campaign Studio instance that is configured through the action. Companies associated with the contact will also be created in the destination instance.


    Custom fields are not automatically pushed along with contacts and companies. To map the associated custom fields, users must first create custom fields in the destination instance using the same alias and datatype as in the source instance, and then push contacts (with companies) with custom fields to the destination instance.

  • Push contact to integration: Sends the contact record to the selected integration, either creating a new contact in the chosen integration or updating the connected contact record. The Salesforce plugin has an option to add a contact to a Salesforce Campaign.

  • Remove Do Not Contact Removes the Do Not Contact flag from the contact.

  • Send a webhook to a defined URL: Sends a webhook to a defined URL with GET, POST, PUT, PATCH, or DELETE method. You can use Contact and Company fields, such as contactfield=firstname or companyfield=name, in webhook data within webhook URLs.

  • Send email: Sends the contact an email.


    Transactional emails may be sent to contacts multiple times, either in the same campaign or across campaigns. Marketing emails may only be sent once to each contact across all campaigns. Transactional emails ignore the default frequency rule. For more information, see frequency rule.

  • Send email to user: Sends a template email to a person or people other than the contact. This may be a specific user or users, the contact’s owner (dynamically sent), or non-users using the To: field. Tokens in the email will display the data from the contact record, not Campaign Studio user data. Emails sent using this action are not counted in statistics for the email.

  • Send marketing message: Sends content using the contact’s preferred channel, if the selected marketing message uses the same channel. For more information, see Marketing Messages.

  • Send mobile notification: Displays when an integration with a mobile push provider, such as the OneSignal plugin, is enabled. Sends the contact a mobile notification.

  • Send text message: Displays when the integration with Twilio is enabled. Sends the contact an SMS message. To receive SMS communications, the Phone or Mobile field on the contact record must contain the contact’s telephone number.

  • Send web notification: Displays when an integration with a web notification provider, such as the OneSignal plugin, is enabled. Sends the contact a web notification.

  • Show Focus Item: Displays after the Visits a page decision. Displays the selected focus item on the page visited.

  • Tweet contact: Displays when the Twitter plugin is enabled. @Replies to a contact, if the contact’s Twitter handle is stored in the Twitter field.

  • Update contact: Updates selected data on the contact record.

  • Update contact’s primary company: Updates selected data on the record for the company the contact is associated with as the primary company. This action does not change associations between contacts and companies.

  • Update contact owner: Updates the contact’s owner.


The New Campaign or Edit Campaign page displays a notification when a user attempts to publish a campaign containing an unpublished email.


Conditions use customer and company data as the criteria for condition-based logic to create highly customizable filters.

  • Contact campaigns: Checks if the contact is a member of another Campaign Studio campaign.

  • Contact device: Checks if the contact has interacted with your content (for example: email open or page visit) from a selected device type, brand, or OS.

  • Contact field value: Checks if information exists or matches selected criteria on the contact record, the contact’s primary company, or UTM tags.

  • Contact owner: Checks if a selected user (or any one of multiple selected users) is assigned as the contact’s owner.

  • Contact segments: Checks if the contact is a member of selected segments.

  • Contact tags: Checks if specified tags are on the contact record.

  • Form field value: Checks if values submitted for a selected field on a selected form matches specified criteria.

  • GoToAssist condition: Checks if the contact has attended any one of the selected sessions.

  • GoToMeeting condition: Checks if the contact has attended any one of the selected meetings.

  • GoToTraining condition: Checks if the contact has attended or registered for any one of the selected trainings.

  • GoToWebinar condition: Checks if the contact has attended or registered for any one of the selected webinars.

  • Has active notification: Checks if there is an active web notification being sent to the contact.

  • Has valid email address: Checks if the contact’s email address has a valid syntax ([email protected], without spaces or other invalid characters or formats). This does not check if the email address is a live mailbox.

Scheduling events


There are no scheduling options on decisions. As soon as the criteria for the decision is met, the contact is sent down the green/yes path. Any actions or conditions after the decision are scheduled separately. Any actions on the red/no path will “wait” a specified time period before triggering.


  • Immediately: Triggers the action as soon as the contact reaches the campaign event. The option does not display on the No path for decisions, so that a contact has time to actually do something. If an action were immediately triggered on a No path, every contact would go down the No path because they would not have an opportunity to meet the decision criteria. For example, click a link.

  • At a relative time period: Waits for a specified number of minutes, hours, days, months, or years before triggering the action. This option also enables users to schedule actions to trigger at a specified time of day or between specified hours. If a particular time is specified and a contact reaches the event later in the day, the action triggers the next day at that time. Similarly, if a user sets a time range, such as business hours, 09:00 to 17:00/5:00 PM, and the contact reaches the event outside of those hours, the action triggers when the time period begins again. Either one or the other of a specified time or a range of time may be used. When data is entered in one field, others in this section gray out.

    Finally, this option enables users to select certain days of the week when the action triggers. Add the time units and select the checkboxes under Schedule only on the selected days of the week for the days and times you want Campaign Studio to trigger the action. When you add 0 to the # field and select the day(s), Campaign Studio schedules the campaign event to execute on the specified day. If a contact reaches the event on a day of the week which is not selected, the action queues for the next allowed day. Selecting Weekdays selects Monday through Friday, and leaves the Weekdays checkbox cleared.

  • At a specific date and time: Triggers the action at a selected date and time.


For events scheduled with a specific time, an event triggers at the specified time in a contact record’s timezone if the Preferred Timezone field is populated. For example, if a send email action is scheduled for 10:00 am Eastern Standard Time (EST) and a specific contact’s preferred timezone is set as Europe/Paris, the email is sent at 10:00 am Central European Time (CET), which is 4:00 am EST.


  • Immediately: As soon as the contact reaches the event, Campaign Studio checks if the condition is met.

  • At a relative time period: Use this option to wait for a specified amount of time before verifying that the condition is met. If you set up a campaign where a contact must meet a condition before an action, such as email sent, triggers, schedule the condition for when you want the email to be sent.

    Once the condition is checked and met, schedule the action to send immediately, at a relative time period, or at a specific date and time. For details, see Action: At a relative time period.

  • At a specific date and time: Checks to see if the condition is met at a selected date and time.

Preventing an action after the time configured in the condition

This condition prevents an action from triggering if the contact enters the campaign after the time configured in the condition, and is used to prevent time-sensitive or outdated content from reaching the wrong audience. After the time configured in the condition, Campaign Studio directs the contact to the negative path and does not apply the action to the contact.

  • Time Stamp: Campaign Start Date refers to the Publish Up date displayed on the DETAILS tab on the campaign details page.

    • Example scenario 1: When a user saves a campaign for the first time with the Published field set to Yes, but with no date added to the Publish at (date/time) field, the system saves the time of publication as the Publish Up date.

    • Example scenario 2: When a user saves a campaign for the first time with the Published field set to Yes, and also adds a future date of publication to the Publish at (date/time) field, the Publish Up date is set as the Publish at (date/time) date.

  • Operator: Less than or greater than Campaign Start Date.

  • #: The number input for time units.

  • Unit: The time unit in minute(s), hour(s), day(s), month(s), or years(s).

Example scenario:

An unpublished campaign without a Publish at (date/time) is created at 3:10 PM UTC. The user creates a condition in Prevent action after date of less than 5 minutes. When the user publishes the campaign at 3:19 pm UTC, Campaign Start Date sets to 3:19 PM UTC, which is the same as Publish Up displayed on the DETAILS tab. Contacts that are added to the campaign between 3:19 PM UTC and 3:24 PM UTC move to the positive path. Contacts that are added to the campaign after 3:24 PM UTC move to the negative path.