Best Practices: Program Reporting Optimization

Marketo Employee
Marketo Employee

This post explains best practices for getting the most out of Marketo Engage program & attribution reporting.


Most of Marketo’s out of the box attribution reporting (including Performance Insight and RCA) is based on “programs” in Marketo. To get value from Performance Insight dashboard/RCE and accurate attribution reporting, it is important to understand how Marketo measures your program performance to make sure you’re providing the necessary data for the dashboard to work.


Best Practice #1: ONE marketing activity = ONE program in Marketo

  • Marketo’s best practice is to leverage its native “program” functionality to organize each of your marketing activities.
  • For example, if you are planning a webinar, it is advisable to set up a webinar program in Marketo using the Event Program type and organize all relevant activities for this event (such as sending invitations, registration form process, reminder emails, etc.) as separate smart campaigns within the same Program.
  • Ensure 1 marketing activity = 1 program in Marketo for best practice tracking and reporting. Learn more about Marketo Programs.


Best Practice #2: Track program membership, especially success and acquisition membership!

  • Marketo measures your program performance based on program membership: Marketo needs to know how many total members you outreach to in a program, how many new names enters the Marketo Database because of that program, and how many reach the success criteria of that program. The Program Home Tab also provides a summary of these membership:
    • Member of program: These are the people that your program has “touched” and carry a “program status” in the program such as invited or registered.

    • New Names: These are the new records that enter the Marketo database for the first time because of this program, in other words, they are acquired by the program.

    • Success: These are the people that reach the defined success status in your program. The success status is defined at the program channel level under Admin > Tag > Channel. Contact your Marketo admin if you don’t know the success status definition of your program.


  • PRO TIP: Include both “Track acquisition” and “Track success” smart campaigns in all programs.
    • Track Acquisition: As marketers, you want to make sure you know where the leads in your database are coming from. In addition to the out of box “Person Source” field to track source of a person record (i.e. Events), Marketo also uses the “acquisition program” field to identify which specific program acquired the person record. You can think of “acquisition program” as your lead source detail. The number of new names acquired by the program makes up the “New Name” column in the Program Performance Report.
      • Marketo automatically assigns acquisition program if a local asset (i.e. a form or a list) within the program acquires the person or if a new record enters the database via a direct import to the program. If your program uses a global form/asset to acquire membership, you will need to set up dedicated smart campaigns to assign acquisition back to your program. See additional information on Setting Acquisition Best Practice.
    • Track Success: Ensure you have a smart campaign within each program that updates members to the success status when they reach the goal of your program.
      • The success criteria can be defined within each program before updating the program membership status to the success status.
      • This is essential as Marketo measures Program Performance based on success membership % in your program (number of success membership divided by total membership). 


Best Practice #3: Use Period Cost

Many people overlook Using Period Costs in a Program or don’t fully understand the purpose of this functionality. Period cost serves two important purposes :

  1. Program ROI Calculation: Adding period cost to a program helps Marketo calculate the program’s ROI and helps you understand which program is more expensive or economical to run based on the program success percentage.
    • It is recommended to establish a “baseline” cost for your program channels based on the “effort” to manage them. For example, a weekly newsletter may have a baseline cost of $200 versus a webinar program that may have a baseline of $800, with the assumption that a webinar program is 4X the effort to manage end-to-end compared to a weekly newsletter program.
    • You can also add on any incremental cost for the program in addition to the baseline cost such as agency fee if you hire an agency to assist with the program. It does not need to be exact science – the goal is to allow you to have a consistent baseline for all your program channels so you can compare which program has the best return on investment based on “Cost per Program”, “Cost per New Name” and “Cost per Success” information in the Program Performance Report.
  2. Time Filter: In addition to providing ROI, period cost also serves as a “timeframe” tag to a program as Period Cost requires you to select the month the program is associated to for reporting purposes, and this is being used as a time filter in program reporting. In a Program Performance report, using Period Cost as a filter allows you to choose programs that incurred cost in select months for reporting. Similarly, in MPI dashboard the marketing activity time period selection is based on the period cost month(s) association by default. See screenshot examples below showing “time filter” (by period cost months) in reporting.





Ideally, when you run a Program Performance report you want to see all columns populated with data to ensure optimized program reporting and attribution. An example can be seen below: