The Challenge

Our challenge is a pretty universal one for Modern Marketers: to get the most helpful and informative content to the right people.

 

Goals

The goal of this project was to create a global preference center that would allow our marketers to better segment our audience by aligning email marketing content with their choices. Because our audience is global and our company has a design-focused culture, I created a custom preference center so that we could maintain multiple language versions and control the page design.

 

Email group: The first thing to consider was the existing Email Groups. We had three existing groups for industry thought leadership, product training and a general content marketing group. We decided to add a fourth for events and conferences. We are in the process of bringing on new teams to our instance of Eloqua and plan to add new Email Groups as needed.

 

Footers: We decided to make some changes to our footers as part of this project. Previously, we had a standard generic footer for all groups with a link to an Opt-out form. Our new footers would be unique to each group and would specify, for the customer, which category the email belongs to, along with a link to Unsubscribe from that group. A separate link would be included to manage all Email preferences with the Preference Center page.

 

Web Data Lookups /JavaScript:  As the title of this post suggests, I built a custom page using web data lookups and JavaScript. The DLPrepop article on Topliners was helpful in gaining an understanding of how Web Lookups could be used. But unlike the example given in that article, I chose not to use the cookie as the unique identifier because we could not assume everyone will be visiting the Preference Center page from a browser with the correct cookie, or any cookie for that matter.  What we can assume is that the contact will be visiting the page from an Email Footer hyperlink and we want everyone to be able to update their preferences. So instead, I implemented a solution using QueryStrings to pass the necessary data to the page for the lookup.

 

 

Implementation

Prerequisite: To implement this project you’ll likely need Customer Admin level access to your instance, the ability to hack some JavaScript code together and an understanding of Email Groups, Footers and Field Merges.

 

Step 1: Email Groups

If you aren’t familiar with how to create an Email Group, the Oracle Eloqua Help Center has step by step instructions. One thing to note for this project is that each Email Group has a GUID for both the Subscribe and Unsubscribe Status. This will be useful later. Access the GUIDs by clicking on the information button to the right of the Email Group Name.

emailgroup.png

 

 

Step 2: Footers

Here is an example of a Footer for our new Events and Conferences Email Group:

footer.png

 

The Unsubscribe hyperlink is enabled as a System Action to unsubscribe from the Email Group.

footerlink.png

The Email Preferences hyperlink includes a QueryString and Field Merges to pass the required data to the Preference Center page.

 

 

Step 3: Web Data Lookups

Navigate to Assets  > Website Setup  >  Web Data Lookup

From the Get Started bar, select  Data Lookup >  New Data Lookup.

Eloqua offers several Data Lookup types. To retrieve Email Group Subscription Preferences choose Contact Group Memberships.

lookup1.png

 

You’ll need to choose a unique identifier to do the Lookup. I started with Email Address but with one addition I’ll show in the next step.  Save your Lookup.

lookup2.png

 

After saving, you’ll see that you can add criteria for the Lookup.

lookup3.png

This is important for security; I used a QueryString to pass the identifier to the page for the lookup. If we pass only Email Address, then it would be possible to pull records by plugging different Email Address values into the URL. Luckily, Eloqua has another unique identifier on each contact record called Eloqua Contact ID. By using both criteria, the QueryString cannot be guessed by a third party and must come from an Eloqua generated Email (at least initially, it could be shared or bookmarked).

lookup4.png

Save your lookup again. Eloqua helpfully provides example JavaScript needed to interact with your new Lookup.

Navigate to Data Lookup Options  > Get Data Lookup Scripts

lookup5.png

lookup6.png

 

Here you’ll need a bit of understanding of how to edit some code, which is beyond the scope of this post. Some links will be provided in the References section below. The important thing to note here is that the GUID you need to pass to the GetElqGroupMembershipStatus() method is from the Email Group information button in Step 1.

 

In this example, I set the form checkbox to be checked if the contact is not Unsubscribed.

jscode.png

 

The end result is a simple form with a few checkboxes that let our contacts Opt-Out and Opt-In to the content they find interesting.

Example:

eventcb.png

 

 

Conclusion

The Preference Center has been live for a couple of months now. One interesting result relates to the new Email Group we added. By segmenting this content (Events and Conferences) we can see that it was a large part of our overall Sends during this time (38%). It also has a relatively low Unsubscribe rate compared to our other categories (0.19% vs 0.40%). Also, the general marketing group has seen a subsequent jump in the Unsubscribe Rate now that the Events content has been removed. By implementing this project we have taken a step towards improving our user experience. Our next steps will be to look for additional content categories to segment with the goal of getting all categories to the benchmark Unsubscribe Rate for our industry.

 

 

References

Oracle Marketing Cloud Academy:  All Fundamental and RPM Series, Advanced Segmentation, Web Profiling and Custom Subscription Management

 

Oracle Eloqua Help Center:  Email Groups, Footers and Web Data Lookup Scripting

http://docs.oracle.com/cloud/latest/marketingcs_gs/OMCAA/index.html#Help/EmailGroups/Tasks/CreatingEmailGroups.htm

http://docs.oracle.com/cloud/latest/marketingcs_gs/OMCAA/index.html#Help/EmailFooter/EmailFooters.htm

http://docs.oracle.com/cloud/latest/marketingcs_gs/OMCAA/index.html#Help/General/TrackingScripts/DataLookups.htm

 

Topliners: Field Merge and Web Data Lookups

https://community.oracle.com/thread/3663551?tstart=0

https://community.oracle.com/community/topliners/do-it/blog/2012/03/09/dlprepop-double-data-lookup-from-cookie-with-form-checkbox-prepop-and-eloqua-asyncronous-tracking-scripts

 

Eloqua Artisan: Query Strings and JavaScript

http://eloqua.blogspot.com/2009/04/tracking-lead-sources-through-query.html