Starting a new Alexa skill from scratch

That’s right! I’m going to attempt the impossible.

Since I don’t have a ton of fun smart lights or windows or doors etc etc laying around my house, I figured I’d utilize Alexa for skill planning and time management. My wife and I usually have a “to do” list in our shared google calendar. This to-do list moves every day, if not to the current day then to the day when we will have time to do the things on the list. Sometimes there are busy days when we don’t have anything to do. Sometimes there are free days, and my wife will move the list to that day.

Alexa already has functionality to tell me what’s on my calendar for the day I’m asking about. Alexa doesn’t, however, have functionality to read the description of that event, parse it, and give me a list of everything on my to-do list. (or even add to it and subtract from it.) I’d like to leverage the Google Calendar API and an AWS lambda function to create a skill that will help me to read/write to the calendar and to give me an option to hear the list of things I need to do that day.

So getting started, I need to write out/create my:

  • Intent Schema: Ideas for this include “GetAllDailyItems”, “PeekDoList”, “AllDoList”, “AddToDoList”, “CompleteFromDoList”, “Help”
  • Custom Slot Types: I don’t anticipate needing to create any custom slot types but we will have to see how I can interpret data from the Google calendar API and pass it to the lambda function.
  • Built-In Slots: After a brief review of the built in slots, I might need “Day of the week” and “month”.
  • Sample Utterances:
    • “PeekDoList Alexa, What do I have to do today?”
    • “PeekDoList Alexa, What’s on my to-do list?”
    • “AllDoList Alexa, Read all of my items on my to do list.”
    • “GetAllDailyItems Alexa, What is on my calendar today?”
    • “AddToDoList Alexa, put {item} on my calendar do list today.”
    • “CompleteFromDoList Alexa, mark {item} on my calendar do list as complete.”
    • “Help Alexa, help.”
  • A Visual Representation of The Menu/Model: I’ll take a stab at this after setting up the intents and samples properly.
  • Companion App Cards: Not sure if this will be needed as the visual representation will be right in the google calendar.

I’m sure this will be messy but we’ll try to get it done.

Playing with Alexa

Today I started working on a new project – writing a simple trivia game to be played using Amazon’s Alexa service. By writing, of course, I mean copying someone else’s work as a template and following a tutorial to get the results I wanted even though I never actually knew what I was doing.

From my understand of this though, there are two sections to publishing a ‘Skill’ that can be used by an Amazon Echo/Dot/Tap/etc.
The first is a Lambda function from Amazon Web Services which contains all the code for your skill. This is connected to your Amazon developer console where you can create Alexa skills and set up instructions for how your code interacts with Alexa. From this console you can test your created skill and submit it for publishing.

The entire scope of AWS seems massive, and the Lambda function was just one of around 50 services used for computation, development, data management, security, etc. That alone was extremely intimidating, but there were also so many services that Amazon can connect to and so many different ways to use Alexa that it feels like it would be very difficult to get the hang of everything. I’m assuming that most people only focus on one kind of thing though.

For now i’d be interested to learn more about how Alexa interacts with outside services. I’m very interested in home automation and I’d love to integrate my own skills that can be used inside my house. I guess we’ll see how this goes with the next few alexa projects.

Google “Fetch and Render” Pages Visible Immediately.

Here’s a surprise for those of us who always complained that Google works too slowly for their liking. I just added a new page on the attorney site that I’m working for and I submitted it to the index via the Google Search Console “Fetch and Render” feature. Having used the feature sparingly in the past, I had assumed the indexation would take anywhere from 20 minutes to 2 days, but apparently Google has been on top of their game. After clicking “submit to index,” I immediately did a quick search for the content on the page and it came up! Good job guys.

I have the Index. You can just float and sputter.

Google My Business Bulk Locations Updated

I just received an email notifying me about some changes to the Google My Business Locations interface.

Upgraded Account

This interface might be a little bit different from what GMB users are used to, especially businesses without multiple locations, but it seems like this is much more intuitive and beneficial for businesses with hundreds or thousands of locations. Fortunately this interface is far improved over the awful Google Places bulk upload page. Seriously. I get shudders just thinking about that crap.

Upgraded Account

The only thing that may throw people for a loop is the Store Code, which is required by google to organize your list of locations (and makes much more sense for a client with hundreds of locations). The store code can be anything, but Google recommends using something that represents your brand. For Bisnar Chase, I would consider something like “BC001” and “BC002”.

For more information take a look at the comprehensive list of updates!

Target Smarter, Not Harder

