Essential program pre-launch quality assurance process for success

If you are a Marketo Engage administrator or on the Marketing Operation team, reviewing the program configuration properly is crucial to avoid customer-facing mistakes. Though you can learn from your mistakes along the way to limit mistakes, it is not a scalable process. Learn how to design and run a program pre-launch quality assurance (QA) process between builders and power users/reviewers helps save you time, prevent errors, and train your internal users more quickly.

In this tutorial, you learn how a Marketo Engage administrator can develop a program pre-launch QA process to help your internal teams scale. The Program Pre-launch Checklist, sourced from Adobe Marketo Champion (2021), Grace Brebner’s blog post, is used as an example to walk you through the key elements and requirements.

Why should you design a program pre-launch QA process?

If you are newer to Marketo Engage, you may not know what to check for when building out a program. Even for seasonal Marketo Engage administers, reviewing the programs based on your memory is risky. This is when a program pre-launch checklist comes into play. It not only helps drive your program QA processes more smoothly, but also trains your builders to look out for common pitfalls.

  • Timesaving: Without having an established QA process in place, it ultimately adds time to your program build process and take more time to take your marketing programs to the market. Once you set up your own program pre-launch list and have your internal users familiarize themselves with the QA process, they become more accurate in program configuration by using it.
  • Self-enablement: Having your Marketing team go through the checklists that are relevant to the programs they are building provides a structured curriculum to train your internal users. Every time they work through the checklist to perform self-review, it builds up their muscle memory. Even if you are an experienced Marketo Engage administrator reviewing others’ programs, having a checklist to check off prevents you from overlooking common pitfalls.

Get started with designing your program prelaunch QA process.

Step 1: Think through your QA process

Answer the following questions to think through your QA process:

  • Who is able to serve the reviewer and approver role?
    If you are in a smaller organization, the Marketo Engage admins may play hybrid roles of Marketing and Marketing Operations. It is recommended that you have a non-builder Marketo Engage Consider power users to audit the programs. A new pair of fresh eyes helps spot issues.

  • How would the builders and the reviewers collaborate and document notes and changes?
    You could keep things organized in a spreadsheet or within a project management platform. Reference the checklist below and convert the template into the format that works best for your organization. Your team can simply clone the template each time they build and review the program for launch.

Step 2: Go through the program prelaunch

Go through the program prelaunch checklists line by line to familiarize yourself with the program QA scope.

Rules of thumb to keep in mind:

  • This program pre-launch checklist isn’t designed to be one size fits all. Use what’s relevant, ignore or delete what’s not, and customize it for your organization’s needs. You could also divide up the checklists to use only pieces that are relevant to your program build.
  • Define your requirements clearly. Consider your acceptance criteria for each element and edit them in your offline template.

Step 3: Develop a guideline for your internal teams

Develop a guideline for your internal teams to use the program prelaunch checklist and test run the QA process until it’s more streamlined.

Here’s an example:

  • Builders should clone the program prelaunch checklist to check, note, and approve as they go down the checklist.
  • Have your builders do a self-review in one column and have the reviewers document their notes in another column next to the requirements.
  • Only have the reviewers fill out the ‘Final Checks’ section. This section asks the reviewer to repeat several key checks to ensure that changes are made properly throughout the QA process.

Step 4: Revisit the checklist on a regular basis

There may be items that are missing or not applicable as your team runs this exercise a few times. Revisit this checklist (for example, quarterly) to update the review items and acceptance criteria to fine-tune your program QA process.

Example Template: Program Pre-launch Checklist pre-launch-checklist

NOTE
If you are on a smaller screen, please be aware that you can scroll the tab below to see more.
Key Details and Planning
table 0-row-6 1-row-6 2-row-6 3-row-6 4-row-6 5-row-6 6-row-6 7-row-6
# Review Area Questions to ask Example Acceptance Criteria Additional Resources
1 Program type Is it appropriate? If an Engagement program, is it logical? If Default, is it logical? Yes:
If you cannot answer this question with a yes, you may need to change your program type.
Understanding Programs
2 Channel Is the channel appropriate? Do the Channel Steps/Program Statuses support the program’s success management? If set up as a newsletter, does this make sense and do the program statuses support the purpose of the program, or are you trying to twist something pre-existing but not suitable? Yes:
If you cannot answer this question with a yes, you must either change your channel or discuss the creation of a new one with a Marketo Engage administrator
Create a Program Channel

