Annoying Time Sink of the Month…

Every day there is an annoying thing that I MUST do.  It annoys me that I need to, but as part of running a professional business it must be done.  I discovered the issue about a month ago and have been doing this job manually every day since… all the while thinking about a solution to automating this task out of my life for good.

The Background

Threddies, being both an E-Commerce and Brick and Mortar business, has two distinct buyer’s journeys that start out in very different ways.  In one case, a prospective lead finds us online and is ultimately driven to our website (this journey becomes much more complicated when you consider that a user’s journey could start from Google, Amazon, Etsy, eBay, etc.).  In the other, someone stops by our shop in person… talks to us about the local happenings… and if we’re lucky, makes a purchase. Our end goal is to turn visitors into customers, and even better REPEAT customers. Most of the time, people do not become a customer on the first visit, so our goal is to make them a potential customer, by getting them to sign up for our email list, or at the very least, joining us on their preferred social media platform.  A lot has been written about this Omnichannel retail problem and it was something that we felt we had a fairly good handle on.

We recently have been consolidating our technology stack and introducing processes to make things consistent across all of the sales/leads ‘channels’ that we support.  One area of integration that occured (and ultimately became the root of my current problem) was our choice to move the brick and mortar store to use Shopify POS instead of Square’s offering.  This had many benefits: reduction in payment processing fees, combined CRM and inventory systems, a common user interface for our employees to use across all channels, etc.

The Vexing Problem

The problem that I didn’t see coming involves the collection of emails in our email marketing platform.  We use AWeber and AWeber has both a Square and Shopify integration. We were actively using the Shopify integration to collect emails from our website and the Square integration to collect emails from B&M purchases (We also use the Etsy integration, but the issues with that is a subject for another blog post).  In both cases, we use separate web based sign up forms or the AWeber Atom mobile app (appropriately tagged) to collect email addresses from those that don’t ultimately make a purchase. If you are a Shopify and AWeber user, you should be aware that AWeber’s integration does not support collecting emails that are entered using Shopify’s Newsletter functionality, this was something that I discovered early last year and have built an acceptable workaround for that (I can document this for anyone interested).

After removing Square from the store, I quickly noticed that no emails were being collected from B&M purchases.  Initially, I thought it was a sync issue and that they would eventually show up, but they never did. I did some digging and testing and it seems that the AWeber/Shopify integration was only collecting emails from customers who made a purchase from the website, no emails would ever be added from Shopify POS.  My daily chore of adding emails had begun… even worse, since I was constantly watching what was going on with email adds, I started to notice other issues.

We don’t require users to provide an email address in order to make a purchase, providing a valid phone number will allow you to make a purchase as well.  We do require an email address, however, in order to create a Threddies account which gives the customer access to some additional features that they wouldn’t get otherwise.  I noticed over time that there were many customers that made a purchase without an email and then ended up creating an account with an email at a later date. NONE OF THESE EMAILS WERE BEING CAPTURED!  This was a fairly large problem that required some explaining to our customers when I finally added them all manually to our email list. I did some additional testing and discovered that this same use case occurs when a customer updates their email address from their account.  AWeber never gets the updated email address. This was a particular issue since many of our customers originate from channels that obfuscate their real email addresses (Amazon, eBay, etc.), but then they ultimately warm to us and provide their real email address after making repeat purchases.


I immediately started looking for solutions since manually doing this  every day was a nightmare. The AWeber provided integration is free with an AWeber account, but there are several paid solutions in the Shopify app store.  All of the third party integrations suffered from various issues… either they used polling on a regular interval to collect email addresses rather than being reactive to events occurring in the Shopify ecosystem, or they came with heavy handed tag syncing.  None of them specifically guaranteed the Shopify POS or Newsletter functionality that I desired. Since this problem was/is on my mind every day, I started thinking about the ideal state that I would like to have… tailored email marketing automation that is triggered by the channel that the user originated from.  This is important because the Amazon/eBay/Etsy’s of the world tend to be very restrictive regarding the content of the email that you can send to their users. Due to this, many of the emails sent to customers originating from these channels tends to be manually sent (often through systems that don’t have guaranteed high deliverability like AWeber), rather than automated which takes a crazy amount of time.  I also want intelligence behind tag syncing between Shopify and AWeber. It was clear that none of the existing integrations could meet these needs. This is the problem without an automated solution… for now… Stay tuned!

Using the Physical Web to Drive Subscriber Growth and Engagement

Threddies store front

NOTE: As of December 6, 2018, Google will be discontinuing Nearby Notifications on Android, making much of the information in this post no longer relevant.  Read more here.

