Connect with us

SEO

Visualizing Google Core Update Winners & Losers With Python

Published

on

Visualizing Google Core Update Winners & Losers With Python

For SEO experts, Google’s core updates are a way of life. They will happen at least once – if not multiple times – a year.

Naturally, there will be winners and losers.

So while Google doesn’t disclose most of the ranking factors behind the algorithm updates, there are things we can do to get a greater understanding of what’s going on, in terms of:

  • Which site content is affected.
  • Sites operating in your search space.
  • Result types.

The limit is your imagination, your questions (based on your SEO knowledge), and of course, your data.

This code will cover aggregations at the search engine results page (SERP) level (inter-site category comparison), and the same principles can be applied to other views of the core update such as result types (think snippets and other views mentioned above).

Using Python To Compare SERPs

The overall principle is to compare the SERPs before and after the core update, which will give us some clues as to what’s going on.

We’ll start by importing our Python libraries:

import re
import time
import random
import pandas as pd
import numpy as np
import datetime
from datetime import timedelta
from plotnine import *
import matplotlib.pyplot as plt
from pandas.api.types import is_string_dtype
from pandas.api.types import is_numeric_dtype
import uritools  
pd.set_option('display.max_colwidth', None)
%matplotlib inline

Defining some variables, we’re going to be focusing on ON24.com as they lost out to the core update.

root_domain = 'on24.com'
hostdomain = 'www.on24.com'
hostname="on24"
full_domain = 'https://www.on24.com'
site_name="ON24"

Reading in the data, we’re using an export from GetSTAT which has a useful report that allows you to compare SERPs for your keywords before and after.

This SERPs report is available from other rank tracking providers like SEO Monitor and Advanced Web Ranking – no preferences or endorsements on my side!

getstat_ba_urls = pd.read_csv('data/webinars_top_20.csv', encoding = 'UTF-16', sep = 't')
getstat_raw.head()
Screenshot by author, January 2022
getstat_ba_urls = getstat_raw

Construct the URLs by joining the protocol and URL string to get the full ranking URL for both before the update and after.

getstat_ba_urls['before_url'] = getstat_ba_urls['Protocol for Nov 19, 2020'] + '://' + getstat_ba_urls['Ranking URL on Nov 19, 2020']
getstat_ba_urls['after_url'] = getstat_ba_urls['Protocol for Dec 17, 2020'] + '://' + getstat_ba_urls['Ranking URL on Dec 17, 2020']
getstat_ba_urls['before_url'] = np.where(getstat_ba_urls['before_url'].isnull(), '', getstat_ba_urls['before_url'])
getstat_ba_urls['after_url'] = np.where(getstat_ba_urls['after_url'].isnull(), '', getstat_ba_urls['after_url'])


To get the domains of the ranking URLs, we create a copy of the URL in a new column, remove the subdomains using an if statement embedded in a list comprehension:

getstat_ba_urls['before_site'] = [uritools.urisplit(x).authority if uritools.isuri(x) else x for x in getstat_ba_urls['before_url']]
stop_sites = ['hub.', 'blog.', 'www.', 'impact.', 'harvard.', 'its.', 'is.', 'support.']
getstat_ba_urls['before_site'] = getstat_ba_urls['before_site'].str.replace('|'.join(stop_sites), '')

The list comprehension is repeated to extract the domains post update.

getstat_ba_urls['after_site'] = [uritools.urisplit(x).authority if uritools.isuri(x) else x for x in getstat_ba_urls['after_url']]
getstat_ba_urls['after_site'] = getstat_ba_urls['after_site'].str.replace('|'.join(stop_sites), '')
getstat_ba_urls.columns = [x.lower() for x in getstat_ba_urls.columns]
getstat_ba_urls = getstat_ba_urls.rename(columns = {'global monthly search volume': 'search_volume'
                                                   })
getstat_ba_urls
Before and after URLsScreenshot by author, January 2022

Dedupe Multiple Ranking URLs

The next step is to remove the multiple ranking URLs by the same domain per keyword SERP. We’ll split the data into two sets, before and after.

Then we’ll group by keyword and perform the deduplication:

getstat_bef_unique = getstat_ba_urls[['keyword', 'market', 'location', 'device', 'search_volume', 'rank',
       'result types for nov 19, 2020', 'protocol for nov 19, 2020',
       'ranking url on nov 19, 2020', 'before_url', 'before_site']]
