Friday, July 31, 2015

Feed Sift (07/31/2015)


-1-

ENGADGET.COM -- The US wants cars to 'talk' to each other, sooner rather than later

-2-

SETHGODIN.TYPEPAD.COM -- How to go faster

-3-

TWISTEDSIFTER.COM -- A Film Editor’s Take on the Rube Goldberg Machine

-4-

ARCHITECTURALDIGEST.COM -- Rooftops and Terraces (Slideshow)

-5-

MORNINGDEVOTION.OASISMEDIASERVICES.COM -- Giving life

Friday, July 24, 2015

Feed Sift (07/24/2015)


-1-

SETHGODIN.TYPEPAD.COM -- Why do you do it this way?

-2-

ENGADGET.COM -- Google researchers create amazing timelapses from public photos

-3-

TWISTEDSIFTER.COM -- Recycled Animation Sequences from Famous Disney Films

-4-

ARCHITECTURALDIGEST.COM -- Best Hotel Pools (Slideshow)

-5-

COOLORS.CO -- Create Awesome Color Palettes

Using the SQL DELETE function in ExactTarget Queries

The Salesforce Marketing Cloud (aka ExactTarget) offers you the ability to write your own SQL statements to pull together data from multiple Data Extensions (tables) into a single table.  It's really handy and quite powerful in its ability to write complicated JOINS. (It's also great for writing small queries against a Data Extension to update that same data extension - that is, you don't have to do it all in one massive SELECT - instead, you can write lots of little ones, each drawing from a different table if you need to.)

However, everything you want to do has to be done with the SELECT statement depending on where you target the output (to itself, to another table) and the method of write (APPEND, OVERWRITE, UPDATE) allows you to approximate UPDATE and INSERT but there's no native DELETE functionality.

That's probably a way to protect us from ourselves - DELETE Is a pretty dangerous command.

You could always overwrite the data with something you don't want or something that would be ignored by your AmpScript or the mailing engine, but what if you truly want to delete some content within your table?

Here's my quick trick.

Scenario (completely made-up for the purposes of this post):

I have a number of different emails that I want to send my subscribers.

  • Balance Transfer Confirmations
  • Loan Approvals
  • Loan Rejections
  • Statements Available Online

They don't need to instantaneous (they're not a password reset) and usually, there will be a batch. The new records could come from an automated process (some other system drops records on the FTP server) or manual (a personal uploads files to the FTP server).

The business could create new message types (maybe "non-sufficient funds" or something) at any time.  They may have an audience ready to go at the same time they first inform me about the new message.  They need to be able to tell me that they've uploaded a new audience and provide me the design of the email.  (They can't be expected to wait for a new process with new instructions on how to upload and keep track of lots of different methods of uploading.)

I don't want to use an API because it doesn't need to be instantaneous and because I want more visibiility and prefer the reporting of automated sends versus triggered sends.

How to Manage:

I need a pool or queue where new recipients can wait (with their data) until sent.  Once sent, they need to be removed from the queue so that the queue remains lean and there's no risk of double-mailing - it should only contain people not-yet-mailed. (This will also show me if a new message type has been introduced that they didn't tell me about or if a particular message is failing.)

So I have a Data Extension with "Message ID", "Subscriber Key", "Data1", "Data2", "Data3", etc. An automation pours in new records as it receives them on the FTP site (whether placed there by an external process or by a person).

Process:

So essentially, I need:

(1) Find new records for a message type in the queue.
(2) Mail those records.
(3) Remove them from the queue.

How?

