Friday, August 9, 2019

Create a Sheet of All The Instagram Posts You Are Tagged In

Don't worry I've automated scraping your tagged Instagram posts for you!

If you do any work around Instagram, you know that the "Tagged" photos on your profile is a gold mine of insights! These are your brand advocates speaking about your products. Understanding the frequency and timing of their sharing, what they are saying about your brand, what hashtags they are using is SO useful to helping you craft your brand messaging and approach on Instagram. But aside from clicking through every single image, how can you digest all of that information? By scraping their JSON of course!

Figure Out How Instagram Generates Your Tagged Feed

When on your Tagged page,[yourhandlehere]/tagged, right click in your browser to Inspect or open your dev tools. Select the "Network" tab, filter to the XHR. Once you start scrolling to populate new images from the initial 12 that loaded you should see a call with the name "?query_hash=..." Select that network call to get the full REQUEST URL.

So What Is All This?

Go ahead and copy and paste that REQUEST URL into a browser bar to see what is returned. You'll see something like below which is the JSON that populates the tagged images on lazy load.

In the picture above, the "endCursor" variable is highlighted. This will come into play later. Then just beyond that is the "edges" array (array values are wrapped in []). This is the meat of your info. You can copy and paste that entire array. It ends with the closing bracket followed by three curly braces and then the "status" variable.

Make the JSON human readable

I know you are thinking, "but Danielle, how are we supposed to pull any insights from this?" It looks like a lot. But as long as data maintains the expected structure you can map values pretty easily. When I was pulling this manually, I used this awesome JSON to CSV converter. However, I built a Google Sheet that using Apps Scripts will GET the data from Instagram and map it into a Sheet for you. I have my last fiscal year IG tags data in Sheets to analyze using Data Studio (and will share in a forthcoming blog post about some of the data analysis I'm doing from all this!)

How To Set Up To Pull This Data in Google Sheets

In order to start the Sheet, you will need information from that REQUEST URL you pulled from the Dev Tools network tab. Copy everything up through "variables" on that and paste it into A5 of the Sheet. Then in A8 set how many posts you'd like to pull at a time. It seems to cap at 50 and the default is 12 (which is what initially pulled on your REQUEST URL provided there are at least 12 posts to pull). NOTE: if an account goes private after the initial post, it seems to make the "50" less than. Some pulls only generated ~48 posts.

From some digging on Stack Overflow, the variables that IG needs passed to pull the correct data have changed quite a bit. For now, they are passed as a JSON that has been URI encoded. You will need to DECODE it get your account ID. I used this simple encode/decode tool, which you can see it in use below. Get the value with the "id" variable and paste it into A11 on the sheet.

In the image above of the response data in the browser tab, I mentioned we'd come back to the piece that I had highlighted. That's the endCursor which indicates where the next data pull/page should begin. On the sheet, just leave A14 blank and IF there is more data to pull, the endCursor will populate there for you to run the script again starting with where your last pull left off. Pretty sweet huh? While I would have loved to have not made you have to go in and hit "run" again for each pull, the event triggers in Apps Scripts are a little finnicky. Anyone who has a fix for me, I'd appreciate it! But this is still quite simple and fast. I pulled ~2250 posts (which was about 42 clicks) all while writing this blog post and watching a single episode of Handmaid's Tale. Believe me, it was a hell of a lot faster than doing the manual process of copying and pasting into the JSON to CSV, pulling the endCursor, encoding it, pasting the new encoded variables into the browser bar and repeating the process over again. I did that for about ~2400 posts before I finalized the script. So you are welcome!

Sunday, June 16, 2019

How To Write How-To Structured Data for Google SERPs

I know that there is a lot of debate in the SEO world about succumbing to Google's rich results options. If you give your content to Google, you are giving away clicks. Or so they say (and some have seen happen). However, that has NOT been the case as I've seen it so far with the pages I've implemented HowTo structured data. As you'll see in the examples below, I believe the How-to rich results do a good job of encouraging the user to continue through to the website

As of May 9th (the day after the I/O announcement of recognizing How-To as a SERP feature), I had two articles showing up.

Comparing the 30 days prior and the 30 days after:

  • 15% increase in impressions
  • 4% increase in clicks
While overall CTR slightly dropped, average CTR within the How-to rich results was 6% higher than the overall average of those pages from the 30 days prior. Another aside is when checking on Google Home devices (NOT with video), the article was winning in voice search results.

I'll spare you all the nitty gritty details. But some old code and odd layout structure in comparison to how things are nested in the HowTo, meant that trying to make the microdata work was just too much. I couldn't properly nest images within the HowToStep, so I had to use the "standard" set up, not the one for images with each step. Something to note from that is if you have an image nested inside of the HowToDirection, then you have to be sure to use the "beforeMedia," "duringMedia," or "afterMedia" itemprop instead of "image."

After all that, I gave the JSON-LD set up a try this week on another article. Now I am a total believer in the JSON-LD. I didn't have to worry at all about how the page was structured (I don't want to mess with any layout/design or copy so I don't have to go through a new approval process).

So as not to be one of those recipe blogs everyone hates, let me get to the real deal here. Below I've shared a link to VIEW a Google Sheets I built with Google Apps Scripts that will allow you to input names, descriptions, image URLs, etc only into some cells. Then run my scripts to generate the appropriate JSON-LD for the How-to rich result with images for each step.

Google Sheet to Generate How-to Schema JSON-LD

Don't forget to make a copy of that sheet in order to edit it for your needs! Let me know if you have any feedback or questions

I already used it to set up another article, tested the script, updated the site, asked for a priority reindex, and here it is already in the results. From creating the JSON-LD to showing up in the mobile SERP, all within an hour!

Monday, June 3, 2019

Using Keyword Research for Product Development

"Unprecedented success." That's what the company is calling a new product launch this January that I discovered as an opportunity in keyword research back in September 2017. Back then I wasn't even TRYING to find the next big product; I was doing some keyword research in Moz Keyword Explorer to optimize a buying guide. Thankfully, buying guides cover a broad range of queries around a product category. I tend to start with a head term and let the "Keyword Opportunities" guide me on long-tail terms that might be a worthwhile ranking opportunity.

While I usually log and analyze keywords that have some search volume aside from "n/a" and a relatively low difficulty and high organic CTR (color scales make this easier for humans to spot in large keyword lists!), this product opportunity was sitting near the top when sorting by largest search volume, with monthly searches ranging from 1701-2900 searches per month (in the pictured March 2019 analysis it was the second listed, now at 2901-4300). When I gave those numbers to the product manager, they didn't need any comparison to know that seemed like a good find. What made it even better was that when I pulled up the SERP to analyze the competition there was almost no competitor actually offering it -- one small niche shop and then the big retail competitors own site search pages with no truly relevant results.

Like organic optimization, new product development can take a lot of time. Sometimes in that time, trends change and interest starts dropping off. You don't want your production time to put you in the downtrend. While Moz Keyword Explorer doesn't show trends, keeping keyword lists, exporting them, and saving them down with the Date Analyzed allows you to create trend graphs. To try to get way ahead of consumer interest, we now do regular reports on social media insights and influencer requests to help identify trends before they've really hit general consumers.

Now I've encouraged (and, of course, trained) the product development team to try to do the same in Keyword Explorer to check against new product ideas they are considering. To understand how these new opportunities measure up, comparing them to a similar term in the category that we are already optimized for helps. Google Ads can bring in some additional insight on those keywords and possibly show a trend if it has remained in an ad group for a while.

Monday, April 22, 2019

Selecting the Right Influencer Campaigns - Part 3 of Influencer Marketing for Brands

Working in an industry where the products offered usually requires a professional installation or at least a very savvy DIYer, my ability to reach out to influencers is limited. While I have ideas to find an influential person that is into entertaining to redo a wet bar or upgrade from a bar cart, without the budget and resources to provide the contracting and installation, I have to wait for the right opportunity to present itself. Unfortunately, a lot of not-so-great opportunities do instead. So it can take a lot to find the best influencer campaign for the brand and understand how to value it when some requests are more than $10k in product due to the high value of the brand's items.
 With budgets tightening and more requests coming in, we need to be selective. So how do you do that with some level of certainty beyond just intuition? When preparing for a meeting with the C-suite I knew the "it depends on the project each time" response wouldn't fly, so I used the process I've applied in prioritizing digital projects in previous roles to create a "vetting system" for our influencer requests. Using this project prioritization matrix guide from the Office of Quality Improvement at University of Wisconsin-Madison , our team that selects influencer campaigns established criteria to rank the project requests. All criteria is based on giving it a 0, 3, 6, or 9 score, which makes structuring your criteria difficult at times. For instance, when deciding if the request includes a priority product of ours, I set up that 0 is not a priority category or product and is something commonly requested (as in we've already done several campaigns around it), 3 is a priority product but is commonly requested, 6 is not a priority product but is not commonly requested, 9 is a priority product and is not commonly requested. Other criteria based around our goals, like image quality to ensure we will have content we will want to reuse and likelihood of getting additional coverage from third-parties (the influencer has a history of doing good PR for themselves, getting back links, etc), and how well we can pull off the project, such as the level of effort going into the project based on timing, scope, etc. We also put engagements and followers into one of the 0,3,6,9 rankings as well, but you will see how these numbers relate to establishing value more so.
 While that all helps to determine which influencer project to prioritize when you can only do a few in a year, how do you know how much value to give them? We took to our own social media accounts to understand the value of a post. While many influencers might go by a $1,000 per 100k followers, we know from our own accounts that not everyone who follows you sees your organic posts, so we got an average percentage of accounts that follow us reached per post, ~30%. Then we analyzed our typical cost per impression (CPM) on boosted posts to assign a dollar value. So if an influencer has 250k followers, while they'd say the should get $2,500 in value, we'd adjust that their organic post would only reach 75k followers and apply our CPM (let's say $5 per 1k) to see what that value equates to - only $375. Then AVERAGE that with the standard influencers use. It doesn't stop there. Because we always ask for imagery to use, we also pad in a typical royalty-free image rights cost for each individual VIGNETTE (not image if they are all the same products/space with just different angles or propping) we'd receive. That'd be the retail value budget we'd give a project that we decided to prioritize.
I had us test this against Kylie Jenner as the last I had heard she was charging $1m per Instagram post when she had 111m followers (her following was over 132m at the time of writing this though). Applying the $1k per 100k followers, she's undervaluing herself slightly because she'd technically be getting $1,110,000 at that following count (whether influencers actually get $1k per 100k is questionable but that's a standard request). However, when accounting that only about 30% of her followers might see a post then we'd say 33,300,000 impressions X $5 per 1k impressions is only $166,500. By then averaging the two, we'd be okay (but not like we would) with valuing a post from her at ~$640,000. I doubt she allows royalty-free use of her images so the extra ~$300 wouldn't be added into that either. 
Note that I titled this selecting the right influencer campaign. While someone might be a great influencer, the project just might not be a fit for the brand at the time. (For us, priority products change as part of our promotional plans, and resources to execute on the campaign for a larger scope or shorter timeline might not be available). As indicated throughout this series, I wish some influencers would understand that a little better when facing rejection. It really isn't personal, and I think this matrix and system for valuing the project helps to take some of that personal bias out of it and provide a tangible way to communicate the process to executives.

Thursday, January 3, 2019

Measuring Your Influencer Marketing - Part 2 of Influencer Marketing for Brands

Before we can talk about finding the right influencers, we need to know what we want to accomplish with these types of campaigns and how to measure your accomplishments.

What's your goal for influencer marketing?

Generate awareness, drive sales, build loyalty, create an advantage over your competitors? Here's one that you might not immediately consider, but should be a major key for partaking in influencer marketing - generating content that you otherwise might not be able to due to budget, talent, or limited resources.

And what about product improvement or development? These are people tuned into what is trending, so their feedback can help your product research. A case study presented in Adweek's Sound Influencer Marketing Webinar indicated a company that had a lot of success sharing product information under an NDA (which I'll get to in a future post) before it hit the market to get useful feedback. While I haven't run any specific research, the insights from what influencers are asking for and feedback to products I share that might work for their project but haven't yet hit the market has been very useful to our product development. You don't have to pick just one of these goals, and different influencer campaigns might focus on one goal while others do another.

As for that competitive advantage, you might consider (but not really measure) how by choosing to go with an influencer you have boxed out the opportunity for your competition to be present in that space. Not a great strategy, but a nice added value to consider as you plan campaigns and what products you might push.

How will you measure your goal?


Reach, impressions, and views make for an easy metric to request. Unfortunately, most everyone who has completed my influencer request form confuses hits and impressions with their follower count. Anyone with a social account knows that your individual posts do not reach your entire audience, not even with some advertising dollars behind it. Requesting screenshots (and some of the more professional influencers do this without even asking) could help keep people more honest, but gaming the system is still a problem with these metrics, as mentioned in Tara Hunt's post Impressions, Reach, Views and Clicks are BS Metrics and I touched on back in 2012 specifically tied to some Facebook advertising I was doing. While Tara Hunt speaks to generating leads based on quality instead of quantity, these are universal metrics, as she puts it "everyone is in on the view/click/fraud scandal," that make them easier to measure and benchmark, especially if your goal is awareness. But consider some of the less easy ways you can indicate awareness and even loyalty.

Since starting influencer marketing, predominantly with campaigns on Instagram, our followership grew 340% in a year - that is continued brand awareness potentially leading to loyalty of highly engaged followers we've acquired. But not all of that growth is completely attributed to influencers as social ads and a strategic theme played a role, which makes it a bit tougher to attribute following increases and engagement. It's great though seeing a whole bunch of new followers in your notifications to see shortly before an influencer posted something.

Website Traffic and Conversions

Although traffic can go back to some of that scandal mentioned in the previous metrics,  pairing it with other metrics, like bounce rate and pages per session can help determine quality traffic. However, this isn't as easy to measure as asking for a screenshot of social post insights. While you could rely on digging through your referral traffic, it'd be better to add query parameters to specifically track the clicks as part of an influencer campaign, because (hopefully) your influencer has already talked about you in the past so you want to differentiate that from the sponsored content. As I've found, even some bloggers that have been in the business for some time don't understand query parameters for tracking the links from their site, so it requires coaching here. Try not to dictate how they mention your brand for authenticity, so give them a few links, like your homepage, specific products, or categories with proper link tracking for your analytics tool.

Text link tracking is already established in an affiliate program. If you are able to work with well established industry content publishers through affiliate, like Buzzfeed or industry publications, you'll get much more traffic than a personal blog or social profile. The problem with going more towards an affiliate method to accomplish this is you won't likely get rights to their content for your use beyond sharing. Additionally, the downfall of clicks is that changes in the way cookies are collected, device switching, and omnichannel strategies mean you can easily lose track of a user after their initial visit, especially when the visit is initiated from a mobile app, like Instagram, and if your conversions typically happen on desktop. 

Remember to understand what goal you want to accomplish with each campaign and balance building those quality relationships Tara Hunt talked about with the massive reach of a popular content creator, because building a relationship with an influencer really does both for your brand.