getstat_bef_unique = getstat_bef_unique.sort_values('rank').groupby(['before_site', 'device', 'keyword']).first()
getstat_bef_unique = getstat_bef_unique.reset_index()
getstat_bef_unique = getstat_bef_unique[getstat_bef_unique['before_site'] != '']
getstat_bef_unique = getstat_bef_unique.sort_values(['keyword', 'device', 'rank'])
getstat_bef_unique = getstat_bef_unique.rename(columns = {'rank': 'before_rank', 
                                                          'result types for nov 19, 2020': 'before_snippets'})
getstat_bef_unique = getstat_bef_unique[['keyword', 'market', 'device', 'before_snippets', 'search_volume', 
                                         'before_url', 'before_site', 'before_rank'
                                        ]]
getstat_bef_unique
keyword trackingScreenshot by author, January 2022

The procedure is repeated for the after data set.

getstat_aft_unique = getstat_ba_urls[['keyword', 'market', 'location', 'device', 'search_volume', 'rank',
       'result types for dec 17, 2020', 'protocol for dec 17, 2020',
       'ranking url on dec 17, 2020', 'after_url', 'after_site']]
getstat_aft_unique = getstat_aft_unique.sort_values('rank').groupby(['after_site', 'device', 'keyword']).first()
getstat_aft_unique = getstat_aft_unique.reset_index()
getstat_aft_unique = getstat_aft_unique[getstat_aft_unique['after_site'] != '']
getstat_aft_unique = getstat_aft_unique.sort_values(['keyword', 'device', 'rank'])
getstat_aft_unique = getstat_aft_unique.rename(columns = {'rank': 'after_rank', 
                                                          'result types for dec 17, 2020': 'after_snippets'})
getstat_aft_unique = getstat_aft_unique[['keyword', 'market', 'device', 'after_snippets', 'search_volume', 
                                         'after_url', 'after_site', 'after_rank'
                                        ]]

Segment The SERP Sites

When it comes to core updates, most of the answers tend to be in the SERPs. This is where we can see what sites are being rewarded and others that lose out.

With the datasets deduped and separated, we’ll work out the common competitors so we can start segmenting them manually which will help us visualize the impact of the update.

serps_before = getstat_bef_unique
serps_after = getstat_aft_unique
serps_before_after = serps_before_after.merge(serps_after, left_on = ['keyword', 'before_site', 'device', 'market', 'search_volume'], 
                                                right_on = ['keyword', 'after_site', 'device', 'market', 'search_volume'], how = 'left')

Cleaning the rank columns of null (NAN Not a Number) values using the np.where() function which is the Panda’s equivalent of Excel’s if formula.

serps_before_after['before_rank'] = np.where(serps_before_after['before_rank'].isnull(), 100, serps_before_after['before_rank'])
serps_before_after['after_rank'] = np.where(serps_before_after['after_rank'].isnull(), 100, serps_before_after['after_rank'])


Some calculated metrics to show the rank difference before vs after, and whether the URL changed.

serps_before_after['rank_diff'] = serps_before_after['before_rank'] - serps_before_after['after_rank']
serps_before_after['url_change'] = np.where(serps_before_after['before_url'] == serps_before_after['after_url'], 0, 1)
serps_before_after['project'] = site_name
serps_before_after['reach'] = 1
serps_before_after
rank difference before vs afterScreenshot by author, January 2022

Aggregate The Winning Sites

With the data cleaned, we can now aggregate to see which sites are the most dominant.

To do this, we define the function which calculates weighted average rank by search volume.

Not all keywords are as important which helps make the analysis more meaningful if you care about the keywords that get the most searches.

def wavg_rank(x):
    names = {'wavg_rank': (x['before_rank'] * (x['search_volume'] + 0.1)).sum()/(x['search_volume'] + 0.1).sum()}
    return pd.Series(names, index=['wavg_rank']).round(1)

rank_df = serps_before_after.groupby('before_site').apply(wavg_rank).reset_index()
reach_df = serps_before_after.groupby('before_site').agg({'reach': 'sum'}).sort_values('reach', ascending = False).reset_index()

commonstats_full_df = rank_df.merge(reach_df, on = 'before_site', how = 'left').sort_values('reach', ascending = False)
commonstats_df = commonstats_full_df.sort_values('reach', ascending = False).reset_index()
commonstats_df.head()
calculate weighted average rank by search volumeScreenshot by author, January 2022

While the weighted average rank is important, so is the reach as that tells us the breadth of the site’s presence in Google i.e. the number of keywords.

The reach also helps us prioritize the sites we want to include in our segmentation.

The segmentation works by using the np.select function which is like a mega nested Excel if formula.

First, we create a list of our conditions.

domain_conds = [
    commonstats_df['before_site'].isin(['google.com', 'medium.com', 'forbes.com', 'en.m.wikipedia.org',
                                        'hbr.org', 'en.wikipedia.org', 'smartinsights.com', 'mckinsey.com',
                                        'techradar.com','searchenginejournal.com', 
                                        'cmswire.com']),
    commonstats_df['before_site'].isin(['on24.com', 'gotomeeting.com', 'marketo.com', 'zoom.us', 'livestorm.co',
                                        'hubspot.com', 'drift.com', 'salesforce.com', 'clickmeeting.com',
                                        'qualtrics.com', 'workcast.com', 'livewebinar.com', 'getresponse.com', 
                                        'superoffice.com', 'myownconference.com', 'info.workcast.com']),
    commonstats_df['before_site'].isin([ 'neilpatel.com', 'ventureharbour.com', 'wordstream.com', 
                                        'business.tutsplus.com', 'convinceandconvert.com']),
    commonstats_df['before_site'].isin(['trustradius.com', 'g2.com', 'capterra.com', 'softwareadvice.com', 
                                        'learn.g2.com']),
    commonstats_df['before_site'].isin(['youtube.com', 'm.youtube.com', 'facebook.com', 'linkedin.com', 
                                        'business.linkedin.com', 
                                       ])
]

 

Then we create a list of the values we want to assign for each condition.

segment_values = ['publisher', 'martech', 'consulting', 'reviews', 'social_media']

 

Then create a new column and use np.select to assign values to it using our lists as arguments.

commonstats_df['segment'] = np.select(domain_conds, segment_values, default="other")
commonstats_df = commonstats_df[['before_site', 'segment', 'reach', 'wavg_rank']]
commonstats_df
new column to use np.selectScreenshot by author, January 2022

The domains are now segmented which means we can start the fun of aggregating to see which site types benefitted and deteriorated from the update.

# SERPs Before and After Rank
serps_stats = commonstats_df[['before_site', 'segment']]
serps_segments = commonstats_df.segment.to_list()


We’re joining the unique before SERPs data with the SERP segments table created immediately above to segment the ranking URLs using the merge function.

The merge function that uses the ‘eft’ parameter is equivalent to the Excel vlookup or index match function.

serps_before_segmented = getstat_bef_unique.merge(serps_stats, on = 'before_site', how = 'left')
serps_before_segmented = serps_before_segmented[~serps_before_segmented.segment.isnull()]
serps_before_segmented = serps_before_segmented[['keyword', 'segment', 'device', 'search_volume', 'before_snippets', 
                             'before_rank', 'before_url', 'before_site']]
serps_before_segmented['count'] = 1
serps_queries = serps_before_segmented['keyword'].to_list()
serps_queries = list(set(serps_queries))
serps_before_segmented
joining the unique before SERPs data with the SERP segments tableScreenshot by author, January 2022

Aggregating the before SERPs:

def wavg_rank_before(x):
    names = {'wavg_rank_before': (x['before_rank'] * x['search_volume']).sum()/(x['search_volume']).sum()}
    return pd.Series(names, index=['wavg_rank_before']).round(1)

serps_before_agg = serps_before_segmented
serps_before_wavg = serps_before_agg.groupby(['segment', 'device']).apply(wavg_rank_before).reset_index()
serps_before_sum = serps_before_agg.groupby(['segment', 'device']).agg({'count': 'sum'}).reset_index()
serps_before_stats = serps_before_wavg.merge(serps_before_sum, on = ['segment', 'device'], how = 'left')
serps_before_stats = serps_before_stats.rename(columns = {'count': 'before_n'})
serps_before_stats
Aggregating the before SERPs.Screenshot by author, January 2022

Repeat procedure for the after SERPs.

# SERPs  After Rank
aft_serps_segments = commonstats_df[['before_site', 'segment']]
aft_serps_segments = aft_serps_segments.rename(columns = {'before_site': 'after_site'})
serps_after_segmented = getstat_aft_unique.merge(aft_serps_segments, on = 'after_site', how = 'left')
serps_after_segmented = serps_after_segmented[~serps_after_segmented.segment.isnull()]
serps_after_segmented = serps_after_segmented[['keyword', 'segment', 'device', 'search_volume', 'after_snippets', 
                             'after_rank', 'after_url', 'after_site']]
serps_after_segmented['count'] = 1
serps_queries = serps_after_segmented['keyword'].to_list()
serps_queries = list(set(serps_queries))
def wavg_rank_after(x):
    names = {'wavg_rank_after': (x['after_rank'] * x['search_volume']).sum()/(x['search_volume']).sum()}
    return pd.Series(names, index=['wavg_rank_after']).round(1)