Understanding Channel
3 Program Naming Convention Is this set following your naming conventions correctly? Link to your naming convention tool or spreadsheet if you have one. Formula: [PROGRAM TYPE] - [DATE] [CATEGORY]: [SHORT DESCRIPTION] Yes:
If you cannot answer this question with a yes, or aren’t sure, review your naming conventions and if necessary, update the name of your program.
Best practices to organize a new Marketo Engage instance
4 Period Cost Have you assigned a Period Cost tag to the program? If you spend $1000 to produce an eBook that launches in July, the program would have a period cost of $1000 in July. Yes:
If you cannot answer this question with a yes, add a period cost in, even if it’s just zero!
Using Period Costs in a Program
5 Success Have you identified the program’s objective and success metric? Do you know how you’re going to measure the program? Have you marked it with a program status change? If it’s a ‘Chat’ channel, the status progression could be Member, Engaged, and Converted. Yes:
If you cannot answer this question with a yes, you won’t have an easy means of understanding whether your campaign had any impact. Identify what your primary objective is, and then a means of measuring it - even if it’s a manual list import after 7 days.
Program Statuses
6 Audience Have you identified the program’s audience? Yes:
If you cannot answer this question with a yes, find out before you plan to send.
7 Tokens Have you updated all the required program tokens? If it’s a webinar program, have you updated the event date, event title, descriptions, and calendar file, etc.? Yes or not applicable
If you can’t answer with a yes, or don’t know whether it applies, check your program ‘Tokens’ tab. See whether the program contains any local tokens that must be updated
Understanding My Tokens in a Program
Web Personalization Campaigns
table 0-row-5 1-row-5 2-row-5 3-row-5 4-row-5 5-row-5 6-row-5 7-row-5
# Review Area Questions to ask Acceptance Criteria Additional Resources
1 Design Is the design consistent with your brand guidelines? Yes:
If you cannot answer this with a yes, you either need a good reason for it or you must redesign the assets.
2 Testing Has it been tested across devices? browsers? Does it both render cleanly and function? Yes:
If you cannot answer with a yes, you should test this across devices and browsers.
3 Data If there is a form in the campaign, has the form been tested? Do all triggers flow as expected? Do all form fields map accurately? Can you prove this, having checked a persons record’s activity log - not just the fields? Yes:
If you cannot answer with a yes, you should test this.
Set a Form Field as Hidden

Set a Hidden Form Field Value
4 Tracking If you have a form in the campaign, are hidden UTM fields in place to track sources of submissions? Have these been tested? Yes or no: If you answer no, understand that your ability to track which sources directed people to this form is limited. Referrer Parameter
5 GDPR/CASL Compliance
  • If data is captured through the form, is the opt-in compliant with your corporate policy?

  • Do you provide a collection statement with a functioning Privacy Policy link?

Yes:
Understand your relevant compliance environment: If you cannot answer this question with a yes, you must update the Privacy Policy section to ensure it is compliant. If you do not know, seek appropriate advice from your Legal team.
Privacy Management
6 Google Analytics Integration Is your Web Personalization integrated with Google Analytics? Yes or no:
If answering no, understand that your ability to track what web personalization impact is limited.
Personalized Remarketing in Google
7 Web Segments
  • Is the segment chosen appropriate, and does it apply to the right domains?

  • Is the segment being sent to Google Analytics?

Yes:
If you cannot answer with a yes, you must update it.
Web Segments

Find Web Campaigns that are Using a Specific Segment
Landing Pages
table 0-row-5 1-row-5 2-row-5 3-row-5 4-row-5 5-row-5 6-row-5 7-row-5 8-row-5 9-row-5 10-row-5 11-row-5 12-row-5
# Review Area Questions to ask Acceptance Criteria Additional Resources
1 Design Is the design consistent with the brand? Does it use the appropriate template? Yes:
If you cannot answer this with a yes, you either need a good reason for it or you must redesign it.
Edit a Marketo Landing Page Template
2 Testing Has it been tested across devices and browsers? Does it both render cleanly and function? Yes:
If you cannot answer with a yes, you should test the preview link across devices and browsers.
Preview a Landing Page
3 URL Has the page URL been customized? Is it logical/does it follow naming conventions? Yes:
If you cannot answer with a yes, you should update the page URL.
Change the Landing Page URL
4 Meta/OG tags Have the OG tags been set? The title, description, images, and so on. These impact how the page displays in social sharing. Yes:
If you cannot answer with a yes, you should update all the tags.
Edit Landing Page Title and Metadata
5 Robots What are the settings? Do they make sense given your needs? Yes:
If you cannot answer this with a yes, you should update it.
What Does Robots Mean?
6 Personalization If your page has any personalized elements(for example, Dynamic Content, Snippets) on it, have you tested them? Do they all work as expected? Yes / Not applicable:
If you can’t answer yes or n/a, go test!
Use Dynamic Content in a Landing Page

