Commit 00c1b7be authored by Amy Waller's avatar Amy Waller
Browse files

MktgOps: 20221024 - 20221106

parent be865be5
......@@ -33,9 +33,9 @@ Please review the coverage owner closest available per their timezone when decid
|---------------------------------------------|-------------------------------|---------------------------|-------------------------|-------------------|
| UTC (Emea Working) | 11pm - 3am PT / 2am - 6am ET | Mihai Conteanu | Gillian Murphy | 9am - 1pm EET |
| UTC (EMEA Working) | 3am - 7am PT / 6am - 10am ET | Gillian Murphy | Mihai Conteanu | 11am - 3pm UK |
| UTC (Amer-Morning) | 7am - 11am PT / 10am - 2pm ET | Jameson Burton | Nikki Silverberg | 10am - 2pm ET |
| UTC (Amer-Afternoon) | 11am - 3pm PT / 2pm - 6pm ET | Nikki Silverberg | Jenny Tiemann | 11am - 3pm PT |
| UTC (Amer-Evening) | 3pm - 6pm PT / 6pm - 9pm ET | Jenny Tiemann | Amy Waller | 3pm - 6pm PT |
| UTC (Amer-Morning) | 7am - 11am PT / 10am - 2pm ET | Jameson Burton | Bryce Weatherford | 10am - 2pm ET |
| UTC (Amer-Afternoon) | 11am - 3pm PT / 2pm - 6pm ET | Bryce Weatherford | Jenny Tiemann | 11am - 3pm PT |
| UTC (Amer-Evening) | 3pm - 6pm PT / 6pm - 9pm ET | Bryce Weatherford | Amy Waller | 3pm - 6pm PT |
 
 
**Typical Team Timezones:**
......@@ -43,6 +43,7 @@ Please review the coverage owner closest available per their timezone when decid
* David: PST Pacific Standard Time UTC:-8:00
* Jenny: PST Pacific Standard Time UTC:-8:00
* Nikki: MST Mountain Time UTC:-7:00
* Bryce: MST Mountain Time UTC:-7:00
* Jameson: EST Eastern Standard Time UTC: -5:00
* Gillian: GMT Greenwich Mean Time UTC: +1:00
* Mihai: EET Eastern European Time UTC: +2:00
......@@ -51,7 +52,6 @@ Please review the coverage owner closest available per their timezone when decid
 
**Escalation Path:**
* Manager (Amy Waller)
* Manager (Beth Peterson)
* Director (David Brown)
* If still no response, #marketing-campaigns team can help
 
......@@ -215,6 +215,7 @@ The email should answer the following questions in the following order:
1. What is your call to action? What should you do?
1. Where should you go if you need support? If applicable, where do you provide feedback (e.g., forum, issue, other)? If additional updates will be provided, when and how will that information be shared?
 