serps_after_agg = serps_after_segmented
serps_after_wavg = serps_after_agg.groupby(['segment', 'device']).apply(wavg_rank_after).reset_index()
serps_after_sum = serps_after_agg.groupby(['segment', 'device']).agg({'count': 'sum'}).reset_index()
serps_after_stats = serps_after_wavg.merge(serps_after_sum, on = ['segment', 'device'], how = 'left')
serps_after_stats = serps_after_stats.rename(columns = {'count': 'after_n'})
serps_after_stats
Repeat procedure for the after SERPsScreenshot by author, January 2022

With both SERPs summarised, we can join them and start making comparisons.

serps_compare_stats = serps_before_stats.merge(serps_after_stats, on = ['device', 'segment'], how = 'left')
serps_compare_stats['wavg_rank_delta'] = serps_compare_stats['wavg_rank_after'] - serps_compare_stats['wavg_rank_before']
serps_compare_stats['sites_delta'] = serps_compare_stats['after_n'] - serps_compare_stats['before_n']
serps_compare_stats
Comparing before and after rank by keywordScreenshot by author, January 2022

Although we can see that publisher sites seemed to gain the most by virtue of more keywords ranked for, a picture would most certainly tell a 1000 more words in a PowerPoint deck.

We’ll endeavor to do this by reshaping the data into a long format that the Python graphics package ‘plotnine’ favors.

serps_compare_viz = serps_compare_stats
serps_rank_viz = serps_compare_viz[['device', 'segment', 'wavg_rank_before', 'wavg_rank_after']].reset_index()
serps_rank_viz = serps_rank_viz.rename(columns = {'wavg_rank_before': 'before', 'wavg_rank_after': 'after', })
serps_rank_viz = pd.melt(serps_rank_viz, id_vars=['device', 'segment'], value_vars=['before', 'after'],
                     var_name="phase", value_name="rank")
serps_rank_viz
serps_ba_plt = (
    ggplot(serps_rank_viz, aes(x = 'segment', y = 'rank', colour="phase",
                             fill="phase")) + 
    geom_bar(stat="identity", alpha = 0.8, position = 'dodge') +
    labs(y = 'Google Rank', x = 'phase') + 
    scale_y_reverse() + 
    theme(legend_position = 'right', axis_text_x=element_text(rotation=90, hjust=1)) + 
    facet_wrap('device')
)
serps_ba_plt
Google RankScreenshot by author, January 2022

And we have our first visualization, which shows us how most site types gained in ranking which is only half of the story.

Let’s also look at the number of entries into the top 20.

Desktop vs. smartphoneScreenshot by author, January 2022

Ignoring the ‘Other’ segment, we can see Martech and Publishers were the main winners expanding their keyword reach.

Summary

It took a bit of code just to create a single chart with all the cleaning and aggregating.

However, the principles can be applied to achieve extended winner-loser views such as:

  • Domain level.
  • Internal site content.
  • Result Types.
  • Cannibalised results.
  • Ranking URL Content types (blogs, offer pages etc).

Most SERP reports will have the data to perform the above extended views.

While it might not explicitly reveal the key ranking factor, the views can tell you a lot about what is going on, help you explain the core update to your colleagues, and generate hypotheses to test if you’re one of the less lucky ones looking to recover.

More resources:  


Featured Image: Pixels Hunter/Shutterstock




Source link

Keep an eye on what we are doing
Be the first to get latest updates and exclusive content straight to your email inbox.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address

SEO

E-commerce Marketing 101: How to Maximize Sales

Published

on

E-commerce Marketing 101: How to Maximize Sales

Marketing is one of the most important skills to learn as an e-commerce store owner. By learning marketing, you’ll always have a steady stream of new customers.

Plus, knowing the basics of marketing can get you ahead of the competition, and it’s valuable to have a base understanding if you ever hire marketing roles for your company.

In this guide, I share the five main marketing channels and how to use them, plus a few marketing tips to help you earn more and spend less.

The five main e-commerce marketing channels

There are five main channels you can use to promote your products. They are:

  1. Search engines
  2. Social media sites
  3. Email inboxes
  4. Display ads
  5. Brand affiliates

Let’s talk about how you can use each of these channels in your e-commerce marketing plan.

1. Search engine marketing (SEM)

Search engine marketing covers both organic and paid traffic from search engines like Google. 

Both are important. Take Solo Stove, for example. Its online store gets over 300,000 organic visits from Google every month—plus an additional ~28,000 monthly visits from paid ads:

Solo Stove traffic metrics using Ahrefs' Site Explorer
Data from Ahrefs’ Site Explorer.

Search engine optimization (SEO)

In order to show up organically on the first page of Google’s search results, you need to learn and implement search engine optimization practices on your website. 

This includes things like:

  • Figuring out what keywords people are searching for to find your products.
  • Aligning with the search intent of the query.
  • Getting other websites to link to your website (aka backlinks).
  • And more.

I’ll discuss these steps in more detail in the “tips” section below. For now, if you want to learn more, check out our complete guide to e-commerce SEO.

Paid search ads

You can pay to “skip the line” and show up at the top of Google’s search results. This is called pay-per-click (PPC) advertising, and it’s a great complement to your SEO efforts. PPC ads are a quick and easy (albeit sometimes expensive) way to get in front of your target audience.

Here’s a chart explaining why you should utilize both PPC and SEO:

Chart showing PPC vs. SEO ROI over time

What does this look like? You’ve probably seen ads like these, annotated with the word “Sponsored” next to them:

Google search results for "leather mens boots"

You can run Google Ads by creating an account, choosing the page you want to send visitors to, writing up various headlines and description ad copy, and selecting keywords to be displayed for. 

But there’s quite a bit more to it than that—it takes time and money to learn what works. Check out our guide to Google Ads basics to get started.

2. Social media marketing

Probably the most obvious place to market your e-commerce store is on the many social media apps. 

Again, with Solo Stove as an example—it uses both organic and paid social media marketing and has been able to gain over half a million TikTok followers, 347,000 Instagram followers, and almost 300,000 Facebook followers.

Solo Stove Instagram account

Let’s take a look at how you can do the same:

Organic social media marketing

Growing an organic following on social media is a great way to get your brand and products in front of people without spending a ton of money. However, it’s also a lot of work—especially if you plan on growing multiple channels.

If you’re not sure which channel(s) to use, a good starting point is SparkToro. You can type in a product keyword like “mens boots,” and it’ll show you social stats of relevant accounts:

SparkToro social insights

From here, if you hover over the social media icons, you can see the individual channel statistics. This tells you which channels brands have the most followers on, which can be a hint on which channels are most effective for them.

Instagram statistics for Who What Wear on SparkToro

Use this data to decide which channels you should invest your time in first. From there, check out this list of resources to learn more about how to grow your accounts.

Paid social media advertising

The other side of the coin is social media PPC ads. You can use ads to drive immediate sales—but at a cost. There’s a steep learning curve to maximizing sales while minimizing ad costs.

That said, one of the easiest ways to run a successful social media ad is through retargeting customers who abandon carts. This works by putting a browser cookie on a visitor who adds an item to their cart but doesn’t check out, then using that cookie to show them ads on social media of the item they left in their cart.

Again, Solo Stove does this well. I added this heat deflector to my cart…

Solo Stove bonfire heat deflector in my cart

… then almost immediately saw this ad on my Facebook feed after leaving its site without buying:

Solo Stove Facebook retargeting ad

There’s a lot more you can do with these ads, though. Check out Mayple’s guide to social media advertising to learn more.

3. Email marketing

Email newsletters are typically one of the highest-converting traffic sources for e-commerce stores. This is because your email list, if done well, will be full of people who know who you are and have an active interest in your brand. That said, you need traffic to grow an email list, so it doesn’t make a good stand-alone marketing channel.

There are many ways to grow an email list, including:

  • Email opt-in forms on your site offering a discount or free information.
  • Collecting your customer’s emails when they make a purchase (with their permission, of course).
  • Running a giveaway for your products.

Once you have an email list, you can send them product updates, content from your blog, clearance sales, etc. 

Here’s an example from clothing brand Off The Grid, which uses its newsletter to give tips on how to get the most out of its clothes:

E-commerce email newsletter example

Just make sure you keep your list engaged by deleting inactive subscribers every three to six months and avoid sending too many emails. Your list is one of your biggest assets, so take care of it.

4. Display ads

Have you ever been bombarded by display ads on every website you visit after looking at an online store but leaving without buying anything? 

Retargeting display ads following me around the internet

This is because the online store you visited placed a cookie in your browser that allowed it to “retarget” you with display ads across any websites that run these retargeting ads. What I already showed in the “social media ads” section above was a retargeting ad too.

It’s been found that it takes anywhere from 28–62 (or more) “touchpoints” to make a sale.

A “touchpoint” is any time a potential customer is shown a brand, either through an ad or by visiting your website or social media channel. Every time they see your brand or product, that’s one touchpoint.