Preview a Landing Page with Dynamic Content
7 Images Have all images used been compressed properly? If there is text overlaying any images, is it clearly legible? Do you have the right to use these images & are they on brand? Yes / Not applicable:
All images (if any are used) should be compressed to improve email load speed.
Replace an Uploaded Image or File
8 Copy Have you reviewed the copy for any grammar errors? Is the copy on tone of voice for your brand? Does your copy make it clear what the page’s objective is? Yes / Not applicable:
If you can’t answer yes or N/A, review your copy.
9 Forms If the landing page has a form on it, is the right form being referenced? If you are using a non-Marketo landing page, check the embed code from the form asset page as well, ensure it isn’t affected by the old URL structures depreciated in August 2023. Yes / Not applicable:
If you can’t answer yes (or not applicable), fix it!
Landing Page with a Form

Embed a Form on Your Website

Changes to Design Studio URLs
10 Thank You If there’s a form on your page, does the page display a success message/redirect to a thank you page on submission as appropriate? Yes / Not applicable:
If you can’t answer yes (or not applicable), fix your post-submission settings.
Redirect a Landing Page
11 GDPR/CASL Compliance If data is captured through the form, is the opt-in compliant and do you provide collection statement w/functioning Privacy Policy link? Yes:
Know your relevant compliance environment: if you cannot answer this question with a yes, you must update to ensure it is compliant. If you do not know, seek appropriate advice.
Privacy Management
12 Tracking Do you have Google Analytics, Tag manager, and/or Munchkin settings applied to the page as intended? Should this landing page have Munchkins on or off by default? Yes / Not applicable:
If you can’t answer yes or not applicable, confirm with your Marketo Engage administrator.
Test if Your Munchkin Code is Working
Forms
table 0-row-5 1-row-5 2-row-5 3-row-5 4-row-5 5-row-5
# Review Area Questions to ask Acceptance Criteria Additional Resources
1 Responsive Is the form device responsive? Yes:
If you cannot answer this with a yes, you should update the CSS to make it responsive or it may impact your performance.
2 Design Is the design of the form brand consistent? Yes:
If you cannot answer this with a yes, you either need a good reason for it or you must update the CSS to make it on brand.
3 Data Flow Does all data map to fields as intended? Have you checked a test record’s activity log to prove this? Yes:
If you cannot answer with a yes, you should fix and test the mapping.
Locate the Activity Log for a Person
4 Tracking Are hidden UTM fields in place to track sources of submissions to this form? Have these been tested? Yes or no:
If answering no, understand that your ability to track what sources directed people to this form is limited.
Set a Form Field as Hidden