(1a) Select matching records by message ID
(1b) and copy them into a message-specific table as an overwrite (the table is blanked out so only new records appear in it)
(2) Mail that table (with optional suppression from 3b)
(3a) Remove them from the queue.
(3b) Optionally add them to a suppression (if it's a message they can only receive once ever) or to a historic log (so that I can see what I sent when for compliance purposes)

Everything about this is super-easy except 3a: Remove them from the queue.

Actually, that's easy as well.

Create the Effect of a DELETE function using only SELECT

You'll do this by using two tables.  Copy the records you want to keep from table a to table b and then copy table b back to table a.

Step 1: Create a new data extension.  It should be based on your existing data extension.  If your original DE is "queue" then call it "queue_transit"

Step 2: Create a new query called "queue_reduce_balancexferconf".  It should simply be
select * from queue where messageID<>'balancexferconf'
(where 'balancexferconf' is your messageID)
and it should be set to "OVERWRITE" and target "queue_transit"

Step 3: Create a new query called "queue_update".  It should simply be
select * from queue_transit
and it should be set to OVERWRITE and target "queue"

Step 4: Create a program (or add to your existing program) that runs
- query: queue_reduce_balancexferconf
- query: queue_update

And that's it.  These will run really quickly because your pool will remain small.

You will need a new query for step 2 for each message, but it beats re-creating the intake process (file locations, trigger, import, data extension, documentation, training, meetings, etc.) for each and every message that the business wants to quickly add.


Thursday, July 16, 2015

I Don't Work Here (A Work-Related Post)

(Also posted on LinkedIn)



Well, I'm biting the bullet.  I'm going back to the cable company.  A few years ago, the phone company offered us a better deal on the phone-internet-tv bundle (with the TV being supplied by a well-known satellite TV provider).
And then over time, we began cutting cables.  We dropped satellite in favor of internet TV and then dropped the landline in favor of our cell phones.  
Suddenly, internet from the phone company wasn't a good deal.  No more bundling discounts, no more introductory rate.  And it was failing us as useful, reliable internet, especially uploading (Flickr, FTP for work and outbound wifi calling on our cell phones).
So, the internet company once again looked like the better deal.  I could purchase my own modem, so all I needed them to do was "flip the switch."  Or at least it seemed almost that easy in my mind.
I argued with countless online chat folks, canceled several in-progress orders and finally turned to social media.  I was in regular contact with someone on their Twitter feed who said that they could turn on service for us.  No installation charge, no sending anyone to the house.  They could just flip the switch.  Cool.
And then they went radio silent.  Not sure why.  Possibly lost in a Hootsuite backlog or something.  So I called in to the cable company.
And finally, finally, finally, someone explained why there might be a need to have someone come to the house. A good, solid, reasonable answer I could accept. In most houses, cable outlets are already where people want them.  So when people switch from cable to satellite, the satellite guys will often cut the cable line and splice in their satellite.  So even if the cable company flips the switch, the line is broken somewhere.
Duh. That makes so much sense.
But me, as a customer, didn't think of that. I only saw a company (not well-liked by a majority of its customers) trying to squeeze an extra $50 out of me.
Finally, an answer that made sense.  So they went ahead anyway and tried to see if they could flip the switch. And they scheduled a technician as a backup, just in case it didn't work.
And I'm satisfied with the $50 charge I'll be paying for a technician.  (The line was cut, I attempted to slice it myself but it didn't work as the modem hasn't sprung to life.)
And I'm happier because I feel more informed.
The people in the online chat never bothered to offer up this kind of information. And I'm probably not the only one who's wondered about this.
Is there any parts of your customer service process that have become so second nature to you that you forget that your customers aren't clued in? Is there any place where taking a few more seconds to understand where they're coming from will help you to create a more well-informed, satisfied customer? Are you surveying your customers in a meaningful way where you can find these kinds of gaps and questions and work to address them proactively going forward?
Never get too far from your customer, never stop stepping into your customer's shoes. And don't say tell me "this call may be monitored or recorded for quality or training purposes" is the answer because that's too passive.  That doesn't automatically guarantee growth, improvement and movement towards awesome customer service experiences.

Wednesday, July 08, 2015

#upgraded @pandora_radio - Share Email

I love Pandora.  I've been a listener for years.  I'd probably pay for a membership if I weren't scared I'd doom them.  It wasn't too long after I finally subscribed to LAUNCHcast (aka Yahoo! Music) that they closed that offering.

I heard a song the other day that I liked.  Lazy that I am, I just shared it with myself instead of writing it down.  Here's the email I got:

click to enlarge

Yep, that's it. Just some text.  The second line was the text I wrote in.   It could be so much better.

So, unsolicited, I took it upon myself to redesign the email.  Call it free consulting, or just a chance to be creative.

click to enlarge

Features of my revised email:

  • Stronger Pandora branding
     
  • A chance to connect with the person who sent you the song in the first place (their name is a link to their profile - that also lets you see what Pandora's all about)
     
  • A clearer delineation between what came from Pandora's servers and what is user-generated-content -- black text in a white box -- helpful if the "friend" spams you or is in some other way abusive
     
  • More content about the song.  Unfortunately, Pandora's licenses prevent On-Demand streaming, so you can't actually listen to the exact song you've clicked in to, but you can create a station of similar music (and eventually hear it) as well as other activities related to the song. This part of the email is a screen-grab from their existing profile for the song (the other option for sharing is a station) and shows you some of the power in Pandora's genome project and gives you additonal song choices)
     
  • A more complete footer - information about Pandora to make it more CAN-SPAM compliant as well as additional important options missing from the previous version (the ability to report someone for using Pandora to send spam as well as the ability to block all future sharing if you just really hate music)
To be honest, this is a pretty basic Photoshop edit.  I didn't spend a lot of time thinking about responsive design, but their website and their emails are already designed to look good no matter the screen size, so by leveraging their existing design language for my proposed redesign, it probably would work without too much trouble.  (It's definitely wider than I would do if I were building it from scratch.)