Threddies recently made the transition from existing online only to having a B&M boutique shop.  The Threddies shop specializes in items that are noticeably distinct from the online offerings and this posed a challenge for email marketing efforts.  What was the best way to approach introducing the new store to existing customers?  How could we ease new customers of the boutique into the existing Threddies email campaign?  Would existing online customers (who are spread around the world) even care about the physical location?

Establishing the baseline

Many of the questions regarding how to actually structure the effort using our email marketing toolkit were quickly answered since AWeber was in the process of rolling out its segmenting on tags feature.  We knew we didn’t want to maintain separate lists for online customers and those who frequented the shop.  We also wanted to be able to easily keep all of our customers up to date about sales that were happening in the online store or new items from the shop that we intended to also sell in the online store.  What was very clear was that we did not want to bombard online customers with information that would only really be relevant to people who could actually visit our physical location.

We sent one email to all customers informing them of the plan to open the B&M storefront and directed anyone who was interested in more information to use an alternate signup form that we created with a tag that denoted their interest.  This would add new subscribers with the appropriate tag, but would also update existing subscribers to have the tag that we were going to key off of in order to send email with information specific to the boutique.  We now had the ability to send targeted emails to those who actually cared about the physical store.  That was great for existing customers, but it wasn’t really the best way to get visitors to the store signed up to our list.

Growing the local customer base

If someone made a purchase in the store, they would automatically be added to our marketing efforts, but we noticed in the early days, that a lot of people were stopping in and just browsing as we were tweaking the shop layout and products that were for sale.  We wanted to be sure that anyone who stopped in early on and wasn’t ‘converted’ would still have incentive to come back as the concept was evolving.  Setting up a device running AWeber’s Atom with the appropriate tag pre-filled was an option, but the shop is small and that would take up space that we could use for more merchandise and initial indications were that people weren’t going to be very proactive about signing up and would need to be instructed to do so.  Wouldn’t it be great if there was a way to inform any visitor to the shop that we have a way for them to register for more information without someone directing them to a tablet in the corner of the store?  Wouldn’t it be great if they could do all this from the device that they already have in their pocket?

Enter the Physical Web

I had been playing around with beacons and thought using them to solve this dilemma would be a good experiment.  A beacon is a Bluetooth Low Energy device, capable of broadcasting information.  Since it uses Bluetooth, the range of that broadcast is limited to a fairly small area and the beacon broadcast power can be tweaked to adjust that range.  There are two main competing beacon standards: iBeacon (favored by Apple) and Eddystone (an open standard developed by Google).  Android and iOS devices can use both standards, but iBeacon requires that an app be written to specifically interact with the beacon.  Eddystone has a URL format which has become the cornerstone of the Physical Web.  Android devices can interact natively with Eddystone-URL and iOS devices can do the same using the Chrome browser.  I already had some Estimote beacons which support both iBeacon and Eddystone, so I configured one to broadcast the Eddystone-URL format.

Setting up the beacon

Estimote provides an Android app and Web UI to configure their beacons but any beacon that supports Eddystone will have a similar configuration process that is manufacturer specific.  I’ll outline the basic steps without explicitly discussing the exact process required by my beacon manufacturer.

The first thing you’ll want to do is make sure the beacon is broadcasting Eddystone packets and more specifically the Eddystone-URL format.  This format requires a URL that holds the content of what you want to broadcast.  I used the URL for my web signup form that was configured to tag subscribers as being interested in the physical storefront.  You will need to configure the beacon to broadcast this URL as well.  The url cannot be bigger than 17 bytes, so you’ll likely need to use an URL shortener in order to accomplish this.  I like as it provides a nice dashboard with some metrics about your shortened URLs.  Once everything is configured, and your beacon is properly broadcasting the Eddystone-URL format, you should see a ‘nearby’ notification on any reasonably recent Android device.

When someone clicks on this notification, they will be directed to your signup form.

Now you can place your beacon in the location where you would like to broadcast your physical web location and adjust its broadcasting power accordingly.  Prepare to answer questions, as you’ll likely have someone who sees your ‘nearby’ notification for the first time and is curious about what exactly is happening.

Beacon of Hope

I’m still analyzing data regarding the effectiveness of this approach.  It’s not perfect because not every device supports it without additional configuration, but adopting a standards approach like this allows others using Eddystone beacons and the Physical Web to aid in familiarizing customers with this technology and help drive adoption.

Moving forward, I’ll likely use this in conjunction with a dedicated Threddies app allowing use of more beacon functionality while providing additional opportunities for engagement.  If you have any questions about using beacons or general discussion about the Physical Web, feel free to reach out, I’d love to hear from you.