Campaigns are used to track efforts of marketing tactics - field events, webcasts, content downloads. The campaign types align with how marketing tracks spend and align the way records are tracked across three of our core systems (Marketo, Salesforce and Bizible) for consistent tracking. Leveraging campaign aligns our efforts across Marketing, Sales and Finance.
Marketing Ops partners with the Field Marketing and Corporate Events teams to provide Marketo program set-up and configuration, providing these teams with an internal partner to provide advise on the best technical set-up to reach their goals and streamlining more complex program requirements. Visit the Marketo Program/Campaign Support page for additional details.
For information on how Marketing tracks campaign costs, please visit this page.
A record can only progress one-way through a set of event statuses. A record cannot move backward though the statuses.
i.e. Record is put into Registered
cannot be moved backwards to Waitlisted
Any event that we have paid to sponsor, have a booth/presence and are sending representatives from GitLab (example: AWS re:Invent, DevOps Enterprise Summit). This also includes any virtual event that we sponsor and/or participate in that we do not own the registration but will generate a list of attendees, engagement.
In a virtual conference, GitLab will pay a sponsorship fee to receive a virtual booth and sometimes a speaking session slot or panel presence. Presence of a virtual booth is a requirement due to success criteria. Read more.
For list loads greater than 5,000 attendees
, Mktgops will need to confer with the Field Marketing Director
on legitimacy of labeling the program members as success
as doing so affects Bizible Touchpoints
. Follow directions here on how to do this (MktgOps only).
Bizible: This is tracked as an offline channel, because we do not host a registration page, and receive a list of booth visitors post-event. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Sales Invited | Invitation/Information about event sent by Sales/SDR | |
Sales Nominated | Sales indicated record to receive triggered event email sent by Marketing | |
Marketing Invited | Marketing geo-targeted email | |
Waitlisted | Holding state if registration is full will be moved to Registered if space opens | |
Registered | Registered for event | |
No Show | Registered but no verification of attendance, presumed no show | |
Meeting Requested | Meeting set to occur at conference | |
Meeting No Show | Scheduled meeting at conference was cancelled or not attended | |
Meeting Attended | Scheduled meeting at conference was attended | Yes |
Attended | Attended the event | Yes |
Visited Booth | Stopped by booth for any reason | Yes |
Follow Up Requested | Requested to be followed up with by sales post event | Yes |
Attended On-Demand | Watched/consumed conference materials post-event on-demand | Yes |
White Paper or other content offer that is hosted by a third party.
Bizible: This is tracked as an offline channel. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Downloaded | Downloaded content | Yes |
This is when a package or piece of mail is sent out.
Bizible: This is tracked as an offline channel. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success | E-gift Card or Physical Gift |
---|---|---|---|
No Action | Default starting position for all records | Not applicable | |
Sales Nominated | Sales indicated record to receive triggered event email sent by Marketing | Not applicable | |
Processed | Physical gift shipping request is being processed | Physical | |
Sent | Email with e-gift card has been sent to recipient | E-gift card | |
Opened | The prospect has opened the Reachdesk offer emailed to them | E-gift card | |
Claimed | The recipient has claimed the Reachdesk gift | Yes | E-gift card |
Clicked | The prospect has clicked the link in the offer emailed to them | E-gift card | |
Shipped | The recipient's gift has been shipped | Physical | |
Delivered | The selected gift has been successfully delivered to the recipient | Yes | Physical |
Cancelled | The recipient has requested their gift be cancelled | Physical | |
Returned | The recipient has returned their gift | Returned |
This program type is used in conjunction with Marketo email programs. This program type is available to sync into SFDC, but should only be synced into SFDC if the email send in question has significant business impact that needs associated opportunity tracking. Please keep in mind that some email addresses will block Marketo's tracking, so these cannot be 100% accurate.
Bizible: This is technically tracked as neither an online or offline channel. Touchpoints are technically not created by the program type itself, but rather the action of an email recipient clicking an in-email link and visiting a Touchpoint enabled website.
Member Status | Definition | Success |
---|---|---|
No Action | Default starting position for all records | |
Member | Added to program. If still in this status after the email send, it can be assumed they were blocked from being sent the email | |
Email Bounced | Marketo's email tracking detected the recipient email address bounced | |
Email Delivered | Marketo's email tracking detected the recipient email address received the email sent | |
Email Opened | Marketo's email tracking detected the recipient opened the email | |
Clicked In-Email Link | Marketo's email tracking detected the recipient opened a link found in the email | Yes |
Replied to Email | Likely to be unused step as we do not prompt for email replies | |
Unsubscribed | Marketo's email tracking detected the recipient unsubscribed from further communications via the in-email preferences link |
This is used for campaigns that can either be organised through a 3rd party vendor or GitLab, covering both in-person and virtual roundtables. It is a gathering of high level CxO attendees run as an open discussion between the moderator/host, GitLab expert and delegates. There usually aren't any presentations, but instead a discussion where anyone can chime in to speak. The host would prepare questions to lead discussion topics and go around the room asking delegates questions to answer. Read More.
Bizible: This is tracked as an offline channel. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Sales Nominated | Sales indicated record to receive triggered event email sent by Marketing | |
Waitlist | Holding state if registration is full will be moved to Registered if space opens |
|
Registered | Registered for the event | |
No Show | Registered, but did not attend the event | |
Attended | Attended the Event | Yes |
Follow Up Requested | Requested follow up during the event | Yes |
White Paper or other content offer.
Bizible: This is tracked as an online channel.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Downloaded | Downloaded content | Yes |
Bizible: This is tracked as an offline channel because touchpoints cannot be applied directly via online means, e.g. Drift and PQL handraises. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Requested Support | Took a handraise action to request support from the GitLab team | |
Requested Contact | Filled out Contact, Professional Services, Demo or Pricing Request | Yes |
Any type of inbound request that requires follow up.
Bizible: This is tracked as an online channel.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Requested Support | Took a handraise action to request support from the GitLab team | |
Requested Contact | Filled out Contact, Professional Services, Demo or Pricing Request | Yes |
This is used for non-traditional list uploads in which we are looking to a) avoid scoring the uploaded leads b) avoid tradition nurture emails c) fulfill some other various operational related task. e.g., educational conference list uploads.
Bizible: This is tracked as an online channel because we participated in an event, where applicable.
Member Status | Definition | Success |
---|---|---|
Member | default starting position for all records | |
Registered | Registered (presumably did not attend) | |
Attended | Attended live event | Yes |
Attended Virtually | Attended an event virtually. Attendance can be live or post-event | Yes |
This is an event that we have created, own registration and arrange speaker/venue (example: GitLab Commit or Meetups). Also considered in this grouping would be 3rd party auxiliary events that are added on to a conference sponsorship (i.e a happy hour or VIP dinner at a conference).
Bizible: This is tracked as an online and as an offline channel because we manage the registration process through our website. Whenever someone registers, a TP will be created based on that online activity while another TP is added based on the campaign sync rules, for the campaign members with success statuses.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Subscribed to Updates | Subcribed to GitLab event updates via form fill | |
Sales Invited | Invitation/Information about event sent by Sales/SDR | |
Sales Nominated | Sales indicated record to receive triggered event email sent by Marketing | |
Marketing Invited | Marketing geo-targeted email | |
Waitlisted | Holding state if registration is full will be moved to Registered if space opens |
|
Registered | Registered for event | |
Cancelled | Registered, but cancelled ahead of the event | |
No Show | Registered but did not attend event | |
Attended | Attended event live | Yes |
Attended On-demand | Watched/consumed the presentation materials post-event on-demand | Yes |
Follow Up Requested | Requested additional details about GitLab to be sent post event | Yes |
Bizible: This program is designated to house leads and programs brought in by social related campaigns (e.g. LinkedIn campaigns) and is tracked as an offline channel. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Responded | Took an action related to social campaigns, like a form fill | Yes |
This is for an activity that our partner is executing utilizing MDF Funds. We track membership, but the partner, not GitLab follows up with these leads. See more details here.
Bizible: This is tracked as an offline channel. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success |
---|---|---|
Member | default starting position for all records | |
Sales Nominated | status for when leads have been sales nominated for the program | |
Responded | Attended event or campaign | Yes |
This program type is specific to non-event related list uploads, such as partner lists or data upload centric lists.
Bizible: This is not tracked on Bizible.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Uploaded | Status lead is normally transitioned to upon successful upload | |
Do Not Use (Responded) | Not to be used. Included because Marketo requires a success step |
Yes |
Member | Indicative of a special member status for this program type. Meaning of "special" is dependent on use case |
This is a light weight virtual event that can be hosted on GitLabber's personal zoom.
Bizible: This is tracked as an online channel if registrants come through a marketo form, otherwise it will be an offline channel. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Sales Nominated | Status for when Sales and Marketing want to extend an event invitation | |
Waitlisted | Holding state if registration is full will be moved to Registered if space opens |
|
Registered | Registered for event | |
No Show | Registered but did not attend event | |
Attended | Attended event | Yes |
Attended On-demand | Watched/consumed the presentation materials post-event on-demand | Yes |
Follow Up Requested | Requested follow up during the event | Yes |
This campaign type can be part of a larger Field/Conference/Owned event but we track engagement interactions independently from the larger event to measure impact. It is something we can drive registration. It is for tracking attendance at our speaking engagements.
Bizible: This is tracked as an offline channel. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Sales Invited | Invitation/Information about event sent by Sales/SDR | |
Sales Nominated | Sales indicated record to receive triggered event email sent by Marketing | |
Marketing Invited | Marketing geo-targeted email | |
Registered | Registered or indicated attendance at the session | |
No Show | Registered but did not attend event | |
Attended | Attended speaking session event | Yes |
Follow Up Requested | Had conversation with speaker or requested to be followed up with by sales post event | Yes |
This is webcast hosted on an external partner/vendor platform. The status of Attended On-demand
accounts for GitLab hosted On-Demand and non-GitLab hosted On-demand webcasts. Read more.
Bizible: This is tracked as an online channel if registrants come through a marketo form, otherwise it will be an offline channel. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Sales Nominated | Used by marketing for invitee tracking | |
Registered | Registered for webcast | |
No Show | Registered but did not attend event | |
Attended | Attended event | Yes |
Follow Up Requested | Requested to be followed up with from GitLab | Yes |
Attended On-demand | Watched/consumed the presentation materials post-event on-demand | Yes |
A survey that we or a 3rd party sends out. Tracks respondents and new leads we receive.
Bizible: This is tracked as an offline Bizible channel. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success |
---|---|---|
Member | default starting position for all records | |
Sales Nominated | Sales indicated record to receive triggered event email sent by Marketing | |
Invited | Was invited, but did not participate in survey | |
Filled-out Survey | Filled out survey | Yes |
Follow Up Requested | Filled out survey and requested to be contacted by sales | Yes |
Track cohort of Trials for each product line (Self-managed or SaaS) to see their influence.
Bizible: In-product self-managed and SaaS trials are tracked as an offline Bizible touchpoint. The self-managed trial utilizing a Marketo form is an online Bizible touchpoint.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Signed Up | Signed up for Trial | Yes |
Used for campaigns where a third party vendor is organizing one-to-one meetings with prospect or customer accounts. This does not organize meetings set internally by GitLab team members. An example would be a "speed dating" style meeting setup where a vendor organized meetings with prospects of interest to GitLab. Read more.
Bizible: This is tracked as an offline Bizible channel. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Registered | Registered for the event | |
No Show | Registered, but did not attend the event | |
Attended | Attended the Event | Yes |
Follow Up Requested | Had conversation with speaker or requested additional details to be sent post event | Yes |
Any webcast that is hosted and held by GitLab. There are a few different groups that run webcasts. Go their specific pages to see additional details on setup.
Bizible: This is tracked as an online Bizible channel as well as an offline channel. We own the registration process so whenever a person registers to a webcast, a TP will be created based on the Bizible snippet that lives on our landing pages, while another TP is created for campaign members with success/responded statuses.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Sales Invited | Invitation/Information about event sent by Sales/SDR | |
Sales Nominated | Sales indicated record to receive triggered event email sent by Marketing | |
Marketing Invited | Marketing geo-targeted email | |
Registered | Registered through online form | |
No Show | Registered, but did not attend live webcast | |
Attended | Attended the live webcast | Yes |
Follow Up Requested | Requested to be followed up with by sales post event | Yes |
Attended On-demand | Watched the recorded webcast | Yes |
An in-person or virtual workshop where the attendees are guided through an agenda of real life use cases within GitLab.
For logistical setup and more information, go here. Bizible: This is tracked as an offline Bizible channel. Touchpoints for offline channels are created through our AMM (formerly known as Bizible) campaign sync rules that can be found in this spreadsheet.
Member Status | Definition | Success |
---|---|---|
No Action | default starting position for all records | |
Sales Invited | Invitation/Information about event sent by Sales/SDR | |
Sales Nominated | Sales indicated record to receive triggered event email sent by Marketing | |
Marketing Invited | Marketing geo-targeted email | |
Waitlisted | Holding state if registration is full will be moved to Registered if space opens | |
Registered | Registered or indicated attendance at the session | |
Cancelled | Registered, but cancelled ahead of the event | |
No Show | Registered, but did not attend event | |
Attended | Attended workshop event | Yes |
Follow Up Requested | Requested additional details about GitLab to be sent post event | Yes |
The Marketo programs for the corresponding campaign types have been prebuilt to include all the possible necessary smart campaigns, email programs, reminder emails and tokens that are to be leveraged in the building of the program.
For LinkedIn Social Ads follow the instructions documented in the LinkedIn section
For virtual events, there are additional set up details on this page.
For all other campaign types, follows steps below. All steps are required.
For some tactics, there are mutiple campaigns that occur as a part of a single initiative. Some examples of these could be a conference with speaking session, direct mail, content syndication, or hybrid events (where in-person and virtual leads will be tracked separately). When this happens, a parent
campaign should be created in SFDC and have each child
campaign represent the individual tactics. The parent SFDC campaign should not include any members, or include bizible touchpoints. Additionaly, if you are an Allocadia user, you will not include a sub-category ID in Marketo when syncing to SFDC and creating the new parent campaign. Since we do not have the same parent/child relationship structure available in Marketo, you will create a folder that will house all of the shared tactics together.
To assocate a child SFDC campaign to a parent SFDC campaign, go into what will be the child SFDC campaign and at the top of the campaign, click Edit
. This will open the SFDC fields and then you can add the parent SFDC campaign name into the Parent
field. Click Save
.
An example of a folder setup in Marketo is:
Active
checkbox must be checked on the SFDC campaign for Marketo to be able to "see" the campaign. This will happen automatically if you follow the process below, but if there is a time you cannot find a SFDC campaign in Marketo, check to make sure that box is checked in SFDC. Additionally, if this box is unchecked, Marketo cannot send leads or update campaign member status for that SFDC campaign._Parent
at the end of the Campaign Name. In the event of a mishap, when a parent campaign was setup by mistake to house responded campaign members, adding _Parent
at the end of the campaign name, makes sure that it gets seen by our campaign sync rules that control the generation of touchpoints for offline campaigns and does not create double touchpoints for campaign members that may be housed in both the parent and child campaigns.test
, DONTUSE
, template
, parent
, because based on the campaign sync rules that govern the creation of offline touchpoints, these campaigns will not have touchpoints created for them.Aborted
are automatically set by SFDC workflow based on Start and End Dates.Status | Definition | When does it update? |
---|---|---|
Planned | The campaign is expected and has been set up, but the start date hasn't happened yet (could also be where its pulled back to if an event is postponed) | Prior to the Campaign Start date - upon Creation |
In Progress | The campaign has begun | On Start date |
Aborted | Campaign has been suspended, cancelled, aborted | Manually when campaign is aborted |
Completed | The campaign took place and has ended | After the Campaign End Date |
Be advised that some templates are being used for both in-person
and virtual events
. These templates have been marked as Hybrid template
. For these templates, the naming convention is slightly different in that additional campaign information appears in the name. When naming the program, EventType
is replaced with either Virtual
, In-Person
, or Hybrid
(if an event will be both in-person and virtual).
If this is to set up a program that involves a channel partner, you must also follow the directions on that setup page. You will still clone the program from the list below to get started.
Clone
Clone To
field, select A campaign folder
Name
field, input the campaign name (this should be the campaign name previously created in Allocadia - example: 20220704_BestEventEver) - The date should be the START date of your campaign.Folder
field, select the appropriate folder based on your campaign type. Most folders are also organized by fiscal year and quarter.Description
field, paste your epic URLCreate
Hybrid template
: YYYYMMDD_ExecutiveRoundtable_Topic_Region_EventType_templateHybrid template
: YYYYMMDD_SpeakingSession_EventType_TemplateHybrid template
: YYYYMMDD_ArrangedMeetingsVendorName_Region_EventType_templateHybrid template
: Virtual
: YYYYMMDD_YYYYMMDD_Vendor_VirtualConfName1 (Virtual Conference Template)In person
: skip to specific setup details hereIn-person
: YYYYMMDD_OwnedEvent_EventType_TemplateVirtual - Hopin only
: YYYYMMDD_OwnedEvent_Hopin_EventType_Template
Salesforce Sync
"not set", click on "not set"
Description
field.Event Location
should be filled in with the City
for In-Person
events and Virtually
for virtual events
.{{my.partner name}}
and {{my.partner crm id}}
for proper routingreply email
token. This is used in the confirmation email. You need to add the correct email address for cancellations or special accomodations, and update the subject to something descriptive. Keep the %20
between each word in the subject so the subject populates correctly.Vendor Arranged Meeting
:
Smart Campaigns
folder01 Interesting Moments
smart campaign
Self-Service with Promotion
or Speaking Session
follow the below activation instructions:
Smart Campaigns
folder01a Registration Flow
smart campaign
Schedule
tab and click Activate
04 Interesting Moments
smart campaign
Schedule
tab and click Activate
03 - Processing - No Shows / Attendees
smart campaign will be run after the list is uploaded.Speaking Session
also select the 02-Interesting Moments
smart campaign, click to the Schedule
tab and click Activate
Executive Roundtable
Campaigns
folderInteresting Moments
, click to the Schedule
tab and click Activate
01 Registration Flow
, click to the Schedule
tab and click Activate
. If you are doing a list upload, this step is not necessary.Workshop
follow the below activation instructions:
Smart Campaigns
folder00 Interesting Moment
smart campaign, navigate to the Schedule tab and select Activate
01a Registration Flow
smart campaignSchedule
tab and click Activate
Owned Event
(not Hopin) follow the below activation instructions:
Campaigns
folder01b - Registration
smart campaignSchedule
tab and click Activate
02a - Interesting Moments
smart campaignSchedule
tab and click Activate
02b - Manual Upload Processing
campaign if necessary.Owned Event
(Hopin), follow the Update the Salesforce campaign
instructions in Step 5, then follow the activation instructions here).Interesting Moments
smart campaign.Activate
.01 Processing
smart campaign. (Does not apply to Virtual Conference or External Webcast)Activate
.Interesting Moments
campaign, check to see if that step is in 01 Processing
or Viewed on Demand
campaigns.Speaking Sessions
with pre-registration, find the Pre-Registration
folder, and activate the 01 - Form Fill
step after populating the smart list with the correct form and landing page.As of early 2022, Adobe has introduced a new feature to Marketo called asset expiration
, which can be read about in Marketo's documentation here. This applies to smart campaigns and landing pages. For GitLab's use case, we have enabled this feature for the following role permissions: Field Marketing User
, Marketing Program Managers
and Marketing User
. If you do not have these permissions would like this feature enabled, please submit an access request
.
All programs have different necessities so it will be important to determine how asset expiration
should be utilized for various program types. Guidance can be supplied by MktgOps, if needed, but utilize this method for the majority of cases:
Conference
, Direct Mail
, Executive Roundtable
, Owned Event
, Self-Service Virtual Event
(if no on-demand component), Speaking Session
, Sponsored Webcast
(if no on-demand component), Survey
, Vendor Arranged Meeting
, Workshop
: For one-time programs that are completely done after a specific date and will not use an Attended On-Demand
member status over time, set the expiration of assets at 4 weeks after the event and at the end of the day, so at 23:55 PST. For example, if a conference
or executive roundtable
program type occurs on the April 3, schedule asset expiration for end day on May 1.Content syndication
or Campaigns where the end of the campaign is difficult to pinpoint: there are 2 different options to consider:
Gated Content
: It is not recommended to use asset expiration as these remain in use for long periods of time.Webcast
: It is not recommended to use asset expiration as these typically have an on-demand component.Set local asset expiration
. Please note, this will not work without the correct permissions.landing pages
, active trigger campaigns
and Reocurring batch campaigns
.set expiration
when ready. Assets that should be expired are landing pages
, active trigger campaigns
and Reocurring batch campaigns
. Set your date and time and then submit.
smart campaigns
.registation
and on-demand
flows.If you are utilizing the Allocadia, please see below instructions.
Campaign owner
to your nameIs this an in person event
dropdown, based on in-person
vs virtual
typeBudgeted Cost
- If cost is $0 list 1
in the Budgeted Cost
field. - NOTE there needs to be at least a 1 value here for ROI calculations, otherwise, when you divide the pipeline by 0
you will always get 0
as the pipe2spend calculation.Region
and Sub-region
, if these are local or targeted to a specific regionBudget Holder
- Do keep in mind that the Budget Holder
field should be updated only if:
Status
as an example. You WOULD update this field to Aborted
if the campaign was cancelled for any reason. We have a process that goes into more detail specifically when offline events are cancelled.High Priority
check box on the campaign level.
* Details on our pilot we ran with the business development team which led us to add this!Using an integration from Allocadia > Marketo, Marketo > SFDC, the information you've provided in Allocadia will push to your SFDC campaign.
Please Note: You must NOT edit the campaign until the Allocadia connector has time to work. This is normally done near-real time, but if the data does not push immediately, be aware it can take minutes to hours to do so. You'll know the Allocadia connect has completed its work when you see the SFDC campaign owner change from Marketo Integration to the name of the actual person who is running the camapign as well as well as when all details are populated from Allocadia to SFDC. If you edit the campaign before the connector pushes the data over, it will break the build and you will manually have to edit all of the fields listed. For additional Allocadia details go here.
Based on the Step 5. list above, the only thing you will need to manually update in SFDC is the following:
- Budgeted Cost
in SFDC pulls from your plan
number, not your forecast
number from Allocadia. If you do not have a plan
cost in Allocadia then Budgeted Cost in SFDC will remain blank. If this is the case, you will want to add in your Budgeted Cost manually into your SFDC campaign. The initial Plan Cost in the campaign needs 1 night to synch. The campaign meta data is a one time synch, where as the Actual Cost in Campaign (which is run off of the Campaign Tag to be Created field in Allocadia), synchs every nightly. Please Note: Budgeted Cost
in SFDC pulls from your plan number, not your forecast number from Allocadia. If you do not have a plan cost in Allocadia then Budgeted Cost
in SFDC will remain blank. If this is the case, you will want to add in your Budgeted Cost
manually into your SFDC campaign. If cost is $0 list $1
in the Budgeted Cost
field. There needs to be at least a $1 value here for ROI calculations, otherwise, when you divide the pipeline by 0
you will always get 0
as the pipe2spend calculation.
If you need to change an event from registration to waitlist, or you want to start off with a waitlist, use these instructions.
Confirm - Waitlist
email. This email uses tokens and should be set for you, but you can customize as necessary.01b Registration
Smart Campaign01a Waitlist
Smart Campaign01c Waitlist to Registered
Smart Campaign
You have now activated the waiting list processing. If you need to reactivate Registration, you will deactivate the two Waitlist campaigns, and reactivate 01b Registration
.Use these instructions to move people from the waiting list to Registered.
Members
Waitlisted
Change Status
Registered
Once you click Registered
, the status will change and the 01c Waitlist to Registered
Smart Campaign will send the Registration Confirmation email.YYYYMMDD_Conference_EventType
Salesforce Sync
with "not set", click on "not set"
Description
field.Request
tokens if there are no meetings being set up for the conferencereply email
token. This is used in the confirmation email. You need to add the correct email address for cancellations or special accomodations, and update the subject to something descriptive. Keep the %20
between each word in the subject so the subject populates correctly.00 Send Sales-Driven Invite
(optional) can be turned on and scheduled to send on a reoccurring basis if sales and XDRs are going to be inviting people to the conference. This is not required on all campaigns, and Verticurl will activate after building the Sales-Driven email. After scheduling, Sales can add someone to the campaign in SFDC and that person will be automatically sent an email invite. There is a separate email for sales invites listed in the email
folder01 Manual upload processing
this will be activated by MOps if a manual upload is required. If you upload using the self-service process, this is not required.02 Add as Marketing Invited
should only be used if XDRs are planning to follow up and drive attendance to the event. This should be scheduled AFTER the first email invite is scheduled to send. It will update everyone who had the email invite sent to them as Marketing Invited
. They will be updated in the campaign and visible in SFDC. Do not use this unless there is planned event drivers03 Interesting Moments
Activate this campaign. This should be turned on before any lists are uploaded.These steps are not yet configured. If you are planning to do this for your next event, please create an issue with the Marketing Operations team.
Set local asset expiration
. Please note, this will not work without the correct permissions.landing pages
, active trigger campaigns
and Reocurring batch campaigns
.set expiration
when ready. Assets that should be expired are landing pages
, active trigger campaigns
and Reocurring batch campaigns
. Set your date and time and then submit.
smart campaigns
.Campaign Owner
to your nameStart Date
to the date of launchEnd Date
Budgeted Cost
- If cost is $0 list 1
in the Budgeted Cost
field. - NOTE there needs to be at least a 1 value here for ROI calculations, otherwise, when you divide the pipeline by 0
you will always get 0
as the pipe2spend calculation.Region
and Subregion
if you have the data availableDemand Gen Pulishers/Sponsorships
If utilizing Allocadia, follow these steps.
YYYY_Vendor_NameofAsset
Salesforce Sync
with "not set", click on "not set"
Description
field.Content Title
to be the title as it appears in the Content Syndication program
Content Type
to be the type of content
Whitepaper
, eBook
, Report
, Video
, or General
Initial Source
02 Interesting Moments
If you have multiple assets, you can create different interesting moments to indicate which asset was downloaded. To do this, click on Flow. In step 1 (Interesting Moment), click Add Choice. Choice 1 will appear. Select If Last Event Notes
contains [name of asset]. Then, Type: Milestone, Description: Enter the Interesting Moment that you would like to appear. You can do this for as many assets as you have. Activate this campaign. This should be turned on before any lists are uploaded.Activate
. It should be set that a person can only run through the flow once.
Last Event Notes
field so the automation will trigger. For example, you can say Downloaded Guide to Software Supply Chain Security" in the Last Events Notes field. In Marketo, you can use
software supply chain` in the choice and the correct Description will trigger. Do not use the same string of words in your choices. You can see an example of the Interesting Moments set-up in the flow of program. Disregard the rest of the processing as our process has changed.01 Manual upload processing
- this will be activated by MOps if it is required. It will only be used on a manual upload and is not necessary if you use the self-service upload process.
Content syndication
or Campaigns where the end of the campaign is difficult to pinpoint: there are 2 different options to consider:
Set local asset expiration
. Please note, this will not work without the correct permissions.landing pages
, active trigger campaigns
and Reocurring batch campaigns
.set expiration
when ready. Assets that should be expired are active trigger campaigns
and Reocurring batch campaigns
. Set your date and time and then submit.
smart campaigns
.Campaign Owner
to your nameStart Date
to the date of launchEnd Date
Budgeted Cost
- If cost is $0 list 1
in the Budgeted Cost
field. - NOTE there needs to be at least a 1 value here for ROI calculations, otherwise, when you divide the pipeline by 0
you will always get 0
as the pipe2spend calculation.Region
and Subregion
if you have the data availableDemand Gen Pulishers/Sponsorships
If utilizing Allocadia, follow these steps.
There are two templates to consider when setting up surveys in Marketo, one being specific to Simply Direct and the other a more general survey template. For this section and where instructions diverge, Simply Direct instructions will be labeled with a
and the more general set up with b
.
Simply Direct will provide you with an unique Survey Name
that they will pass over into Marketo via the API populating the Person Source
and the SurveyName
fields. This name is unique to each survey that is ran. Person Source
will not update if the lead already exists in Marketo.
SimplyDirect is also passing over the survey Q&A through the Comment Capture
field. This will populate via a URL on the Interesting Moment and the Web Form
field, so that the SDR following up will have full access to all of the survey questions and answers.
Please Note: Once you have created your survey program, please ping Marketing Ops in the #mktops
Slack channel and link your program for review. Each survey is unique and may require tweaks to the setup.
YYYY_MM_SurveyName
Salesforce Sync
with "not set", click on "not set"
Description
field.01 Processing
SurveyName
to the name you were given. There are 3 fields on the smartlist you must change. Tokens will not work, you must update in the smart list. Do not include any extra spaces!Change Data Value
update SurveyName
to the name you were given.Activate
. It should be set that a person can only run through the flow once.01 Processing
batch smart campaign. For manual list uploads, the batch will be activated manually by MktgOps during the upload process.01 processing
campaignCampaign Owner
to your nameStart Date
to the date of launchEnd Date
Budgeted Cost
- If cost is $0 list 1
in the Budgeted Cost
field. - NOTE there needs to be at least a 1 value here for ROI calculations, otherwise, when you divide the pipeline by 0
you will always get 0
as the pipe2spend calculation.Region
and Subregion
if you have the data availableIf utilizing Allocadia, follow these steps.
Results
tab of the smart campaign, if there are errors, you will clearly see them there.Person Source
is not SurveyName
SurveyName
field is capturing the wrong name.Person Source
SurveyName was not updated correctly.whatever your campaign tag is
Advanced Setup
to make sure statuses correspond to those listed in the Direct Mail progression statuses. Do not edit these, if you need them updated, please reach out to MktgOps.Campaign Owner
to your nametype
is Direct Mail
Start Date
to the date of launchEnd Date
Budgeted Cost
- If cost is $0 list 1
in the Budgeted Cost
field. - NOTE there needs to be at least a 1 value here for ROI calculations, otherwise, when you divide the pipeline by 0
you will always get 0
as the pipe2spend calculation.Region
and Subregion
if you have the data availableFollow all of the set up steps to clone the template, update tokens, and update the Salesforce campaign above. You will also need to follow the instructions below to activate the Hopin campaigns.
Important Notes:
{{my.hopin event name}}
and {{my.hopin ticket code}}
tokens with information from Hopin in order for registrants to be processed correctly. Details are in the instructions below.{{my.hopin event name}}
- You can pull the Event Name
from the HopIn platform - This is the name of the event exactly as it appears in Hopin.{{my.hopin ticket code}}
- Find your Ticket Integration Code in Hopin by selecting an event, and going to the Tickets page of your event dashboard. Copy the URL of the ticket name you want to use, and strip out everything but the number at the end (keep everything after the word code=
in the URL).
01a Registration from Hopin
is used if you are using HopIn registration pages. This smart campaign triggers off of a custom activity Registers for HopIn Event
and will add the registrant to the proper campaign. THIS WILL ONLY PASS First Name
, Last Name
, Email
, and the name of the event. In order to capture any of the custom fields (like company name), you'll need to set up the next step to capture registrants from Marketo. Otherwise, a dataload will be required
{{my.hopin event name}}
must be populated to use this with your HopIn event name. Use starts with
as the operator to make sure you catch all registrants.01b. Push Registrants to Hopin from Marketo + Send Confirmation Email
is used if you are utilizing a Marketo form to capture registration for the HopIn Event. Do not turn on if you are only utilizing HopIn registration pages
Confirm - Hopin v2
. First, confirm all tokens on the program and then fill in the missing pieces of the email itself. Confirm that {{member.hopin join link}}
is the CTA to the email. That will contain the link specific to each person to join the event.
{{member.hopin join link}}
token will automatically send the Magic Link / Join Link
for the registrant to confirm their registration.01b. Push Registrants to Hopin from Marketo + Send Confirmation Email
. Then test by registering on that landing page. After 3 minutes, you will receive an email asking to confirm your registration, click the link and follow prompts on the HopIn page. Once confirmed, you will receive an email from HopIn saying it was successful. You can also look into the attendees
section in HopIn and make sure your test is there too - once you see it, you can remove
your test lead from the list and go live with the landing page.02 Attended Hopin
is used to track attendees of the event - it will not track individual sessions, only overall attendance.
{{my.hopin event name}}
with your HopIn event name. In the Smartlist, Use starts with
as the operator to make sure you catch all registrants.We have listeners set up in Marketo listening certain parameters. Please check the Marketo Listener
column below to see if a program is already set up in Marketo. If it is, you do not need to create a new listener, you only need to add the content to the program. Otherwise, please follow the process outlined below to ensure leads are being captured.
Active or in progress campaigns
Campaign | Campaign Parameter for Tracking | Marketo Listener? | ||||
---|---|---|---|---|---|---|
DevOps GTM - active | devopsgtm | Yes | ||||
AutoSD - active | autosd | Yes | DevSecOps Platform - | devsecopsplat | No | |
Security & Compliance | seccomp | Yes | ||||
CI Use Case | singleappci | Yes | ||||
PubSec - devops GTM only | amer-pubsec | Yes |
Deactivated or old campaigns, no longer in use These listeners are no longer active and would need to be set-up prior to running a LinkedIn campaign for them.
Campaign | Campaign Parameter for Tracking | Marketo Listener? |
---|---|---|
Version Control & Collaboration Use Case | vccusecase | |
Simplify DevOps | simplifydevops | |
Jenkins | cicdcmp2 | |
Increase Operational Efficiencies | operationalefficiences | |
Deliver Better Products Faster | betterproductsfaster | |
Reduce Security and Compliance Risk | reducesecurityrisk | |
CI Build & Test Auto | cicdcmp3 | |
OctoCat | octocat | |
DevSecOps Use Case | devsecopsusecase | |
AWS | awspartner | |
GitOps Use Case | iacgitops |
If this form is in a different language, make sure that the LinkedIn Form has that exact language in the form name (as spelled below). We currently support:
When someone fills out these forms, they will be automatically added to the Language Segmentation allowing them to receive messages in their local language.
amer
in the form namelanding page URL
utm_campaign
and utm_content
form details
select download
as the call-to-action and select your new form
YYYY_Social_[Name]_[parameter]_LinkedIn Lead Gen
devopsgtm
or autosd
). The Salesforce campaign name must include the campaign parameter for the responses to roll up to the correct campaign on the Sisense dashboards.e.g.: 2020_Social_AutomatedSoftwareDelivery_autoSD_LinkedIn Lead Gen
Salesforce Sync
with "not set", click on "not set"
Campaign Owner
to your nameParent Campaign
of 2020_Social_LinkedIn_Lead Gen
Start Date
to the date of launchEnd Date
Budgeted Cost
- If cost is $0 list 1
in the Budgeted Cost
field. - NOTE there needs to be at least a 1 value here for ROI calculations, otherwise, when you divide the pipeline by 0
you will always get 0
as the pipe2spend calculation.Region
and Subregion
if you have the data availablecontains
and the prefix
Fills out LinkedIn Lead Gen Form
, Lead Gen Form Name contains [parameter]
Filled out LinkedIn Lead Gen Form
filter - Make sure that other programs are excluded if your new campaign will use a similar LinkedIn Lead Gen form name. Common exclusions are amer-pubsec
and abmkey
as these flow through separate campaigns. This is not a full list of all exclusions required as this will be based on what you are setting up. You can review existing LI Lead Gen programs for examples of exclusions.devsecopsusecase
, you will need to exclude your LI Lead Gen form name from processing through the others that use devsecopsusecase
). Please see the testing section below as this provides instructions to make sure you captured exclusions properly. Note that the ABM Team runs LinkedIn campaigns using abmkey
and the campaign parameters above, so abmkey
must always be excluded.
Flow1 - Remove from Flow
- If you remove this temporarily to test, be sure to add it back in before going live. Remove from Flow
: Choice 1: If Email Address contains @gitlab.com. Campaign: this campaign. Default Choice: Campaign is Do nothing2 - Send Email
- This step will vary. In general, you will set Choice 1: If Filled out LinkedIn Lead Gen Form contains [content name from form] then, Email [select appropriate email autoresponder]. You can have multiple choices here, one for each asset. Even if you only have one asset, best practice is to set up a choice with the default of Do Nothing. This is another backup in case the automation fails and will make sure that people don't receive an autoresponder email for another asset because the content name won't be found. You can view an example with multiple assets here.3 - Change Program Status
- This is automatically in the template. Program: [Marketo program name] - New Status Paid Social > Responded4 - Interesting Moment
Set this up the same way as the Send Email logic, except you will change the description to match the asset. In general, you will set Choice 1: If Filled out LinkedIn Lead Gen Form contains [content name from form] then, Type Milestone, Description: Filled out LinkedIn form to view asset: [asset name]. Default choice should be generic: "Filled out LinkedIn form to view [GTM name] asset."
7 - Change Data Value
- Delete this step. Those forms use a checkbox to gather consent, so the correct opt-in status will be applied upon submission and this step cannot be included in the flow.7 - Change Data Value
- No change. Keep this step. In AMER, the opt-in language is included on the form, so this step is required to complete the opt-in.schedule
tab of the smart campaignThe Marketo program has been set-up for [name of asset] in [segment/region if applicable - you will not always need to provide this]. The automation will trigger based on [gtm code] and [content name]. Please submit a test record.
Activity History
and confirm:
yes
and a link to the parameter and campaign you have set up.Raffles can be associated with many different campaign types and have various ways to enter. You must complete the legal requirements before launching your raffle.
In general, the YYYYMMDD_SurveyName Marketo program and Survey Campaign type will be used for raffles. Due to the potential set-up complexities for raffles, Marketing Ops will need to be involved even if you use the instructions below. Use these instructions to create the program and to engage Marketing Ops for additional set-up or review.
YYYYMMDD_NameofProgram_Raffle
. You will likely have another campaign type associated as well (for example, a Conference) and this program should be housed in the folder for that event. This is a similar process to creating a speaking session associated to a conference.Save
.
Description
field. Click Save
.01a Registration Flow
and change the Smart List to "Form Name is any" and "Web page is" should already be populated with the registration page for this program. The Flow should already be populated for you, but update Step 5 - Interesting Moment to read: "Filled out form to enter raffle {{my.Survey Title}}" in the Description
field of Step 5. Go to Schedule
and click "Activate".Filled out Survey
and will be scored according to the Survey - Low
entry in the scoring model.MktgOps::00:Triage
and MktgOps-Support
labels to your Marketo LP and Automation
issue for assistance with set-up.Once a landing page has been set up for a campaign, it is good practice to have multiple people test the registration to make sure everything is integrated and running properly. As a result, there are often various test registrations in the Marketo program. To remove these test registrations, follow the below instructions.
Members
tab at the top of the pageChange Status
at the top of the screenNot in Program
in the drop downMembers
listOn occassion, SPAM bots attack our webcast registration. Follow these steps to remove from Marketo and SFDC. You must open an issue with Mops to complete. Please include the marketo program link in your issue request and the dates of the event. The SPAM registrants will not be removed from zoom, and will need to be manually removed. However, it is OK to leave them in the zoom campaign, because it will not affect your campaign numbers.
Select All
in the static list. Then right clicking then Marketing > Change Program Status. Choose the Campaign and update the status to Not in Program
This will also remove them from Salesforce.com campaignDelete Person
After program ends, double check your Marketo program for SPAM, as people that registered (but were excluded from registration filters) would be added to program as No Action
becuase the form is a part of that program. Re-run the steps above to fully remove them from any campaingn stats.
There are cases where an email is set to send, but you need to cancel it. There are a few ways to do this based on the type of program.
x
next to the date and time of send.Abort Campaign
.
Marketo documentation:
deactivate
button. This will stop any lead from qualifying from the campaign again.Abort Campaign
. This will stop leads from continuing in the flow, and stop any further emails from being sent out.Marketo Documentation:
This program type has a mailbox icon.
unapprove
and the email will not go out. When you are ready to reschedule, update date and time, and click approve
in the bottom right box. All boxes will have a green checkmark signaling it is ready for send.Abort Program
. This will stop the sending of emails, but will not recall any email that was already sent. You will see how many you send in the dashboard
view. Once an email program is aborted, you cannot reschedule it again.You can view screenshots and further documentation from Marketo here:
Notes:
person
lists, not account
lists.Compliance Segment Value
not equal to NULL
or empty, Default
, Do Not Email
Engagement Minutes
filter at the person level to get down under 100 people per account. If you send to more than 100 people per account, it will trigger spam filters.Refer to this video for a walkthrough of the below steps.
Lists
folder, find the list called DB Push List - [Update event name]
. Click on this list and change [Update event name]
to the name of your event.
Lists
and then click New Local Asset
and select List
from the pop up box. Name your new listDB List Push - Name of your Event
. No Description
is needed. Click Create
.Smart Campaigns
folder to push the list from DB1. Under the Smart Campaigns
folder, find the Smart Campaign called DB1 List Push
. Click on this campaign, then click on Flow
. Confirm that the name of the list you modified or created above is in the first flow step. Once you have confirmed this, skip to step 5.
Smart Campaigns
and selecting New Campaign
. The campaign name should be easily identifiable to you, as you will be searching for it in DB1. Please use DB
prefix so it's purpose is easily identifiable in Marketo. You do not need to fill in Description
or click Executable
. Click Create
.Smart List
at the top of the page
Campaign
in the search fieldCampaign is Requested
from the right side of the page to the middle section of the pageWeb Service API
Flow
at the top of the page
Add to List
from the right side of the page to the middle of the pageChange Program Status
and update the new status. However, this is generally not recommended.Schedule
at the top of the page and clicking Activate
and then Activate
again in the pop up box. People should only pass through once.Database
section of DB1 - Must be a person list
Name
. This will only select the page you are on so if you want to select all of the names on the list, click Select All Rows
at the top of the list. Click the Take Action
button.Add to Marketo Campaign
under Partner Actions
section. Confirm that the number of records in the sidebar closely matches the number of records you selected. If it is off by a few records, this is fine. If it is off by hundreds or thousands, notify MOps before you complete the list push.Confirm
See action history for status
and clicking Job Status
. You can also view this in Settings>History>Action History
in DB1. Loading the list may take some time but usually should take no longer than 15-20 minutes. Once your list is available, all the people in your list will show up under Action Status
with a checkmark by status
.List
folder and click on the list you created (DB1 List Push - East Event). Select People
at the top of the page. This is where you will see all of the people in your list and can confirm the pull was successful.
Smart Campaigns
folder on the left hand side of the screen under your program, click the name of your DB1 list push that you created steps above, click Schedule
at the top of the page and click Deactivate
.Once your list is pushed from DB1 to Marketo, you will need to reference the static list that you created under the Marketo List
folder (DB1 List Push - East Event) in your target lists. This reference is already built into the templates on the Target List
, you only need to confirm the name of the DB list is correct in the filters. If you are working with Verticurl: You will want to reference the static list you created under the Marketo List
folder (DB1 List Push - East Event) in your invite issues so they know which list to pull for your email sends. Verticurl will also make sure all the correct compliancy filters have been applied in Marketo before scheduling your send. **You still need to have the proper email compliance filters on any of your email programs.
For conferences list loads with more than 5,000 attendees, consider not marking them as success
. If the acting Field Marketing Director
agrees to avoid marking these members as success
, these are the steps to avoid that from happening. This can only be done by a member of the MktgOps team!
Success
box for Attended
and saveSuccess
box for Attended