I’ve always been a little bit cynical about the concept of user personas. After learning about them I kind of crinkled my nose and figured that I didn’t need to come up with a list of personal details of the potential leads and converters for my website. After all, everyone is different and in marketing for a PI law firm, you kind of figure that age, gender, number of kids, and favorite ice cream has nothing to do with whether you get in a car accident or not. (If anyone makes any sexist and/or racist jokes here, you will be forever considered a douchebag.)

What are these Personas

If you’re not familiar with the concept of personas, the idea is to create profiles of multiple fictitious people who may have a reason to convert with your product or service. Looking at different personalities and motivations behind these personas will help you market to people more effectively and provide them with what they need, so they in turn will convert.
An example, since I can’t stand people who write about concepts without examples – You’re an electrician who wants more phone calls and more jobs, so you can finally buy that yacht you always dreamed of. You decide to create some personas to understand your customers more.

You come up with a few different types of people who might need electrical work. I’ll keep it short:
1. Stacy’s Mom: Single mom who needs a bathroom fan installed. Doesn’t have time to learn how to do it herself.
2. Manly Emanuel: Wants to be a macho man and fix everything in his house himself. Doesn’t need no professional. “DIY bro!”
3. Doctor Octavius: Wants to create a tritium reactor in his living room and doesn’t know how much power he can draw from an outlet.

The power of fake user information in the palm of my hands.

The power of fake user information in the palm of my hands.

These are very dumbed down persona profiles but we can use them for the purpose of the exercise.
To market to Stacy’s Mom, your CTA, your normal channels of marketing and SEO are your best bets here, as well as gently telling Stacy that she’s not the girl for you.
To market to Manly Emanuel, you have to consider that Emanuel is a strong, confident bearded man, who don’t need no electrician. BUT he’ll waste no time perusing your website if you put highly detailed and helpful tutorials on electrical installations and fixes. You may lose potential customers by teaching them how to do your work, but at the end of the day, most people who want a DIY solution will find it, and most people who don’t will call someone anyway. Your tutorial content is there as a support for your service, which Emanuel will contact after he burns his mustache off because he’s an idiot.
To market to Doc Ock, you make yourself available to answer questions that someone might hesitate or feel foolish asking questions about. Add a section on your website with a phone number that specifically allows people to ask questions about their situation to give them peace of mind. An electrician that makes themselves approachable and easy to contact in the name of “safety” will get more calls asking about the safety of tritium reactors, flickering lights, exposed wires, robot apocalypses, etc etc. Many of these won’t turn into conversions, but some might.

Ok that went on a little bit longer than I had hoped for as a (very) brief explanation of personas, but whatever ok cool. If you’re interested in learning more, ConversionXL has an interesting article that discusses personas created using real data, and studies of results from real events.

Lets Move Along (move along)

“But,” I complain, “You can’t do that sort of stuff with lawyers. Every client is different. All we can do is target for location and keywords.”

Fortunately, not with the advent of Facebook Ads. After creating campaigns for a few months, I’m still finding new ways to target my audience, and it really makes the concept of persona marketing come alive. Here are some insights that I’ve learned recently.

Know Your Audience

Because Facebook allows you to target such a tight group of viewers, you actually have an opportunity to use that persona data that you created just to “be a good marketer” and “complete the process properly.” For example, I just created an ad campaign targeting people whose loved ones may have been a victim of nursing home or elder abuse. My on-page analytics shows that people who visit my website’s nursing home pages tend to be older than 45, which I would assume would be the children of parents inside nursing homes. Therefore I’d obviously want to target above the age of 45 in my facebook ads. But remember to consider other options that Facebook provides you. With other PPC providers it’s impossible to choose by target by ethnicity, but Facebook offers the option to choose your target ethnicity. Unfortunately, it doesn’t allow for excluding a target ethnicity, which is really what we need in this situation.

According to this CDC report, at least three quarters of long-term care patients are ethnically non-hispanic whites, meaning that if we were only able to target a white population we may get more interest in our ads. As this isn’t possible, we may have to make do with limiting our target areas with a primarily white demographic.

The same report shows that nursing homes have a very high percentage of Alzheimer’s and Depression, which has also been connected to increased potential for abuse. We can use Facebook to target interests like “Alzheimer’s disease awareness.” Another especially relevant interest for us might be “Nursing Home Residents’ Rights.” If someone shows an interest in that, you can bet they have some stake in elder care somehow.

I'm a little upset that Mikey J. was not mentioned here.

I’m a little upset that Mikey J. was not mentioned here.

Choosing charitable donations to health causes may create a much smaller audience.