Set a Hidden Form Field Value
5 GDPR/CASL Compliance If data is captured through the form, is the opt-in compliant and do you provide a collection statement with a functioning Privacy Policy link? Yes:
Know your relevant compliance environment: If you cannot answer this question with a yes, you must update to ensure it is compliant. If you do not know, seek appropriate advice.
Privacy Management
Smart Campaigns
table 0-row-5 1-row-5 2-row-5 3-row-5 4-row-5 5-row-5 6-row-5 7-row-5 8-row-5 9-row-5 10-row-5 11-row-5 12-row-5
# Review Area Questions to ask Acceptance Criteria Additional Resources
1 Accuracy Have all necessary Smart Campaigns been checked, reviewed, and considered accurate? Yes:
If you cannot answer with a yes, you should fix and check these before proceeding.
Smart Campaign Checklist
2 Send count If your email sending campaign is a batch campaign (not triggered) look at the count of leads in the ‘schedule’ tab - do the numbers align to what you expect? Is it below the abort threshold? Yes:
If you cannot answer with a yes, you should fix and check these before proceeding.
Schedule Your Email Program
3 Primary Rules Are primary segmentations/lists being used if appropriate or where appropriate? Yes or not applicable:
Primary lists/segmentations are designed to reduce the number of fields you must reference and reduce the risk of human error. You should be confident of your rules if you do not use primary lists/segmentations.
4 Attribution If the program is acquiring new leads (for example, an event program) are attribution settings included as required? Is the acquisition program being mapped? Yes or not applicable:
If you are importing people to your program, or your program will be acquiring new people, you should use acquisition program settings.
5 Engagement Programs When a Smart Campaign is used in an Engagement Program, are there steps in place to ensure members are added, paused, and restarted as appropriate? Have these steps been reviewed by others? Yes or not applicable:
If this is an Engagement Program, and you cannot answer with a yes without good reason, don’t activate until this is in place.
Add People to an Engagement Program
6 Subscription Preferences Have all necessary subscription preference factors been included? Yes or not applicable:
If you’re unsure, ask your Marketo Engage administrator. You need a good reason to proceed with N/A (for example, operational sends).
How to set up and manage a subscription center
7 Program Status Are there flow steps included to update program statuses? Yes:
If you cannot answer with a yes, you should add these into your Smart Campaign flow steps.
Change Program Status
8 Broader Impact
  • Are any flow steps sending alerts/writing to fields that sync to other teams/systems?

  • If so, has volume been considered and have stakeholders for those teams/systems been advised?

Yes, no or not applicable:
Any answer is okay but if it does map you should usually inform the team that owns the system. If you’re not sure, ask your admins.
9 Scoring Impact Have any implications to lead / person scoring been considered? Yes or not applicable:
If you can’t answer yes or not applicable, ask your administrator.
Simple Scoring

How to build a lead scoring program
10 Revenue Cycle Modeler (RCM) Impact Have any implications to the person lifecycle model been considered? Yes or not applicable: If you can’t answer yes or cot applicable, ask your administrator. Revenue Cycle Modeler Configuration
11 Impact on Engagement Programs
  • Have you considered any implications to existing Engagement programs?

  • Have you ensured people will not be bombarded by multiple communications?

Yes or not applicable:
If you can’t answer yes or not applicable, ask your administrator.
Avoid Sending Duplicate Content

Apply Communication Limits to Smart Campaign
12 Reporting Success Is program success being measured logically? Is the success reasonable - not too close in the process? Not too far to achieve? Do you have a strategy for how you report on and measure success to communicate internally? Yes:
If you can’t answer yes, rethink your success metric definition.
Change Program Success
Lists
table 0-row-5 1-row-5 2-row-5 3-row-5 4-row-5
# Review Area Questions to ask Acceptance Criteria Additional Resources
1 Logic If Smart Lists are being used to identify any part of the audience, has the logic been checked, reviewed, and considered accurate? Yes:
If you cannot answer with a yes, you should fix the smart list set-up, and check these before proceeding.
2 List Import Processes If Static Lists are being used to identify any part of the audience, is the data source trustworthy and has the import been done accurately & according to your list import processes? Yes:
If you cannot answer with a yes, you should fix the list data and check these before proceeding.
Ways to Add/Remove People from a Static List

Import a List of People
3 Exclusions Are any required exclusions being included (for example competitors, unsubscribe blocklists) Yes or not applicable:
You must have unsubscribes filtered out unless you have a very good, legally compliant, reason not to. You should be confident of your content, campaign rules, and legal basis if not including any of these.
Understanding Unsubscribe

Change Data Value
4 Primary Lists Are primary lists/segmentations being used where appropriate? Yes or not applicable: Primary lists/segmentations are designed to reduce the number of fields you must reference and reduce the risk of human error. You should be confident of your rules if not using primary lists/segmentations. Define Segment Rules
Audience
table 0-row-5 1-row-5 2-row-5 3-row-5 4-row-5 5-row-5
# Review Area Questions to ask Acceptance Criteria Additional Resources
1 Legal Basis:
You have an appropriate legal basis for contacting your audience.
  • Explicit: Have they explicitly opted in to receive marketing comms from your brand?
  • Inferred (where compliant): Have they provided you with their contact details and can reasonably expect that you will use this information to contact them?
  • Deemed (where compliant): Have you obtained their contact details from a public source and can reasonably assume the content is relevant to them, given the public source?