(I was inspired by the person who redesigned the Twitter emails a few years ago - Twitter adopted their designs or took note of their suggestions.  Sadly, I can't find the post now.)


Tuesday, July 07, 2015

Tip: Domain Counts within a Data Extension (ET/SFMC)

Here's a quick tip for those who work within the ExactTarget (Salesforce Marketing Cloud) platform.

If you've got a large Data Extension and you want to know the counts by domain, do this:

(1) Create a new Data Extension called "DomainCounts" with two fields:
a. Domain (text, 254 characters, nullable)
b. DomainCount (number, nullable)

(2) Create the following query:

SELECT TOP 100000000 SUBSTRING(e.EmailAddress, (CHARINDEX('@',e.EmailAddress)+1),LEN(e.EmailAddress) - CHARINDEX ('@', e.EmailAddress)) AS Domain, COUNT(*) as DomainCount
FROM [20150702_WidgetSale] e
GROUP BY SUBSTRING(e.EmailAddress, (CHARINDEX('@',e.EmailAddress)+1),LEN(e.EmailAddress) - CHARINDEX ('@', e.EmailAddress))
ORDER by DomainCount DESC


Replace "20150702_WidgetSale" with the name of the Data Extension you want to analyze.  Point the results at "DomainCounts" as Overwrite.

(This assumes that your Data Extension has a field called "EmailAddress".)

Save and run your query.

You will end up with a data extension containing the top 200 domains.  If you export the data extension, you'll have all of the domains.

Kicking Me Out of the Club (A Work-Related Post)

(Also posted on LinkedIn)


Sometimes, you can choose your customers.  You make it clear who your target audience is and most people will clearly understand if they should self-select in, or pass on by.
Sometimes you cast the net pretty wide. You roll out the welcome mat and invite everyone in.  Here's our experience, here's our price, take it or leave it.

That's not necessarily a bad thing. 

But let's say you have a customer in good standing - they haven't purchased in awhile. But they've given you their email address and some other demographic information. They aren't causing problems for customer service, and as far as you know, they were satisfied with their last purchase. (You might even notice that they sent a complimentary Tweet about the experience.)
Why on earth would you do anything to make them think negatively about you and risk future business?

A few years ago for our anniversary, my wife and I stayed at a hotel we'd never stayed at before. It wasn't part of The Official Hotel Chain of the Lamb Family, but it was the right hotel at the right price in the right place for the events we had planned. At the front desk, they encouraged us to sign-up for their membership program and we said "Sure, why not?"  We didn't know what our future plans were, but if you can earn points towards free stuff, we didn't see the harm.  They also moved us 10 floors higher in the hotel and I tweeted out a thanks for that.
Fast-forward almost three years. We haven't had another stay in that hotel chain since. We just don't have opportunity to travel or stay in hotels much, it's mostly just the one time a year. So as we approach our anniversary, I start receiving emails from the hotel chain telling us that they're about to close our account and we'll lose all our points.  (Oh, I can book a stay, buy points or get their credit card if I want to keep my points. And guess which two are links in th email.)

Really? 

You're going to kick me out?

As near as I can tell, the cost to keep me on file is next to nothing.  The cost to send emails every so often to keep their name top of mind and that's about it.

Instead, I'll probably receive more of these emails over the coming months, seeming more and more frantic and then one day, the points will be gone. And then the next time I go to book a hotel, I'll subconciously rule out the chain that kicked me out of the club.

Look at your business. Do you have any practices that are inadvertently designed to limit future business with fringe customers who aren't a cost burden now but could generate future profit?  Are you doing anything that will cause bad word of mouth? 

Exclusivity, scarcity and deadlines may be great tools to motivate that first sale but sometimes they make lousy retention practices.
You're going to kick me out? Fine. See if I care. I didn't want to be in your stupid club anyhow.  

Sunday, July 05, 2015

A Prayer for Protection

1 Hear my cry, O God;
listen to my prayer!
2 In despair and far from home
I call to you!
Take me to a safe refuge,
3 for you are my protector,
my strong defense against my enemies.
4 Let me live in your sanctuary all my life;
let me find safety under your wings.
5 You have heard my promises, O God,
and you have given me what belongs to those who honor you.
6 Add many years to the king's life;
let him live on and on!
7 May he rule forever in your presence, O God;
protect him with your constant love and faithfulness.
8 So I will always sing praises to you,
as I offer you daily what I have promised.
Psalm 91 (GNTD)

This was the focus of this morning's sermon in church.  It's thought that this was written by David while he was on the run, seeking to keep distance between himself and his son Absalom, lest Absalom kill David or David be forced to kill Absalom.  (Absalom was seeking to dethrone David.) It wasn't the point of the sermon, but it occurred to me that David spent a lot of his life running.

Before it had been King Saul who wished to kill him to prevent him from succeeding him on the throne and now his own son had him on the run.

He actually lived 70 years, ruled for 40 and had 8 wives.  But he also spent a lot of time on the run.  It doesn't seem like it when you just quickly read the Bible, but to think of it playing out in real time, that was a lot of time spent living in caves.

So I guess the point is that sometimes it feels like it's difficult to be hopeful, or that at some point one is too old to reinvent themselves or try something new, but really, on average, people have a lot of live available to them.  Too often trying to live a day at a time, or live short to short goals, you put your head down and forget andwhen you pick it up, you're left wondering where the time has gone.

The intended message, something else entirely, was also good - it was about times when God feels far away or when you're struggling.  Confirming a trust in God, but at the same time, pleading for relief. Recognizing God's provision in terms of refuge and sanctuary (a place of safety) as well as a strong defense (a place from which to attack) and a reminder that He's always with us, no matter how things seem to be going.

It was interesting because it was one of those "warning" type sermons - those reminders that we will face trials and they can strain our faith.  I felt myself sitting there thinking that I've seen enough that my faith can't be shaken.  We've had trials, most of them we've seen the other side.  But what we face now (I was thinking mostly of the continued horrid sleep but I guess could also apply to what we're dealing with with our children, especially Ben) doesn't even seem like a trial.  More of just a dull wearing. Not Jobsian by any stretch, but just a constant dull torture for unknown reasons (especially the sleep part).

So I feel like my response to trials has simply become "Ok, here we go again." or "Boy, this sucks."  I don't mean I have this solid faith where I have no questions or no doubts, but as we load up to head to the ER the fear is gone.  I still struggle mightily and repeatedly with the sins of things I do not want to do and yet do and that which I ought to do but do not do.  But I guess what I have is a confidence that God is with me no matter what.

The pastor also talked about not appreciating things until we didn't have them (like electricity) but this is an area that I've worked on (or has been impressed upon me) over the past decade or so - being grateful before it's gone.  I think it has become a habit and it's definitely a good one to have in your aresenal.

So what I've been focusing on lately is something from a previous sermon, the idea of not just serving, but serving joyfully.  My response is that I could certainly serve more joyfully if I'd be allowed to get a good night's sleep.  I've been a grumpy crank now for way too long and it would be nice to see if that goes away with decent sleep or if there's some other issue I need to address.

I know this has been a bit rambly. But I'll possibly chalk it up to poor sleep.  But I think there are a few truths:

- There's lots of opportunity in life as long as we're looking for it, making it, seizing it.
- We are not promised a life without trials.
- God is always with us and will provide strength and comfort in the trials.
- A life of practiced thankfulness is a much more enjoyable life.

Thursday, July 02, 2015

Confused... @allrecipes @parentsmagazine @meredithcorp @cdsglobal

Wow.. this is all kinds of wrong.  Let's talk about all the ways this is messed up.  

First, a note. Usually, when someone screws up, I like to try to use them as an anonymous example of what not to do. In this case, I really can't. My mind is blown by how many ways this is wrong.



First, the mail purports to coming from Allrecipes but the address is Allrecipes@order.buysub.com. If you go buysub.com, you get a certificate security alert. Proceed anyway and you get a generic "IBM Server" page. Go to www.buysub.com and get an error. Go to order.buysub.com and get an error. Search for buysub.com on Google and find out that the general front-facing page is at w1.buysub.com. I know that buysub.com is for magazines, I've seen it before. But it's still ridiculous to have this set up so poorly that when you search Google it offers suggested searches like "buysub.com phishing" and "buysub.com scam" and "buysub.com legit".  It is legit, it's part of the backend infrastructure of CDS Global but it doesn't go to any great lengths to make anyone confident about that.  (I know it's not intended to be a forward-facing website, but as soon as you put it in an email address, you should be prepared for possible visitors. Please, please be more savvy.)  

Second, the email address it was sent to was the email address I shared with Parents Magazine, not the email address I should have on file with Allrecipes.  (Sloppy data management? Bad de-duping? I am a former Parents Magazine subscriber and I did purchase a gift subscription to Allrecipes for my wife. Usually I only hear from Allrecipes right before the annual renewal.)

Third, there's no mention of Allrecipes in the email itself, instead just a nearly generic reference to Meredith Publishing, a company few would recognize as the umbrella corp for these brands. Looking at their website, I'm apparently the wrong demographic for either magazine. (Holy cow... that is actually an impressive list of holdings.)

Fourth, it gives reference to CDS Global. Looking at what they do, it seems like they should be a behind-the-scenes company.  Especially if they sent the first erroneous email.  As the back office, they should be invisible. They should be one of those companies that if Fast Company wrote an article about would call "One of the biggest companies you've never heard of, CDS Global is a big, but quiet presence in Des Moines, Iowa" or some such. Hopefully this is a rarity for CDS. 

Fifth, "we are truly sorry for having the email in error." You mean you're sorry for having sent the email, yeah?

Sixth, no customer service contact points.  Sure, inbound phone calls, emails or chats cost money, but so does a loss of confidence, especially when it results in a loss of business.  There should be a way here for people to contact Meredith or Allrecipes.

Seventh, there's no reference to what the email was. What if you haven't seen it yet because you started reading with your newest emails?  Or, you might be like me - you didn't actually receive whatever email they are apologizing for.  

I'm at a loss.  I feel bad for whoever made these mistakes (it's probably the same person, or at least the same team), the apology probably went out to a larger audience than the original email and most likely someone's lost their job or at least been transferred off the Meredith account and put on some kind of probation.  Sucks for them, but what about us? What can we learn from this?


First, this is what happens when you rush. Undoubtedly the first error was severe enough to warrant a second email.  But while someone was working on the second email, they were probably also having to deal with phone calls, text messages, IMs, threats and cajoling and trying to cash checks others had written.  Rushing is like driving too fast.  The stress builds and one unexpected bug splatting against the window and you've driven off the cliff. Do not allow yourself to be rushed. If a process takes specific time and concentration, do not allow yourself to be rushed. Let them make all the decisions, promises and sacrifices they want.  When they're satisfied with their decisions, it's time for them to leave you be to do your work. This isn't triage surgery, this isn't even regular surgery. No one's life is on the line. Slow down and let your people do it right.


Second, this is what happens when you don't have an emergency plan in place. Things happen. If you're not prepared for those moments, then when things go sideways, you're not trying to assess, you're trying to keep your head above water. Plan for success, but also prepare for what could go wrong. It will help you to see and navigate around potential pitfalls and if you do hit a patch of ice, your planning will help you to cooly, calmly steer into the slide and come out the other side aces.


Third, clean up your data practices. Ok, this one isn't as generic a piece of advice, but come on, people... when we share our information with you, that's a sacred trust. Stop being careless with it.

B2B and B2C are really just H2H (A Work-Related Post)

(Also posted on LinkedIn)



Someone recently approached me on LinkedIn - they had worked in the B2C email marketing space, but were thinking of going after a B2B email marketing position.  "What are the differences?" they asked. "What do I need to know to set myself apart in interviews, to show I understand the key differences, especially when it comes to Email Marketing?"
I told them I'd give it some thought and get back to them.  That weekend, I sat down, wrote what turned out to be a long email, and then said I reserved the right to later turn it into a blog post.
These are my thoughts on marketing in the B2B and B2C space...

1. B2C and B2B are both B2C as the subscriber is a human (not a company) and humans like dealing with humans. (B2C and B2B are really both H2H.)

B2B can often actually be more human-intensive than B2C. Where I might be fine to go to Amazon and buy some printer paper, a business will need more guarantee that they’re going to be supported: you can offer them great prices, knowledge about the right kinds of paper for their machines, changes in the paper industry and that they’re not going to be left in a position where they don’t have any printer paper.  And, if they buy new cash registers that you’ll be able to provide paper for them as well without a lot of hassle.  (And that you can scale if they deploy those cash registers to all of their locations at the same time.)

2. The B2B subscriber has more stakeholders to satisfy and will be your partner in selling your solution.

For B2C, it’s easy to create a problem the customer didn’t know existed and then explain why your product is the exact solution.  Think of the formulaic approach of every single infomercial as a blatant example. (Don't you hate it when you make pancakes and they come out a little dark? Your children think you're an idiot, stop respecting you and start doing drugs. Don't let this happen to you!)
However, in B2B, every company really is a unique and special snowflake - no one else has problems like theirs.  Your job is to strike a balance - you have an existing product and you’ll have to figure out how it meets your customer’s need or how they misunderstand their own need (or if they’re willing to pay for a customization). The person you’re engaging with is probably not the decision-maker or the person who writes the checks, so you need to turn that connection into a partner who will help you sell the solution.  So you have to prove you get them, that you comprehend their problem and are smart enough to figure out how to solve for it.

To use the office supplies metaphor again: B2C you’re selling copy paper.  B2B you’re selling confidence - once you’ve sold the subscriber on your solution, he or she has to then sell their boss on the solution - and then you’ve got to deliver because it’s their neck on the line.

3. Maintenance/support is far more important (and lucrative) than acquisition.

This is probably something you’ve had plenty of experience with as it holds true for both B2C and B2B - it’s expensive to acquire someone, but once you’ve acquired them, hopefully you’re making the investment to keep them.  Naturally, you keep an eye on your acquisition and attrition numbers, but hopefully acquisition and retention aren’t channel-specific initiatives but rather broader goals of the entire organization, with the support, strategy and thought-leadership company-wide.  If not, I’d say to run away.  An email acquisition goal is nice, but when it comes time to thinking about retention, it's gotta go beyond the unsubscribe.
If acquisition and retention aren't both broader cross-channel goals for the entire organization, run away.

4. Success breeds success.

Word-of-mouth is absolutely essential. Even if every company is different with different problems, people love the confidence that comes from a colleague or peer in their industry saying “I’ve had success with this company. There’s this guy over there you should call, he’s really helped me a lot.” 
And on the flip side “Don’t go with them. They talk a good talk - slick presentation, nice people. But they can’t execute well.” Or even the dreaded “Their salespeople are awesome, will promise you anything. But once you’ve signed the contract, they don’t care anymore.” People make or break it. In the end, it’s all H2H.

What does this mean for email marketing?

1. Acquisition is tricky:

referrals (I’m happy with B and I want to tell you about them)
warm leads (I think your product might meet my needs and this problem has the priority/urgency within my organization that I’m willing to hand over my email address in exchange for access to your white paper)
medium/cold leads (I’m at the same conference you’re at and I want to win that iPhone so I’ll drop my business card in the fishbowl)
cold leads (Be very careful here - most people can see through cold calls and cold emails.    I just met someone this past weekend who is very successful with cold calling/emails, but it’s because it’s not at scale - he identifies a target, learns all he can before he approaches them so that when he connects with them, they can tell he cares. Before I met him, I didn't think cold calls were possible, effective or even worth my time. But he's rare. Be like him. Don't be like the examples you get in your inbox and mailbox each week.)

Segment and score your leads. Be engaging and relevant. Nothing worse than a completely informal boilerplate letter to someone who was referred by a happy existing customer or an email that comes three months after the conference and is completely irrelevant beyond admitting that they got your email address at a conference.   It’ll be harder to do this at scale.

2. Most effort should be on retention (keep wooing, not selling)

Continue to reinforce the good choice the customer made. Educate, inform. Give your reader a reason to keep reading. Give them a leg-up on their colleagues, even within their organization.  Use it as an opportunity to reinforce your domain knowledge, flexibility and knowledge about the customer. But if it’s all sell, sell, sell, they won’t feel appreciated.  But if they feel you care, you’ll come to mind the next time they have a problem they need help solving.

Does that mean you're stuck having an account manager who personally handles each client?
  Or can you use Email Marketing and take advantages of scale of one-to-many to support your business?

I think you still can.

Part of it may be automations and triggers that support activities the customer performs.

I came to your site and downloaded a white paper. Give me a three-part treatment with additional case studies and an offer to connect me with another customer.

I just signed a contract - tell me what’s next, describe the roles and introduce the people I’ll be working with and how to get support

For a more ad hoc approach, it’s probably the education aspects:
- new features on your platform
- new opportunities (being careful to avoid feeling like you’re just selling)
- spotlights on customers and how you solved a problem for them (case studies)
- best practices
- industry news (not necessarily specific to you)

Today, the lines are really blurring between B2C and B2B.
 I personally have a B with one employee (me) and I’m also the employee of a Fortune 500 company that generates over $5 billion a year in revenue. And yet most B2B emails and postal mail I receive is impersonal and easy to discard, even when I’m a warm lead. 

Or, to put it another way - there are companies who want to book all their travel online without ever dealing with humans and there are families who want to deal with a person who can assure they’re going to have a good trip and if they run into trouble they’ll have someone they can call.  It's good to identify an audience segment. Just make sure you make the time to actually get to know them.
Everyone reading an email is a human.
Everyone reading an email is a human.  Think of your own inbox.  What do you want? Emails that are helpful, emails that encourage, emails that educate.  Emails that reinforce good decisions you’ve already made, emails that help you solve a problem you have. Emails from people or companies that align with your own self-image or represent things you aspire to. Emails that have a clear answer to “What’s In It For Me?”

What don’t you want? Selfish emails that seem to do more for the sender than they do for you. Emails from people or companies that don’t seem to get you or care who you are. Emails that seem disconnected or suggest a split-personality or that clearly have a short-term objective that’s at odds with your objectives.
B2C and B2B are really H2H
So really, in the end, B2C and B2B are really H2H. What you send today is influenced by what you sent last week and will impact the rates of engagement for the email you send next week and will be tinted by the other items around it in your subscriber's inbox.  Be honest, engaging, consistent and always asking “What’s in it for the subscriber who will receive this?” Make it something they open before all the other items in their inbox. (Or at the very minimum, make it something they will open.)