Note: Choosing charitable donations to health causes may create a much smaller audience.

Lastly, we can even narrow down behaviors to “Technology Late Adopters,” to target people who access facebook using older devices and operating systems.

Note: A cautionary word here – using behaviors to narrow down your target audience can have mixed results. A lot of the categories don’t include as many users as you’d expect since a lot of the data is provided by specific third parties and survey results. I’d advise creating 2 of the same ad groups and using only one to target your specific behavior. Then you can run your ads for a few days and see the results.

Lets go back to our electrician example. Pick an Ad Group to target toward Stacey’s Mom. Age: 30+. Women. Relationship Status: Single+Divorced+Separated. You can even choose different groups of Moms to target (Big-City Moms, Corporate Moms, New Moms, etc.) All of this data that we specify when we create personas can be targeted, as long as it is relevant to the kind of customers we are trying to attract.

Other Helpful Tips has been my friend throughout my targeting adventures. Organize cities by different census data – income, age, ethnicity, employment, education, families vs non-families, vacant homes, rent prices, marital status, cost of living, etc. Using all of this date, you can target specific areas that are more likely to have the type of people that you want to show your ad to.

Also, don’t neglect your website data. Assuming you’re using an analytics platform that tracks demographics, you can narrow down specifics of a type of visitor who hits your specific page. In doing so, you can find some interesting insights that you many not have known. For example, our electrician may have assumed a primarily male population to be reading his DIY tutorials and therefore may have targeted only men in any ads that he targeted toward Manly Emanuel, but it would be wise to double check that in your analytics platform before making any judgments. (It may also be useful to know that Facebook has a “recently moved” and “recent homebuyer” search behavior, which may be useful for an electrician.)

Lastly, make sure to get creative! There’s a hundred different ways you can target your audiences. Sometimes you can add multiple criteria to your custom audience, and sometimes these criteria will conflict with each other or make your audience too small, but make sure you’re thinking outside of the box! Most of the time an audience’s employer won’t matter to who you’re targeting, but they’ll have a huge return for class action lawsuits (my results were ~7% CTR for $0.14/click), or possibly if you’re a healthcare provider and you’re able to find out details of a large employer’s health insurance coverage you can offer services that you know their healthcare doesn’t provide. If specific employers don’t work for you, you can filter by job role in behaviors.
Whatever your situation, it’s highly likely that there is a great way to target for you. Travel companies are already targeting frequent travelers on Facebook, E-commerce shops are getting data from Loyalty Cards and retail stores that show who’s buying what products, and you know that our electrician friend would love to target those Manly Emmanuels who watch home improvement shows.

So get to it!

Site Speed Reporting in Analytics

My company has recently embarked on a quest to figure out what CDN will perform the best for our website. I did the normal speed tests from google and WebPageTest as well as looking over data from the network element loading timeline from the chrome developer tools window (or the ‘Net’ tab in firebug). I did however, want to track the averages of my page speed stats over time, which is why I turned to the Google Analytics Site Speed Report, and got this:
If you wanted to know, that spike to the right was 77 seconds. Cool.
This isn’t our primary website, but comparing the line graphs yields fairly similar results. You’ll notice that in the past 5 months, only 14 visitors had their site speed data recorded, which is not as useful for me as it could have been.

Kinda Stingy, eh Google?

Google Analytics out of the box only reports 1% of users’ site speed data, meaning that if you don’t have thousands of people coming to your website every day, you’re not going to get accurate insights from this report unless you change the way that GA reports the data. Fortunately, fixing this is a piece of cake.

If you’re using universal analytics, you’ll have a line in your tracking code that reads:

ga('create', 'UA-XXXX-Y', 'auto');

Just change this to

ga('create', 'UA-XXXX-Y', {'siteSpeedSampleRate': 100});

(Note: This will sample 100% of up to 10,000 daily visitors in your report. If you want to sample a lower percentage, just change the ‘100’ to a lower number.)

Now in the past 5 days, compared to the past 5 months, we have 25 pageviews with sampled data.
If anyone wanted to know what browser was the slowest, it was the Android Browser, followed by our trusty friend, IE10. Tsk Tsk Tsk.
Oooh. We should clean up this website load time. Too bad I don’t actually care about this one.

The reference page for Universal Analytics can be found here, and the reference for Classic Analytics can be found here.

Happy Sampling!

Hot Links!