That’s what makes these retargeting ads so effective. You can get multiple touchpoints of your product at a relatively low price compared to traditional PPC ads.

The catch is that you can only show retargeting ads to people who have either visited your website and allowed the cookie in their browser settings, or to people in your email list.

HubSpot has an excellent beginner’s guide to retargeting if you want to learn more.

You can also run general display ads, which are suitable for making people aware of your brand and products. You can use them to get people to your site, then run retargeting ads to those people who visited your initial ad but didn’t purchase.

For example, Advance Auto Parts paid to show me these display ads across various blogs even though I haven’t visited its site before:

Example of display ads on a blog post

Check out Google Display Ads if that’s something you’re interested in.

5. Affiliate marketing

Affiliate marketing is where someone promotes your product or service and makes a commission any time they send you a sale. 

This typically works by giving your affiliate a unique ID that they include in their URL when they link to your website. It might look like this:

https://www.yourdomain.com/your-product?ref=UniqueAffiliateID

When a customer makes a sale through the URL with the unique affiliate ID attached, your affiliate program will attribute that sale to that particular affiliate so you can pay them their percent of the income.

For example, Solo Stove has an affiliate program, and I used to promote it in my articles and videos, like this blog post and YouTube video review: 

Solo Stove bonfire review affiliate marketing example

To learn more about setting up an affiliate program for your e-commerce store, see this guide.

Seven best tips for marketing your e-commerce store

Now that you know where to promote your products, here are a few tips to help you maximize your sales and minimize your marketing costs:

1. Don’t compete solely on price

Above all, never get into a price war. You will never be able to compete with giant brands on price. They can afford to lose money until you’re long out of business.

Instead, compete on things like quality, customer service, experience, and value. 

Make sure the entire experience of finding your brand and buying from you is seamless and easy. And use your marketing to educate and entertain, not just to promote your product. If you offer people something of value first, they will be more likely to buy, even at a higher price point.

For example, Squatty Potty both informs and entertains in what is arguably one of the best ads ever made:

Or, back to Solo Stove, it makes videos that teach you the best way to use its products:

2. Don’t offer big discounts

Offering discounts may be an easy way to make a quick buck. But in doing so, you may be shooting yourself in the foot. By offering frequent discounts, people may come to expect your discounts and won’t buy your products at full price because they know discounts are coming.

3. Begin with keyword research

Search engines can be a lucrative source of free marketing if you’re able to rank highly on them. But SEO can take years—especially for a beginner.

That’s why it’s best to do some keyword research to figure out what your customers are searching for so you can start optimizing your site right away. (You’ll thank me in two years.)

You can do this with Ahrefs’ free keyword generator tool. Type in a broad keyword that describes your products, and the tool will spit out keyword ideas with some basic data:

Ahrefs' keyword generator tool showing results for "leather boots"

Keep in mind that you’ll want to find different keywords for different purposes. 

For example, “brown leather boots” may be a good keyword for your category page, while your product pages may be better served with more specific keywords like “brown leather ugg boots” or “womens brown leather knee high boots.” 

Basically, use broad keywords for category pages and specific keywords for product pages. Again, refer to our e-commerce SEO guide to learn more.

4. Optimize your website for search and conversions

Continuing from the last tip, you should take the keyword research you did and optimize your category and product pages for their best keywords. 

This is called on-page SEO, and it involves:

  • Talking about your target keyword in your title, URL, and within the page itself.
  • Writing a compelling title tag and description to make your result stand out on the SERPs.
  • Optimizing your images to load fast and have descriptive filenames and alt text.
  • Including internal links between your pages to make them easy to find.

There’s a bit more that goes into it, so read our on-page SEO guide to learn more.

Beyond SEO, you should also optimize your website for conversions. After all, you don’t want to spend all this time and money on marketing only to lose sales, right?

Conversion rate optimization (CRO) includes things like using high-quality images, effective copywriting, and clean website design with minimal distractions. I highly recommend going through Shopify’s CRO guide.

5. Start a blog

Having a great product and effective ads can only take you so far. If you want to utilize organic marketing channels like social media, search engines, and newsletters, you need to offer more than just advertisements for your products.

That’s where content comes in.

Photos, videos, and blog posts give you the ability to capture customers at different stages in the marketing funnel whom you otherwise wouldn’t have sold to.

Here’s what this may look like and what people may search for at each stage:

Marketing funnel stages and example searches at each stage

Let’s say you own a shoe store. A potential customer has a problem; they need a good pair of waterproof shoes that are functional but also look good. So they do a Google search for “stylish mens waterproof shoes” (the “service or product” stage).

The results aren’t shoe stores. They’re all blogs that talk about shoes:

Google search results for "stylish mens waterproof shoes"

It’s possible for you to write a blog post of your own with the goal of ranking well for that keyword and promoting your own shoes. You can also use that article as content to add to your email newsletter and social media feeds.

Pro Tip

It will also be a great idea to reach out to all the blogs that are ranking to try and get them to include your shoes as well. If you start an affiliate program, you can tell them about it, and they’ll be more likely to include your products since they have an incentive.

Expand this idea for other issues potential customers may have, like learning different ways to tie shoes or ideas for outfits that can go with your shoes. You’re only limited by your creativity.

Check out my guide to e-commerce blogging to learn more.

6. Create video content

Video content is becoming more and more important. If you want to do well on TikTok, Instagram, YouTube, and even Facebook, you need to make videos. Plus, many of the SERPs now contain video results in addition to blog pages.

For example, we manage to rank for the keyword “learn seo” with both a blog post and a YouTube video:

SERP results for "learn seo" showing both a YouTube video and blog post from Ahrefs

We wrote a full guide to video SEO if you want to learn how we did it.

But what kind of videos should you create? 

It depends on your audience, the platform, and your product. In general, shorter videos do better than long ones, like this five-second TikTok by Guess that got over 800,000 views:

Of course, there are a lot of ways to utilize video in your marketing plan, and there’s plenty of space for longer videos. Check out our guide to video marketing to learn more.

7. Make standard operating procedures

Many of your marketing tasks will be repeatable. Things like outlining your content, sharing your posts, and even running ads can all be standardized to make things quicker and easier.

This is why you should create standard operating procedures for these tasks. A standard operating procedure (SOP) is a document that outlines exactly how to do a task step by step—often with screenshots or videos—that allows you to hand off the task to a virtual assistant to free up your time and streamline the process.

For example, we have a guide to creating SEO SOPs. But you can make an SOP for any repeatable task, such as: 

  • Creating blog or product images.
  • Adding new products to your newsletter and social media feeds.
  • And so much more.

Here’s an example of a step in our SOP for creating content at Ahrefs:

Excerpt of an SOP

Creating an SOP is easy. Just create a Google Doc and use headings to organize your task into steps and add screenshots or even videos to show the process. The clearer and more concise you can be, the better. 

Final thoughts

Learning e-commerce marketing is a surefire way to make a lot more money from your online store. There’s a lot to learn, so take it one thing at a time.

Eventually, you should aim to hire a VA or marketing team to help with these tasks so you can focus on other areas of your business. Having a basic understanding of how they’re done will help you make good hiring decisions.

Source link

Keep an eye on what we are doing
Be the first to get latest updates and exclusive content straight to your email inbox.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address
Continue Reading

SEO

Opera Introduces AI-Powered Features In Desktop Browsers

Published

on

Opera Introduces AI-Powered Features In Desktop Browsers

Opera is launching the first stage of its Browser AI, incorporating generative AI tools into its desktop browsers.

The company is integrating AI Prompts and popular GPT-based services ChatGPT and ChatSonic into Opera and Opera GX, enabling users to harness AI-generated content (AIGC) tools within the browsers.

With the addition of these services, Opera’s feature set is closer to parity with Microsoft Edge.

Featuring a built-in VPN, Opera is now a viable alternative to Edge if you want more control over your online privacy without sacrificing usability.

Read on to learn what you can do with Opera’s new AI capabilities.

Desktop Web Browsing With AI

Joanna Czajka, Product Director at Opera, believes AI-generated content will revolutionize web browsing.

Using these technologies, Opera aims to enhance users’ experiences, transforming how they learn, create, and conduct research.

Address Bar AI Prompts

Opera is introducing smart AI prompts that you can input directly into the address bar or by highlighting text on a website.

This feature enables quick conversations with generative AI services for tasks like shortening or explaining articles, generating tweets, or requesting relevant content based on the highlighted text.

These AI prompts are contextual and will evolve as Opera adds new features.

GPT-Based Chatbot Access

Opera is integrating ChatGPT and ChatSonic into the browser’s sidebar.

This addition allows you to leverage these popular generative AI platforms for idea generation, summaries, translations, itineraries, and more.

ChatSonic can generate images based on user input, adding an extra layer of functionality over ChatGPT.

How To Get Started

Opera’s generative AI tools are available in early access for the Windows, Mac, and Linux desktop browser versions.

To access the new features, upgrade the Opera or Opera GX browser or download it from opera.com.