To request an email, follow directions on [this page](handbook/marketing/marketing-operations/email-management/#request-non-demand-generation-emails)
 
#### Sample email
 
......
......@@ -68,6 +68,13 @@ The email limits are not set in campaign templates, however, if your email is se
 
Please reference and use the [All-Marketing SSOT Calendar](/handbook/marketing/#marketing-calendar-inputs) to see other sends happening around the same time.
 
## Request non-Demand Generation Emails
Non-DG emails are sometimes required for product updates, security alerts, survey emails and more. If this is an emergency, follow the directions [here](/handbook/marketing/emergency-response/#marketing-emergency-response) Otherwise, please complete the following:
1. [Create email issue](https://gitlab.com/gitlab-com/marketing/marketing-operations/-/issues/new#request-operational-email)
1. If necessary, [create a list request issue](https://gitlab.com/gitlab-com/marketing/marketing-operations/-/issues/new#request-target-list)
These issue templates are different from `marketing` emails and have their own checklists that apply. A general SLA is 5 business days from final assets to send, but please put in issues as soon as you know you need to complete a send (even if you do not have final deliverables) as complexity may push out the SLA. Here are some [helpful tips](/handbook/marketing/emergency-response/#customer-comms-email) to consider when sending a customer email.
## How to Unsubscribe
If a person asks a team member to remove them from email marketing from GitLab, the team member can take a few different steps stated below. If a person unsubscribes, they may still receive [operational emails](/handbook/marketing/marketing-operations/email-management/#operational--bypass-unsubscribe) related to their account.
1. Send the person to the [Email Subscription Center](https://about.gitlab.com/company/preference-center/index.html) to update their preferences
......@@ -89,6 +96,9 @@ These are transactional emails, almost always to our user base, that provide ver
 
It is very important to have Engineering and/or Product team (whoever is requesting this type of email) help us narrow these announcements to the people that actually should be warned or notified, so we are communicating to a very specific focused list. The email platform the send will come from will be determined by a few different factors, but mainly list size. If you need to request an email like this, use this the `incident_communications` [template](https://gitlab.com/gitlab-com/marketing/marketing-operations/-/issues/new#incident_communications) and reference [this section](/handbook/marketing/marketing-operations/#pagerduty-and-emergency-comms).
 
**Non-DG**
Emails that are not cosidered `operational` but also do not fit the categories below. Examples are Surveys, TeamOps sends, etc.
**Newsletter**
The newsletter is a collaboration between the Content Team and the Campaigns Team. [Learn more here!](/handbook/marketing/lifecycle-marketing/emails-nurture/#newsletter) Users can [subscribe to the newsletter](/company/contact/) on the website.
 
......
......@@ -35,7 +35,6 @@ Marketing Operations (MktgOps) supports the marketing organization to streamline
| [Ray Leihe](https://gitlab.com/Leihe268) | VP, Marketing Strategy and Platforms|
| [David Brown](https://gitlab.com/davidbrown1) | [Director, Marketing Operations](https://about.gitlab.com/job-families/marketing/director-marketing-operations/) |
| [Amy Waller](https://gitlab.com/amy.waller) | [Manager, Marketing Operations](https://about.gitlab.com/job-families/marketing/marketing-operations-manager/#manager-marketing-operations) |
| [Beth Peterson](https://gitlab.com/bethpeterson) | [Manager, Marketing Operations](https://about.gitlab.com/job-families/marketing/marketing-operations-manager/#manager-marketing-operations) |
| [Nikki Silverberg](https://gitlab.com/nikkiroth) | [Senior Marketing Operations Manager](https://about.gitlab.com/job-families/marketing/marketing-operations-manager/#senior-marketing-operations-manager) |
| [Gillian Murphy](https://gitlab.com/gillmurphy) | [Senior Marketing Operations Manager](https://about.gitlab.com/job-families/marketing/marketing-operations-manager/#senior-marketing-operations-manager) |
| [Jenny Tiemann](https://gitlab.com/jennyt) | [Senior Marketing Operations Manager](https://about.gitlab.com/job-families/marketing/marketing-operations-manager/#senior-marketing-operations-manager) |
......@@ -133,6 +132,8 @@ Please do not reopen issues that have been closed in a previous milestone. If yo
### OKRs
To track progress on and provide visibility to team OKRs each quarter, Marketing Operations creates a [parent epic](https://gitlab.com/groups/gitlab-com/-/epics/1597) to organize our team-wide work. We use [OKR Labels](/handbook/marketing/marketing-operations/#labeling) to help organize issues.
 
Check out our [quarterly highlights trackers](https://gitlab.com/gitlab-com/marketing/marketing-operations/-/issues/?sort=created_date&state=all&label_name%5B%5D=mktgops-highlights&first_page_size=20) to learn more about the key results we've accomplished.
 
 
### Epics
......
......@@ -287,3 +287,38 @@ Here is the list of fields that are blocked during a non-trusted import. If you
- City
- State
- Postal Code
### Impartner List Import
Channel and Alliance Marketing team leverages [Impartner](https://about.gitlab.com/handbook/business-technology/tech-stack/#impartner)'s showcase feature to create co-branded resources for GitLab and channel partners. In the primary phase, we are taking a manual approach to import the list into Marketo. We are working towards syncing Impartner with Salesforce for lead creation in the upcoming phase.
The list importer will require an admin role called `Leads Only` to retrieve the list.
| Conversion Type | Marketo/Salesforce Campaign Name | `[Impartner] Web Form` value | Smart Campaign |
| --- | ----------- | --- | ----------- |
| Free Trial | [Impartner - Trial - Self-Managed](https://engage-ab.marketo.com/?munchkinId=194-VVC-221#/classic/PG12472A1) | free-trial | Trigger Campaign |
| Talk to an Expert | [Impartner - Request - Contact](https://engage-ab.marketo.com/?munchkinId=194-VVC-221#/classic/PG12460A1) | talk-to-expert | Batch Campaign |
| eBook Download | [Impartner - Gated Content - eBook](https://engage-ab.marketo.com/?munchkinId=194-VVC-221#/classic/PG12461A1) | download | Batch Campaign |
**Step 1: Retrieve the Lead List from Impartner**
1. Log into [Impartner](https://login.impartner.com/login)
2. Go to the `Leads` tab
3. Change the view to `List Import`
4. Export the list - the export is the first icon from the right.
**Step 2: Clean the Lead List**
1. Utilize the [Google Sheet](https://docs.google.com/spreadsheets/d/1B0KR9BRd6jwZrZ5WizJTY2981mxRxWdWayo3CRFLmWg/edit?usp=sharing) to clean and review the lead list - follow the steps as highlighted [above](https://about.gitlab.com/handbook/marketing/marketing-operations/list-import/#import-cleaning-template---info-for-pre-mktgops-hand-off). The spreadsheet specify any differences in the naming conventions for the fields existing in Impartner and Marketo.
2. Ensure the required fields are present upon import for the automations to trigger including `CRM Partner ID` and `[Impartner] Web Form`.
**Step 3: Import the Lead List to Marketo**
1. Go to [list](https://engage-ab.marketo.com/?munchkinId=194-VVC-221#/classic/ST24638A1), `Lead List to Impartner` located in the Database.
2. Set `Acquisition Name` to `None`, then Import.
3. Go to the [Marketo programs](#impartner-list-import) corresponding to the conversion type and activate processing campaign if it's a batch campaign.
......@@ -23,26 +23,15 @@ description: "Marketo is our marketing automation platform used for email market
 
## Marketo Tech Stack Guide
 
**Note:** Refer to the **[Tech Stack Index](/handbook/business-technology/tech-stack/)** to browse Apps and **[Tech Stack Applications](/handbook/business-technology/tech-stack-applications/)** to manage Apps.
Visit the [Marketo Tech Stack Guide](/handbook/marketing/marketing-operations/marketo/tech-stack-guide-marketo/#integrations) for more information around provisioning, integrations and system diagrams.
 
<% data.tech_stack.each do |stack| %>
<% if stack.title == "Marketo" %>
- **Description:** <%= stack.description %>
- **Provisioner:** <%= stack.provisioner %>
- **Deprovisioner:** <%= stack.deprovisioner %>
- **Okta Enabled:** <%= stack.need_move_to_okta %>
- **Critical Systems Tier:** <%= stack.critical_systems_tier %>
<% end %>
<% end %>
 
 
### Integrations
### Marketo <> Salesforce.com Connection
 
To see the different systems that are connected to Marketo, please visit the [Marketo System Infrastructure Mapping Mural](https://app.mural.co/t/gitlab2474/m/gitlab2474/1604947309706/7aec5684a2fa4671823c5acd352348b04562950f).
When any lead/contact is created in SFDC, it will automatically sync and create in Marketo - nothing is held back. Likewise, when a lead/contact is deleted in SFDC, it will delete in Marketo as well.
 
#### Marketo <> Salesforce.com Connection
When any lead/contact is created in SFDC, it will automatically sync and create in Marketo - nothing is held back. Likewise, when a lead/contact is deleted in SFDC, it will delete in Marketo as well. Alternatively, Marketo does not automatically push all records to SFDC and a deleted record in Marketo will not delete in SFDC unless specifically told to.
Alternatively, Marketo does not automatically push all records to SFDC and a deleted record in Marketo will not delete in SFDC unless specifically told to.
 
A lead will sync from Marketo to SFDC in these scenarios:
1. Member of Program that is synced to SFDC
......@@ -60,11 +49,13 @@ Marketo also can create and edit SFDC campaigns. The `Active` checkbox must be c
 
When large updates are made to an SFDC field value, they could cause a sync backlog back to Marketo. To check the backlog, go to [this page](https://app-ab13.marketo.com/supportTools/sfdcSyncStats) and select the object you want to review and click `Get Stats`. Marketo>SFDC is a push count, while SFDC>Marketo is considered Pull. You must be logged in to Marketo to view this information. Backlogs clear automatically, they are slower during working hours due to system usage (Marketo's user base, not just GitLab), but the sync speeds up off-hours and on weekends.
 
#### Custom Sync Rules with Salesforce
### Custom Sync Rules with Salesforce
Because certain processes create records with a blank email address in SFDC we want to avoid having those records flowing into Marketo since they are not actionable and the database has increasing costs per the number of records.
 
Together with Sales Systems, we implemented a custom formula field called `Block_Marketo_Sync__c`. When the field is checked, records will be blocked from syncing by the custom sync rule. Likewise, when the field is unchecked, it will flow to Marketo.
 
For the sandbox, we have a different set of [syncing rules](/handbook/marketing/marketing-operations/marketo/#sandbox).
 
### Multi-thread Sync
 
......@@ -95,6 +86,8 @@ We do have a sandbox to work in for Marketo. The sandbox is used for training, c
 
If you'd like access to the sandbox, please fill out an [AR](/handbook/business-technology/team-member-enablement/onboarding-access-requests/access-requests/frequently-asked-questions/).
 
To limit the number of leads that pass from SFDC staging to Marketo Sandbox, we have instituted a custom rule that will only allow leads to sync from SFDC Staging to Marketo Sandbox IF `Marketo Sync` = TRUE. This is opposite logic than what we have for production.
#### Reconnecting Sandbox to SFDC Staging
Sales Systems refreshes the [SFDC staging environment](/handbook/sales/field-operations/sales-systems/#sandbox-refreshes) periodically. When this occurs, there are several steps to take to reconnect it to the Marketo sandbox outlined on that page.
 
......@@ -257,7 +250,7 @@ Behavior scoring is based on the actions that person has taken. The cadence of h
|Visits Mult Webpages|7 pages in 1 day |+5 |{{my.Visits Mult. Webpages}} |Trigger |1/ 3 days|
|Web: No activity in 30 days|No web activity, not created in last 30| -10 |{{my.No Web Activity}}| Trigger| 1/month|
|Web: Visits Low Value|`/jobs`| -10 |{{my.Visits Low Value Webpage}}| Trigger |1/day|
|Email: Unsubscribed|Unsubscribed from Email| Score Reset |{{my.Unsubscribed}}| Trigger |1/month
|Email: Unsubscribed|Unsubscribed from Email| Score Reset |{{my.Unsubscribed}}| Trigger |1/month|
|Email: Bounce |Email Hard Bounces| -20| {{my.Bounce}}| Trigger|1/month|
 
 
......
......@@ -33,61 +33,8 @@ description: "Reference for how Marketo is implemented."
 
To see the different systems that are connected to Marketo, please visit the [Marketo System Infrastructure Mapping Mural](https://app.mural.co/t/gitlab2474/m/gitlab2474/1604947309706/7aec5684a2fa4671823c5acd352348b04562950f).
 
#### Marketo <> Salesforce.com Connection
 
When any lead/contact is created in SFDC, it will automatically sync and create in Marketo - nothing is held back. Likewise, when a lead/contact is deleted in SFDC, it will delete in Marketo as well. Alternatively, Marketo does not automatically push all records to SFDC and a deleted record in Marketo will not delete in SFDC unless specifically told to.
A lead will sync from Marketo to SFDC in these scenarios:
1. Member of Program that is synced to SFDC
1. When a person reaches `Inquiry` status
2. When they reach `MQL` status and reach 100 points
3. Specifically told to sync via a flow step `Sync to SFDC`
Data is shared between the two via the Marketo User Permission Set with either `Read` or `Read/Write` permissons. Accounts fields by default are `Read Only`. Here are quick links to review them:
- [Leads](https://gitlab.my.salesforce.com/0PS4M000001136E?s=EntityPermissions&o=Lead)
- [Contacts](https://gitlab.my.salesforce.com/0PS4M000001136E?s=EntityPermissions&o=Contact)
- [Accounts](https://gitlab.my.salesforce.com/0PS4M000001136E?s=EntityPermissions&o=Account)
Marketo also can create and edit SFDC campaigns. The `Active` checkbox must be checked in order for Marketo to be able to map to that campaign. [Go here for campaign set up directions](/handbook/marketing/marketing-operations/campaigns-and-programs/#marketo-program-and-salesforce-campaign-set-up).
When large updates are made to an SFDC field value, they could cause a sync backlog back to Marketo. To check the backlog, go to [this page](https://app-ab13.marketo.com/supportTools/sfdcSyncStats) and select the object you want to review and click `Get Stats`. Marketo>SFDC is a push count, while SFDC>Marketo is considered Pull. You must be logged in to Marketo to view this information. Backlogs clear automatically, they are slower during working hours due to system usage (Marketo's user base, not just GitLab), but the sync speeds up off-hours and on weekends.
#### Custom Sync Rules with Salesforce
Because certain processes create records with a blank email address in SFDC we want to avoid having those records flowing into Marketo since they are not actionable and the database has increasing costs per the number of records.
Together with Sales Systems, we implemented a custom formula field called `Block_Marketo_Sync__c`. When the field is checked, records will be blocked from syncing by the custom sync rule. Likewise, when the field is unchecked, it will flow to Marketo.
### Multi-thread Sync
To avoid or clear SFDC backlogs, multi-thread sync is availible to use in Marketo. It enables the use of multiple lanes of data flowing from SFDC to Marketo, greatly increasing the sync rate depending on the resources availible on the Marketo servers. Each record in Marketo is marked with a value between `1-9` on the field `Marketo Thread ID` based on the first letter of the email address. Records will be synced and distributed on threads based on the value of `Marketo Thread ID`.
| Letter | Value |
| ------ | ------ |
| A B | 1 |
| D E F | 2 |
| G H I | 3 |
| J K L | 4 |
| M N O | 5 |
| P Q R | 6 |
| S T U | 7 |
| V W X | 8 |
| Y Z C | 9 |
**NB: This feature is not always-on and only Marketo Support can enable it. A support ticket must be opened with 7 days before planning any massive updates from SFDC or at any time there is a significant backlog**
#### Enabling Multi-Thread Sync
To enable, you must [create an issue](https://gitlab.com/gitlab-com/marketing/marketing-operations/-/issues/new?issuable_template=request-marketo-multithread) 7 days in advance with the Marketing Operations team and include the following, so that we can open the ticket with Marketo.
1. Anticipated date of mass update
1. Business impact
1. Which field(s) are updating that will result in a backlog
### Sandbox
We do have a sandbox to work in for Marketo. The sandbox is used for training, creation of API links and overall testing before we move to production. There is not a way to `promote` a program from the sandbox to Prod, so building programs in the sandbox first is not always required. Guidelines for when to build in the sandbox is TBD, but for custom API and webhook integrations, it is highly recommended.
If you'd like access to the sandbox, please fill out an [AR](/handbook/business-technology/team-member-enablement/onboarding-access-requests/access-requests/frequently-asked-questions/).
#### Reconnecting Sandbox to SFDC Staging
Sales Systems refreshes the [SFDC staging environment](/handbook/sales/field-operations/sales-systems/#sandbox-refreshes) periodically. When this occurs, there are several steps to take to reconnect it to the Marketo sandbox outlined on that page.
### Data Model
Marketo is a flat database that utilizes Email Address as the unique ID. The `Person` Object is the main object.
### Key Reports / Dashboards
 
......@@ -172,7 +172,7 @@ Follow these steps to apply a console template:
 
After completing the creation of an On24 web event, the next step is to connect the webinar to Marketo.
1. From the previous event set up, please be sure to have the `Event ID` and `Audience URL` handy.
1. Navigate to the Marketo template folder `Templates On24 - Webcast`. Located in this folder is the program template `YYYYMMDD_EventName_EventType_On24_template`. Make a copy of this program template in the appropriate folder.
1. Navigate to the Marketo template folder `Templates - On24`. Located in this folder are program templates Designed with triggers to work with On24's Marketo cusom object. Make a copy of the needed program type template in the appropriate folder.
1. Next step will be to connect the Marketo program to the On24 webcast. In the Smart Campaigns folder of the newly cloned program, add the On24 `Event ID` to the following smart campaigns on the `Added to ON24 Attendee` trigger filter:
1. 04 On24 Processing - Attended
1. 04 On24 Processing - Follow Up Requested
......@@ -187,14 +187,19 @@ After completing the creation of an On24 web event, the next step is to connect
1. 04 On24 Processing - On Demand.
- Only activate this smart campaign if it is appropriate for the webinar, such as in the event the webinar will be left available for on-demand viewing.
1. 04 On24 Processing - No Show.
- No Show will not be activated as a trigger, but as a batch campaign scheduled to run 6 hours after the event.
- No Show will not be activated as a trigger, but as a batch campaign scheduled to run 6 hours after the event has completed.
1. Unlike other tools, the On24 room and Marketo program do not need to be connected via the `Event Partner` field on the Marketo program. All data transfer is done via the `Event ID` and smart campaigns.
1. Update the program tokens as needed within the program. Important tokens to review:
- `my.webcastDate`, `my.webcastTitle` and `my.event location` are standard to update.
- `my.on24URL`: This token needs to be updated as upon registration the registrant is sent an automatic email with the Audience URL attached to this token.
- `my.On24password`: Update this with the webinar password. If no password was set up in the console, completely remove token from `registration confirmation` email as it is not necessary.
- `my.bullet1` - `my.bullet4` may appear on the `registration confirmation` email so be sure to update either the tokens or the email template to accommodate
- Update others as needed
1. Please note the `Registration Flow` smart campaigns will send out the `Audience URL` for the event and have tokens arranged to share event passwords.
1. Before continuing on, check if it seems appropriate to [set any of the local assets to expire](https://experienceleague.adobe.com/docs/marketo/using/product-docs/core-marketo-concepts/programs/working-with-programs/local-asset-expiration.html?lang=en#:~:text=Right%2Dclick%20on%20your%20desired,Choose%20an%20expiration%20date). Appropriate items to set an expiration would be, for example, smart campaigns like the `04 On24 Processing - Attended` campaign, which is no longer needed after the event ends.
1. Update the program tokens as needed within the program. All email assets and landing pages are token dependent. Important tokens to review:
- `my.webcastDate`, `my.webcastTitle` and `my.event location` are standard to update.
- `my.on24URL`: This token needs to be updated as upon registration the registrant is sent an automatic email with the Audience URL attached to this token.
- `my.On24password`: Update this with the webinar password. If no password was set up in the console, completely remove token from `registration confirmation` email as it is not necessary.
- `my.bullet1` - `my.bullet4` may appear on the `registration confirmation email` and `registration landing page` so be sure to update either the tokens or the templates to accommodate. The series of tokens for `my.InviteEmailBody1` and `my.AgendaTopic/my.AgendaTime` also appear on the `reminder` and `invitation` email templates.
- If speakers are to be shown on the landing page, be sure to update the series of `speakers` tokens. If there is no need to display the speakers, deactivate the `speaker lists` on the `registration landing page` template.
- Update others as needed, but be sure to review **each** asset to understanding what needs to be updated and where.
- Please note the `Registration Flow` smart campaigns will send out the `Audience URL` for the event and have tokens arranged to share event passwords.
8. `Reminder` and `Invitation` email campaigns are supplied within the template.
- Take note of the suggested timelines for the email programs and schedule accordingly.
9. Utilize `Waitlist` email and smart campaigns as needed.
 
 
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment