Skip navigation
All Places > Certification Study Group > Blog > 2019 > November
2019

A typical lead scoring model usually means either of the following two approaches

 

  • A list/combination of triggered campaigns
  • A sequence of demographic/firmographic campaigns, and a group of behavior scoring campaigns

Scoring, as one of the prominent tactics of modern marketing, keeps evolving, forever. So does the database size. When leads start to accumulate, the pressure on these sequence campaigns increase. We don’t need to wait long enough to start seeing campaign queues and delays.

 

 

Multiple triggers, redundant processing, and more evolving factors, compliment the challenge. Certain steps can help address the limitations of this climate, and we try to list a few below -

 

Split campaign-sequence dimension-wise

Instead of requesting all campaigns one after another, design the campaign sequence to only react to people, who it requires to react for.


 

Use Fields (instead of smart lists (and nested smart lists(and very nested smart lists)))

 

 

A combination of multiple filters is not incorrect, however when we use too many filters (e.g. 9 filters in the snapshot above) - with addition of heavy nested smart lists and a fairly complicated criteria, the processing takes time.

If we can tag a field with a value, whenever the criteria data points change to make the records qualified, we can reference one field, instead of complicated combinations of filters.

 

Centralize triggers

 

A single trigger (say, person is created) may be used in multiple campaigns. We often see that it’s used to trigger scoring in one program, update lifecycle stages in other, and trigger governance in another. This is also one of the reasons of processing issues. The same trigger used multiple times, maybe causing some redundancy.

It's better to centralize these into one entry-campaign.

Simplify smart campaign settings

 

A lot of behavior scoring campaigns are usually set to run every time. Even "visits webpage" runs every time in many instances today. We could also have this run once every hour, and set a minimum limit for the activity. A thumb rule some of us use is to avoid "run every time" as much as possible.

 

Consider Segmentation

 

If there's a criteria you need to apply to a significant count of records in database and would be used very frequently, do not use a smart list for the same. Consider segmentations - these are faster for processing versus smart lists with the same filters. E.g. Marketing Eligible Segmentation, or say, to accommodate privacy compliance, e.g. GDPR, CASL etc

 

A smart list with the following rule-set is slower to process, versus the same rule-set within a segmentation.

 

 

Measurement mechanism ideas

 

  • Append a field with date-time when processing of a program starts, and another when it ends
  • A while later, an export of records which have gone through the model, would have these two stamps, and we can calculate the average time taken, per XXX records.
  • Post implementing the changes, we can compare the time duration of processing for the same # of records.

 

The following report let’s you monitor for how your smart campaigns are performing

Campaign Activity Report - Marketo Docs - Product Documentation 

 

 

If there are any good approaches you have tried which helped in processing speed, please share! Also, do refer Load Balancing in Marketo and Marketing Automation - Marketing Rockstar Guides  if you have've yet.

Abhishek Chandra

Program Template

Posted by Abhishek Chandra Nov 5, 2019

As we know Marketo programs are very powerful tool to manage the marketing assets and track the campaign performance. To get most out of the Marketo programs, we need to make sure that it should be set up properly along with all the components like Period cost, Channels, Program status etc.

 

While including all the components in a program is necessary, it is also equally important that we must organize the programs in Marketo instance optimally.

 

One of the best practices to organize it is to define a program template, which helps how we organize the assets used in program and campaigns and progressions associated with program.

 

Here is how the program template can be defined and it includes:

• Asset folder – includes all the assets like email, landing pages, lists etc. required in the program

• Campaigns – includes all the campaigns

   o Email campaigns - batch or triggered build in the program

   o Progressions – for each program we include a channel to define the member status, progression folder will include       all the trigger campaigns build to update the member statuses

• Reports – though reports are part of assets but to optimize the program for quicker audit, we kept it as different folder

 

This is one of the best practice and it helps in managing the consistent structure across the instance and it also helps in saving a lot of time.

 

Everytime you need to create a program, just clone the template and start customizing. I would like to suggest that based on your requirements create a template for each type of program so that it becomes even more easier to create new programs