Then, go to Easy Setup and activate the Early Access option by toggling “AI Prompts,” which enables AI Prompts in the browser UI and AI services in the sidebar.

Note that you must log in or sign up for these services separately.

In Opera GX, you must also enable the “Early Bird” option in their browser settings.

See an example of the new features in action in Opera’s launch video:

In Summary

Opera’s integration of generative AI tools into its desktop browsers is the latest milestone in developing AI-powered browsing experiences.

By incorporating AI Prompts and GPT-based services like ChatGPT and ChatSonic, Opera aims to enhance how users learn, create, and research online.

This release is the first stage of Opera’s Browser AI, and the company has ambitious plans for future innovations. The second phase will feature Opera’s own GPT-based browser AI engine.


Source: Opera

Featured Image: Screenshot from press.opera.com, March 2023. 



Source link

Keep an eye on what we are doing
Be the first to get latest updates and exclusive content straight to your email inbox.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address
Continue Reading

SEO

TikTok CEO To Testify In Hearing On Data Privacy And Online Harm Reduction

Published

on

TikTok CEO To Testify In Hearing On Data Privacy And Online Harm Reduction

TikTok CEO Shou Chew will testify in a hearing before the U.S. House Committee on Energy and Commerce this Thursday, March 23, at 10:00 a.m. ET.

As CEO, Chew is responsible for TikTok’s business operations and strategic decisions.

The “TikTok: How Congress Can Safeguard American Data Privacy and Protect Children from Online Harms” hearing will be streamed live on the Energy and Commerce Committee’s website.

According to written testimony submitted by Chew, the hearing will focus on TikTok’s alleged commitment to transparency, teen safety, consumer privacy, and data security.

It also appears to broach the topic of misconceptions about the platform, such as its connection to the Chinese government through its parent company, ByteDance.

Chew shared a special message with TikTok yesterday from Washington, D.C., to thank 150 million users, five million businesses, and 7,000 employees in the U.S. for helping build the TikTok community.

@tiktokOur CEO, Shou Chew, shares a special message on behalf of the entire TikTok team to thank our community of 150 million Americans ahead of his congressional hearing later this week.♬ original sound – TikTok

The video has received over 85k comments from users, many describing how TikTok has allowed them to interact with people worldwide and find unbiased news, new perspectives, educational content, inspiration, and joy.

TikTok Updates Guidelines And Offers More Educational Content

TikTok has been making significant changes to its platform to address many of these concerns before this hearing to evade a total U.S. ban on the platform.

Below is an overview of some efforts by TikTok to rehab its perception before the hearing.

Updated Community Guidelines – TikTok updated community guidelines and shared its Community Principles to demonstrate commitment to keeping the platform safe and inclusive for all users.

For You Feed Refresh – TikTok recommends content to users based on their engagement with content and creators. For users who feel that recommendations no longer align with their interests, TikTok introduced the ability to refresh the For You Page, allowing them to receive fresh recommendations as if they started a new account.

STEM Feed – To improve the quality of educational content on TikTok, it will introduce a STEM feed for content focused on Science, Technology, Engineering, and Mathematics. Unlike the content that appears when users search the #STEM hashtag, TikTok says that Common Sense Networks and Poynter will review STEM feed content to ensure it is safe for younger audiences and factually accurate.

This could make it more like the version of TikTok in China – Douyin – that promotes educational content to younger audiences over entertaining content.

Series Monetization – To encourage creators to create in-depth, informative content, TikTok introduced a new monetization program for Series content. Series allows creators to earn income by putting up to 80 videos with up to 20 minutes in length, each behind a paywall.

More Congressional Efforts To Restrict TikTok

The TikTok hearing tomorrow isn’t the only Congressional effort to limit or ban technologies like TikTok.

Earlier this month, Sen. Mark Warner (D-VA) introduced the RESTRICT Act (Restricting the Emergence of Security Threats that Risk Information and Communications Technology), which would create a formal process for the government to review and mitigate risks of technology originating in countries like China, Cuba, Iran, North Korea, Russia, and Venezuela.

Organizations like the Tech Oversight Project have pointed out that Congress should look beyond TikTok and investigate similar risks to national security and younger audiences posed by other Big Tech platforms like Amazon, Apple, Google, and Meta.

We will follow tomorrow’s hearing closely – be sure to come back for our coverage to determine how this will affect users and predict what will happen next.


Featured Image: Alex Verrone/Shutterstock



Source link

Keep an eye on what we are doing
Be the first to get latest updates and exclusive content straight to your email inbox.
We promise not to spam you. You can unsubscribe at any time.
Invalid email address
Continue Reading

Trending

en_USEnglish