Yes and state the basis: Be sure whatever basis you choose is valid in your compliance environment. If you cannot answer with a yes, hold off on launching the program and seek clarification regarding the legal basis for contacting this audience. Privacy Management
2 Data Sources If you identify your audience through an import list, is your data source trustworthy? Yes or not applicable:
If you cannot answer with a yes, seek clarification on the data source.
Define an Audience by Importing a List
3 List Purchasing Has the audience been sourced through list purchasing or sponsorship activities? No if source = list purchasing:
List purchasing is bad practice, illegal in many places, and often a breach of your contract with your Marketing Automation platform.

Yes, if source = sponsorship
In sponsorship & competition cases, ensure that the data capture was compliant. It is best practice to be clear in the first communication about how you received their info, and to make opting out easy for people.
4 Relevance The information you are about to send this audience is relevant to them and to their relationship with you. Yes:
If you cannot answer with a yes, stop and consider carefully why you are sending emails to these people. Sending information that is not relevant to them or their relationship with you is likely to adversely affect performance and deliverability, and may be a breach in your compliance environment.
5 Expectation This audience expects to hear from you. Yes:
If you cannot answer with a yes, stop and consider carefully why you are sending emails to these people. Sending emails to an audience who does not want or expect to hear from you is likely to adversely affect performance, deliverability, and may be a breach in your compliance environment.
Email Asset
table 0-row-5 1-row-5 2-row-5 3-row-5 4-row-5 5-row-5 6-row-5 7-row-5 8-row-5 9-row-5 10-row-5 11-row-5 12-row-5 13-row-5 14-row-5 15-row-5 16-row-5 17-row-5 18-row-5 19-row-5 20-row-5 21-row-5 22-row-5
# Review Area Questions to ask Acceptance Criteria Additional Resources
1 Sender email address Have you checked with the brand owner and confirmed the email address is safe for use? Yes:
If you cannot answer with a yes, you should check the sender email before proceeding.
Edit Your Email Header

Change the Default From Email and From Label
2 Sender name Have you checked with the brand owner and confirmed the name is safe for use? Yes:
If you cannot answer with a yes, you should check before proceeding.
Edit Your Email Header

Change the Default From Email and From Label
3 Reply-to address Have you checked with the brand owner and confirmed it is safe for use? Yes:
If you cannot answer with a yes, you should check before proceeding.
Edit Your Email Header
4 Preheader settings Have you set the pre-header according to best practice (i.e., min. 80 char, full sentences, front load the valuable bits)? Yes:

If you cannot answer with a yes, you should update before proceeding.
Email Settings
5 Copy Proofing Are there any spelling or grammar issues?
Is the tone appropriate for your brand?
Yes:
If you cannot answer with a yes, you should fix before proceeding.
6 Scannability Can you comprehend the key information in this email at a scan? Yes or not applicable:
Email best practice suggests that it’s important to ensure your email’s key message can be understood at a scan. If you choose not to apply this practice, be aware it may impact your email’s performance.
7 Unsubscribe Does the email have a functional unsubscribe link, which you have tested? Yes or not applicable:
Not applicable should only be valid if the email is operational. Be confident that unsubscribe is not required, if in doubt, inclusion is safer.
Understanding Unsubscribe
8 Text Version
  • Have you created a text version of the email?

  • Have you sent yourself a test of the text version?

Yes:
If you cannot answer with a yes, you should test before proceeding.
9 Text Version Optimization
  • Has the layout of the text version been optimized?

  • Are there any HTML comments visible?

  • Is all relevant content included?

Yes:
Auto-generated text versions can be awful to read - it’s worth optimizing them.
Edit the Text Version of an Email
10 Text Version Hyperlinks and UTMS

Do hyperlinks work & include UTMs across these areas? :

  • Header section
  • Image areas (if included)
  • Body
  • CTA(s) Footer
Yes:
If you cannot answer with a yes, you should fix and check these before proceeding. Automatic text versions don’t pull through variables reliably!
11 HTML/Main Version
  • Have you created an HTML/main version of the email?

  • Have you sent yourself a test of it?

Yes (unless plain text only):
If you cannot answer with a yes, you should send yourself a test before proceeding.
Edit an Email’s HTML
12 Images
  • Do all images have alt text?

  • Are there any images broken?

