My name is Jeanette Woodburn, Iโm a Senior Marketing Operations Manager at Iterableโwhich means my job is, well, Iterable.
After a previous career as a fundraiser and marketer in museums and other fun nonprofits, I decided to give startup life a try, and made the shift to lifecycle and CRM marketing. Iโm a huge fan of IterableโIโve implemented our product twice in previous roles (shoutout to customers HopSkipDrive and BURST Oral Care).
Now, my day-to-day involves working with our customer marketing projectโthe instance of our own product we use to market to our customersโand continue to expand its functionality to showcase the rich capabilities of our product.
But, recently, as I dug into our project, I realized there were some optimizations we could do to make our own day-to-day a lot easier and efficient. I figured sharing my experience might be helpful for others using Iterable, so letโs get into it.
Intro to Iterable Projects
Iterable projects are essentially buckets that hold separate data. So, for example, if your brand is an umbrella brand with multiple smaller brands under it, each brand could be its own project. Or, maybe you have two audiences that need to stay really separate to manage separate experiences with your brandsโlike buyers and sellersโor, maybe you have a live instance and a sandbox instance.
The Iterable project architecture also allows you to maintain control of accessโso, if your different projects are different brands, someone working with one brand canโt accidentally make changes to another brand. And, since API keys and other integrations are set up on a project by project basis, you wonโt unintentionally cross your data streams.
But you can share resources across projects so no one has to take up a second career in wheel (re)invention. So, for example, email templates and journeys can be cloned across projects within the same organization.
My Experienceโas an IteratorโWith Iterable Projects
Now itโs time to get a little meta. Our customer marketing project kicked off when Iterable itself was only a few years old. Through experimentation and rapid growth, over time, the project accumulated some issues. (How many ways can you label a firstName field? We had nine.)
To be clear, this is very normal for any project that grows with a company. We’ve all had to move quickly at one point or another and were forced to choose the quickest path instead of the methodical, no-stone-unturned path.
All of that hampered our ability to leverage some of Iterableโs greatest features. For example, starting an email with โHello {{firstName}}โ is treacherous if you donโt know whether you should be using {{first_name}} or {{First_Name}}.
Ultimately, to tackle these issues we decided the best route would be to start fresh. A new org and project(s) would allow us to start over with a revised data schema, and choose what betas we want to participate in and when. I was also able to start instating and documenting processes so that we wonโt accumulate as many zombie or bonus items going forward.
Selecting the Data to Migrate
Hand in hand with how youโre passing data is what data youโre sending. Some advice for those getting ready for an Iterable (or really any) implementation: minimalism is your friend. We stripped our data schema down to the bare necessities for building segmentation. Initially, we also restricted the project to one audience: our customers. Both these things made it dramatically easier to ensure that the sync I built was functioning properly.
I went through multiple drafts until I was satisfied with the data schema. To make it easier to navigate the user profile data, I grouped data fields of similar purpose or sources under the same object. For example, anything like accountId or accountType was placed under the โaccountโ object.
It was also important to me that our naming was consistent. All data fields were named with camelCase because Iterable is case-sensitive. This may seem like a minor detail to fixate on, but it makes things like inserting merge fields, or building new routes for your data much easier when you donโt have to look back every time to see whether itโs Id or ID.

Turning on Events
Once user profile data (what I sometimes think of as the flat data) was flowing, we also needed to turn on events. Examples of event data include things like when a user clicks an email or makes a purchase, but Iterable also offers custom events that customers can build to track everything from a user signing in, to viewing a page in an app. You can also set up event fields under a custom event to track things like the date something happened, or which page was viewed.
Events provide a richer understanding of your users. While itโs nice to know that Sally has two dogs and lives near Los Angeles, knowing recent events in Sallyโs historyโlike she just checked out your webpage selling your companyโs new dog foodโmeans you can craft a better experience to market to her (at leastโฆyou can with Iterable).
I took the approach of only allowing into the project what was necessaryโI didnโt want the clutter of events we donโt need. The first priority was events we wanted to use to trigger a journey (like when a user signed in to our platform).
Enjoying the Fruits of Our Labor
Itโs amazing looking back on the โbeforeโ of this project, and realizing how far weโve come. Thanks to the data schema management beta, Iโve been able to keep fewer bonus fields from entering our production project.
While we continue to deploy new user profile fields and events, weโve got an established process for testing and releasing them, and we continue to build on our segmentation and personalization capabilities, and have even started moving in audiences beyond our customers.
And Iโm even more thrilled that some things I once categorized as โsomedayโ have now very much entered the realm of the possible. Iโve started playing with catalog to support a product usage summary email (and a growing list of other use cases).
Weโre starting the process of bringing in event data that is more conversion-related (rather than what we need to kick off a journey) so we can start playing with some of our fancy AI toys like predictive goals.
Plus, best of all (at least to me!), our new org has reached the maturity level where I get to pre-beta new features and can actually give meaningful feedback. Win-win.
To learn more about Iterable and how you can get started, schedule a demo today.