grilled_sausagesEveryone loves themselves some good, juicy edu links. You know why? Because they’re delicious.
A few weeks ago I ventured into some unknown territory with some link building with scholarship offers, first inspired by Brendon Turner’s article on Search Engine News. If you don’t have a subscription, don’t worry. It’s super easy stuff. The steps to success are essentially:

  1. Start a Scholarship
  2. Give People Money
  3. Get Links
  4. Profit

Easy huh? Now it’s your turn!

Start a Scholarship
No but really, all we really did was create a quick scholarship page on our law firm’s website. Write how much you’re going to give, write the due date, write the rules and requirements, etc etc. See a pretty vanilla example here. If you’ll notice, the Dolman Law group’s 1.1k scholarship is immediately more enticing than those goons who thought 1k was enough… That hundred bucks can really make a difference. I’m only being like 80% sarcastic. (sorry guys. hey I gave you a link! be happy.)

Give People Money
Next, compile yourself a list of schools with outside scholarship pages. Google “outside OR External scholarship inurl:edu”. You may also want to include a “-inurl:pdf” in your search, since some schools list their outside scholarships on PDFs and those are usually more difficult to edit than normal pages, so your conversion rate with links may decrease.
You may want to add some other keywords in there to do with your specific educational disciplines but just remember the more the better.

Get Links
Most Universities will have an email that looks like finaid@****.edu – Just find that email on the financial aid section of their website and request that they add your link to their outside scholarships page. Many of them will do it without hesitation, and as an added bonus, the schools that are more prominent and famous are even more likely to have their ish together in the financial aid department, leading to almost immediate returns for popular schools.

You may have to follow up on a few schools before they’ll add your link, but for the most part your job will be fairly easy.

But Wait… There’s More!

She likes me for my body.

Try your Alma Mater first.

University websites can be hard to navigate when you’re looking for link opportunities, but remember that they care about anything that will make them look good and that will get them more exposure. Figure out what you can offer the university and pursue that as a method for getting links. Note – this will usually only work exclusively with a university you or your business have some connection to (eg. Your Alma Mater or a local college).

Different universities have different policies on linking out or even mentioning outside businesses, but if you poke around you may be able to find something that will get you in. If you have news or a story worth telling, most universities have an email address for their Media & Communications departments – usually PR@***.edu. Many schools have student experience pages or notable alumni pages where you can be featured, and Google will often pull carousel results for queries like this. You can even browse student blogs and build connections that may lead to links or guest posts (shut up Google, you can’t tell me what to do).

If you need a help figuring out the best way to get a link from a university website, I’d recommend running a screaming frog crawl and checking the external tab to see where the website is linking out to the most, and what pages those links are coming from. If you see a bunch of links that don’t go to government pages that are all acronyms (FAFSA, OSHA, PETA, DUMB, STUPD), check the linking page and see if you have a shot at working your way in there.

Any way you do it, getting yourself featured on a major university website won’t be easy. If you devote the time, however, it can be pretty rewarding. And if you finally get those hot links, please invite me over for dinner.

Keep your friends close, and your ad targets closer.

Here’s a quick and easy one for you. Most of us have seen that video review of Facebook’s ads – claiming that they filled a page with fake likes and thereby diluted the amount of real fans of a page that saw the page content. If you haven’t seen it – here you go.

While this video isn’t the end all be all source of insight on Facebook ads, and some people have written very useful clarifications on the problems that the video brings up – the basic message is something we know to be true: If you don’t make sure your ads are targeted to people who will see and respond to them, you’re going to be missing out.

Our Experience

My company has recently started putting a little bit of effort into Facebook Ads and though we’re only targeting cities in our surrounding area, I’ve noticed that about 1/6th of our likes are still from international sources – people that will not employ our (usually) localized services and sources that dilute the effectiveness of our targeting.

Facebook Likes by country

After having reading up on why this happens, I speculate that because we’ve used Facebook’s “Promoted This Post” feature, Facebook can show this page to any friends of any of our fans – many of whom I’m sure can be located outside the US. I have also been told that we’ve had people in other countries specifically like our page because their names were the same as the founding partner. Geez guys… come on.

The fix

The solution is hopefully one you’ve already employed. If not. this is one of the easiest ways to improve your targeting if you’re a local business. Your Facebook settings can allow you to only show your Facebook page to specific countries. Hence, fewer fake likes, more engaging audiences, etc.

Just go to your page general settings at the top of your Facebook page, click Country Restrictions, and add your country. Then select “Only show this Page to viewers in these countries.”
facebook country settings
Easy peasy, Mr. Freezy.

This isn’t going to eliminate all of your fake likes problems, or instantly improve your engagement with content – but it’s an easy start. Happy Facebooking!