A brand new instance of Eloqua runs fast. Assets load quickly, navigation between areas is crisp and contacts flow through campaigns & programs with ease. But over time this can change, especially as your database grows to 10 million, 12 million, 15 million and beyond. System programs that process Contact data bog down, Segments take increasingly longer to generate and navigating around the instance can become frustratingly slow.
Improving the performance of an instance that has already become degraded is a difficult process. Wherever possible, it’s best to adopt practices from the onset to help keep your instance healthy, efficient and running smoothly.
Focusing on two critical areas – Segmentation and Campaign Configuration – can pay big dividends in the long run to help ensure your instance continues to function at its best.
- Be direct. Avoid filters with wildcards or open-ended logic like “contains” or “ends with.” Instead, strive for filters that use “matches” or “is in picklist/quicklist” logic. Open-ended logic is extremely taxing from a database perspective.
- Rely on Shared Lists. Look for opportunities to convert common sets of criteria from filters to Shared Lists and create system-level Programs to maintain these Shared Lists. By doing this, you will be running the database queries once instead of many times over in each active Segment.
For example, you routinely exclude unengaged Contacts from your Segments and do this with a standard Exclusion element that looks for Contacts with no email opens in the last 9 months, no email clicks in the last 6 months, no form submissions in the last 12 months or no web visits in the last 6 months.
Set up a Program with that criteria that adds/removes Contacts from an “unengaged” Shared List and use that as your exclude element in Segments. It’s far more efficient for Eloqua to exclude members of a Shared List, so let Eloqua perform that query once in a Program instead of having to do over and over again in each Segment.
- Try not to refresh. Campaigns set with Segments that refresh on a regular basis can create a needless drain on system performance. Reserve these configurations strictly for Always-On Campaigns that require them, and set the campaigns to refresh on a daily or, at most, twice-daily basis. Hourly Segment refresh frequencies are best saved for data processing canvasses.
- Tighten up Campaign end dates. A Campaign’s end date should align more closely with the conclusion of activity. By default, Campaigns will end 1 year after activation, which in most cases is unnecessarily long. A typical 3-touch welcome campaign, for example, that is activated after an event will run its course in a handful of weeks and responses will diminish sharply a few days after the final email is sent.
An end date 1 – 2 months beyond the final email send date is more than sufficient in these cases and will prevent database resources from having to run pointless queries. The impact of a handful of these is negligible, but for many large global customers this becomes a blind spot. Over time hundreds, perhaps even thousands, of Campaigns are left to run well beyond their need and can silently drag down database performance.
- Rely on Shared Lists. The strategy of converting Shared Filters to Shared Lists described for Segments can also be deployed on Campaigns. If you have a collection of Shared Filters that are routinely placed as decision steps on Campaigns, consider using the “Is in Shared List” decision step instead.
Apply each Filters’ logic once in a set of Programs that maintain Shared Lists. Route members through your Campaigns based on their presence in the Shared Lists instead of requiring Eloqua to perform the same set of calculations repeatedly in Shared Filters in your Campaigns.
These two areas, Segmentation and Campaign Configuration, are closely related and feed on each other when it comes to database efficiency and performance. Simple changes in how these are handled can have profound impacts.
A single Segment or Shared Filter with complex layers of open-ended criteria by itself will only take a fraction longer to run than a lean Segment. But when that criteria is present in a multitude of Segments and Filters, Eloqua can start to slow down. When those Segments and Filters are deployed across a large number of canvasses that remain active for months and months, the slowness can grow from an inconvenience into a real issue.
The most effective way to avoid this over time is to aim for as much efficiency as possible in the Segments and Filters you build, and when complexity is required, set up internal processes that share the fruits of this labor where and when it’s needed. Need additional assistance? Contact us!