We have a home exchange platform, and are trying to send users weekly digest emails with properties in locations they subscribe to. We want to send them the newest properties added in those locations, and if there aren’t new ones then show them ones that exist. We want the images and info about the property to port over. Also if they added a location we don’t have we wanna show them locations we do that are either also on their list, or are near a location/similar to a location on their wishlist.
Email with recent property listing - how??
Best answer by sophie
We have a similar use case. The first thing to decide is how you want to filter by location, like zip code, state, country.
This is the zero development method we did. Since you’re looking to send a weekly email, it could work well for you.
Step 1 - Location
We collect subscribers’ email address and zip code. We populated subscribers’ state from their zip code. We decided to match subscribers’ to items by state instead of zip code as it was much easier to match to 50 instead of tens of thousands. Zip code radius would be complicated and probably dev work, but matching all the zip codes to counties could be easier and no dev.
Our first campaign in Customer.io was to find their zip code in a collection and then set the person’s state attribute.
We added the Customer.io collection of zip codes from a Google Sheet.
Google Sheet of US zip codes: https://docs.google.com/spreadsheets/d/1KeRSOqXpAoPhc1elzygphFohr6rWbXqKo3wLPdInQD8/edit?usp=sharing
Customer.io Collections doc: https://customer.io/docs/collections/
Wisepops, our popup tool, also has a region field (if person is in US it populates their state) that we used as a backup if the zip code was invalid.
Step 2 - Populate Items
We created a report of live items in our BI, exported, then imported into an Items Google Sheet. We created a collection in Customer.io from the Items Google Sheet.
When a person’s preferences match with items, Customer.io populates the item information into a profile attribute so that it can be accessed in liquid. We also added a filter when Customer.io is querying the collection to check the end date of each item and only include items that are ending in 2+ days.
Query collection doc: https://customer.io/docs/journeys/collections/#first-add-a-query-collection-action-to-your-campaign
We used liquid to populate items, their title, image, state, and item link, within the email body. We also used liquid to populate the first item title into the email subject line. Each email is unique!
While this part is manual, we update the Items Google Sheet once a week and it takes a few minutes to do. When edits are made in the Items Google Sheet, it automatically syncs with Customer.io collection thanks to an Apps Script our Customer.io account manager gave us.
Step 3 - User Preferences
We created a Typeform with two questions.
-
Multi-select states
-
Multi-select item categories
We have a lot of item categories people can choose from. For example, we broke the vehicles category into police vehicles, trucks, EMS vehicles, dump trucks, and buses.
We moved over current preferences into a Typeform readable format so that when existing subscribers wanted to update their preferences, the Typeform pre-selected their current preferences.
Typeform Doc on Pre-selecting Answers:
We used Typeform’s hidden fields to pass over the person’s id so that we could tie their Typeform submission back to their profile without asking them to input their email.
Every email subscription form has at least one item category tied to it based on where it is displaying. The email confirmation email includes the link to the Typeform. If a person hasn’t selected any category preferences, we select category preferences for them based on their behavior, the item categories and locations they are viewing, watching, or bidding on. Whenever they submit the Typeform, it overrides whatever preferences we pre-selected for them.
Maybe Customer.io’s native preference center will allow for location selection in the future. For now, Typeform has been working great for us. We can also see a snapshot of which states and item categories people are selecting.
Bonus:
We’ve since added onto this in order to show popular items in different emails. We export view count of items from Google Analytics, import into the Items Google Sheet and then query the collection based on the item views, showing items with the most views in emails.
Hope that helps!
I’m hoping Customer.io’s objects or data pipelines will enable an automated way of updating items in Customer.io. Hopefully we’ll see soon! 🤞
Reply
Login to the community
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.