Yes or not applicable:
. If you cannot answer with a yes, you should fix and check these before proceeding (unless there are no images).
13 Image Compression
  • Were all images saved for web from your image editing software?

  • Were they compressed prior to uploading?

  • Is the email load time acceptable?

Yes or not applicable:
All images (if any are used) should be compressed to improve load speed.
Your hero images should be below 120kb, and all smaller images should be smaller. High load times will impact performance.
14 HTML Version Hyperlinks and UTMs

Do all the hyperlinks work and include UTMs across these areas? :

  • Header section
  • Image areas (if included)
  • Body
  • CTA(s) Footer
Yes:
Don’t send broken links. If you can’t answer yes, fix before continuing.
15 Dynamic Content
  • Does your email have Dynamic Content in it?

  • Have you tested it across multiple scenarios?

Yes:
If you cannot answer with a yes, you should test this before proceeding.
Using Dynamic Content in an Email

Preview an Email with Dynamic Content
16 Legal Requirements
  • Have you misrepresented any offer?
  • Are any required disclaimers included in accordance with your compliance environment?
Yes:
If you cannot answer with a yes, you should fix and check these before proceeding.
17 Peer reviewed Have you had another Marketo Engage user peer review your test email? Yes:
If you cannot answer with a yes, this should be done before you send.
18 Operational sends
  • Have you set the email to operational (meaning it will bypass unsubscribe settings)?
  • If so, do you have a valid reason for this?
Yes or No:
If answering with yes, you should have a valid reason for sending as an operational email. If you’re not sure, ask your Marketo Engage administrator.
Make an Email Operational
19 A/B and Champ/Challenger Testing Are you running any champion/challenger testing on the email? Yes or no:
If you’re not doing any testing, think about whether you may be missing an opportunity to learn more about your audience.
Create an A/B test

Add an Email Champion/Challenger
20 Client Testing

Have you run the email through your client testing software?

  • Have you identified any display issues with major email clients?

  • Have you corrected or logged as a non-urgent template fix?

  • Have you identified any load speed issues and attempted to improve?

  • Have you identified any subject line/preview line issues? Are they resolved?

Yes or not applicable:
If you cannot answer with a yes (unless you don’t have testing software) this should be done before you send.
Examples of client testing software include Litmus or Email on Acid or Marketo Email Deliverability Power Pack

Inbox Tracker Tutorials
21 Spam Testing

Have you run the email through spam process?

  • Are there any blocklisting flags raised for awareness?

  • Have you identified any inbox placement/email client flags?

  • Have you sought for potential causes and attempted to resolve them?

Yes or not applicable:
If you cannot answer with a yes (unless you don’t have testing software) this should be done before you send.
Use Marketo’s Inbox Tracker functionality for this if you have it included in your contract, or tools like Litmus or Email on Acid.
22 Additional Analytics Does the email have additional analytics code included? Yes or not applicable:
If you cannot answer with a yes (unless you don’t have additional analytics software) this should be done before you send.
Final Checks
table 0-row-4 1-row-4 2-row-4 3-row-4 4-row-4
# Review Questions to ask Acceptance Criteria
1 Asset Approval Ensure that finalized program assets and champion/challenger tests are fully approved and have no final changes in draft mode. Yes:
If you cannot answer with a yes, this must be done before you send.
2 Smart Campaign accuracy Do the smart campaigns reference the right assets? Yes:
If you cannot answer with a yes, this must be fixed before you send.
3 Checklist Steps Have all the above checks been completed? Yes:
If you cannot answer with a yes, this should be done before you send.
4 Stakeholder Approval Has the campaign received final sign-off from stakeholders? Yes:
If you cannot answer with a yes, this should be done before you send.

What’s Next?

Click here to download the editable program pre-launch checklist for you to customize. Remember this should be adapted to suit your organization’s workflow. Developing an effective QA process keeps you accountable and limit customer-facing mistakes.

Authors

Grace Brebner
Adobe Marketo Champion (2021)
Director of Client Strategy, APAC Region, Digital Pi, LLC - A Merkle Company

Grace Brebner {width="30%"}

Amy Chiu
Adoption & Retention Marketing Manager, Adobe

Amy Chiu {width="30%"}

recommendation-more-help
d4a8cc96-7cd2-431b-8fbc-45bc36bb2c5f