Connect with us

SEO

A Step-By-Step Guide With Shopify Example

Published

on

The end of Universal Analytics is major news for all marketers relying on Google Analytics to analyze traffic, behavior, attribution, and more on a regular basis.

Especially for ecommerce.

You see, GA4 is not your typical software upgrade.

It’s a completely different platform, and setting up GA4 on ecommerce sites is not as easy as flipping a toggle switch anymore.

The following is a comprehensive guide on how to set up GA4 for ecommerce.

1. Basic GA4 Configuration

Understandably, the shift to GA4 is stressful.

And it doesn’t help that the implementation steps are far different from what we were used to with Universal Analytics.

The good news is that GA4 is packed with features that were previously unavailable.

For example, there is no data sampling for standard reports, you’re not stuck with last-click only attribution, and there is a really helpful funnel builder in Explorations.

To get started you will need to add GA4, create a purchase data layer, and create a product view data layer.

Beginners should start with our article Get to Know Google Analytics 4, to learn how to set up a GA4 account and data property.

Screenshot from UA, April 2022

If you’ve already configured Google Tag Manager for GA4, go ahead and jump to step 2 where we get into creating data layers for ecommerce.

After you’ve created the GA4 property, you’ll need to create tags to send data from your website to your Google Analytics account.

There are two methods for configuring GA4 on your shop site: Global Site Tag (gtag.js) or Google Tag Manager (GTM).

If you’re using the Global Site Tag method you will need to communicate with your developer. Here is a link to Google Analytics’ guide for developers to help them get started.

Or, you can use Google Tag Manager (GTM).

Google Tag Manager is a free data container by Google Analytics. You can learn to manage GTM yourself and it does not require a developer on staff.

Read SEJ’s Google Tag Manager GA4 guide for a complete step-by-step covering setup, installation, and the basic GA4 configuration tag.

GA4 and GTM_Tag ConfigurationScreenshot from GA4, April 2022

Once GA4 is configured, you will notice that the GTM container alone is not enough for ecommerce shops.

To get our ecommerce reports working we need to add two additional pieces of code, called a data layer, to pass purchase and product view details to Google Analytics.

Let’s start with the purchase data layer. This is the code that is responsible for conversions and sales revenue.

Note: This article uses Shopify as the ecommerce example. You will need the ability to edit your theme and checkout liquid file.

2. Purchase Data Layer

When a customer completes an order, the purchase data layer will pass variables to Google Tag Manager.

Variables are the data points we want to track such as revenue, tax, and shipping information.

There are four steps to setting up a purchase data layer:

  • Adding the code to the checkout page.
  • Creating a custom event.
  • Creating a data layer variable.
  • Creating a new tag in GTM.

Create Purchase Data Layer Code

Your exact data layer code may vary depending on your data collection strategy and I encourage you to speak with your developer.

Here is an example of a purchase data layer for Shopify written by Adam Gorecki, Chief Solutions Officer at Intigress.

{% if first_time_accessed %}

<script>

window.dataLayer = window.dataLayer || [];

window.dataLayer.push({

'page_type': 'purchase',

'event': 'SEJ_purchase', //create a custom event in GTM

'transaction_id': '{{ order.name || order.order_number }}',

'totalValue': {{ total_price | money_without_currency | remove:',' }}, // Includes tax & shipping

'subtotalValue': {{ subtotal_price | money_without_currency | remove:',' }},

'tax': {{ tax_price | money_without_currency | remove:',' }},

'shipping': {{ shipping_price | money_without_currency | remove:',' }},

'currency': '{{ shop.currency }}',

'payment_type': '{{ order.transactions[0].gateway }}', //optional parameter

'items': [

{% for line_item in line_items %}

{

'item_id': '{{ line_item.sku || line_item.product_id }}', //if no SKU exists, use product Id

'item_name': '{{ line_item.product.title }}',

'discount': {{ line_item.line_level_total_discount | money_without_currency }},

'item_variant': '{{ line_item.variant.title }}',

'price': {{ line_item.final_price | money_without_currency }},

'quantity': {{ line_item.quantity }}

},

{% endfor %}

]

});

</script>

{% endif %}

Note: Adjust the custom event parameter “event: SEJ_purchase” by replacing SEJ with the account name you’re working on or use a universal option like “event: checkoutComplete.”

Add Purchase Data Layer To Checkout Page

Copy and paste the purchase data layer into the checkout page of your Shopify store.

Click on Admin settings in the far bottom left-hand corner and select “Checkout” from the left-hand navigation.

Shopify Checkout Settings screenshot_eCom GA4Screenshot from Shopify, April 2022

Scroll down to the Order status page section. Paste the code you copied in Additional scripts right below your GTM container snippet.

Click Save.

Shopify Order status page exampleScreenshot from Shopify, April 2022

If you do not see a GTM container snippet, read SEJ’s Google Tag Manager GA4 guide.

Create Custom Purchase Event Trigger In GTM

Your purchase data layer is ready for Google Tag Manager.

Before you go, copy the custom event from your data layer code.

Using the example above we will copy SEJ_purchase.

Shopify purchase datalayer_purchase event exampleScreenshot from Shopify, April 2022

Time to head over to Google Tag Manager. Open the GTM account and workspace for the company you’re working on.

Select Triggers in the left-hand menu and click the blue button in the top right corner to create a new trigger.

GTM creating a new trigger screenshotScreenshot from GTM, April 2022

Name the new trigger something that will make sense internally.

For example, Custom Purchase Event.

Click to configure the trigger and select custom event from the options on screen.

Paste the event name you copied previously.

It is important that the event name matches the data layer code exactly. Best practice is to copy/paste.

GTM_custom event trigger_purchase data layer exampleScreenshot from GTM, April 2022

For this example, we are creating a trigger for the custom purchase event “SEJ_purchase.” Click to save your event trigger.

It is a good idea to test at this stage before building out your whole GTM just to ensure that the data layer is working as expected.

To test return to your workspace and click Preview in the top right corner.

Enter your site’s URL and wait for the screen to say “Connected!”

Complete a test purchase and watch in Tag Assistant for the new event trigger.

In the left-hand column, Summary, click the event SEJ_purchase.

Then click the API Call dataLayer.push and you should be able to see all the variables in your code.

eCom purchase event_GTM preview_API items exampleScreenshot from GTM debug tool, April 2022

This means that our purchase data layer is successfully sending information to Google Tag Manager. Hooray!

Create Data Layer Variables

Return to your GTM workspace and click Variables in the left-hand navigation.

Here you will see built-in variables and any variables you have defined previously, like your Universal Analytics ID tracking.

GTM _new variables screenshotScreenshot from GTM, April 2022

Click to create a new user-defined variable.

The naming of your variable is for internal use but it helps when other people are working within the Google Tag Manager to use something informative like “dlv-totalValue.”

Click to choose the variable type and select the Data Layer Variable option.

The Data Layer Variable name value must match what is in your data layer exactly, otherwise, it will not work. It’s best to copy and paste.

For example, totalValue.

GTM userdefined datalayer variable eCom purchase total value_screenshotScreenshot from GTM, April 2022

You will need to repeat this process for all seven variables:

  • dlv-currency/currency.
  • dlv-items/items.
  • dlv-payment_type/payment_type.
  • dlv-shipping/shipping.
  • dlv-tax/tax.
  • dlv-totalValue/totalValue.
  • dlv-transaction_id/transaction_id.

At the end of this step, your GTM variable settings should look like the screenshot below.

GTM variable settings for ecommerce exampleScreenshot from GTM, April 2022

Send Conversions To GA4

Now, you need to send this purchase information to your Google Analytics account so your marketing team can start digging into reports.

Click Tags in the left-hand menu and select New.

Name your new tag “GA4 – Purchase Tracking” and click within the body of the first card to configure your tag.

Choose the tag type, Google Analytics GA4 Event.

GTM_creating a new tag screenshotScreenshot from GTM, April 2022

Configuration tag will be your GA4 – Global Tag which we created earlier.

If you do not see a GA4 Global Tag read SEJ’s Google Tag Manager GA4 guide.

The Event Name will be “purchase.”

GTM_creating a purchase event tag exampleScreenshot from GTM, April 2022

With GA4 you also need to add event parameters.

This is a link to the full documentation of available GA4 event parameters.

We will be adding event parameters for the variables in our data layer. Under Event Parameters, click Add Row.

The parameter name you will copy and paste from GA4 documentation.

For example, “transaction_id.”

The value will be the data layer variable we created in step 4.

For example, “dlv-transaction_id.”

To add your data layer variable, you can either click the plus icon to open a popup with all the variables available or type double brackets {{ which will open a dropdown with all of your options.

GTM_double brackets_dropdown menu of purchase event variablesScreenshot from GTM, April 2022

Here is an example of what your final event parameters screen may look like.

Purchase event parameters exampleScreenshot from GTM, April 2022

Trigger will be the custom purchase event previously created. If you do not see a custom purchase event, revisit step 3 above.

Upon completion, your GA4 purchase tracking tag will look similar to the screenshot below. Click Save.

Submit to publish your container.

GTM purchase event tag_Final ViewScreenshot from GTM, April 2022

Now, you are going to want information about which products were viewed before purchasing in your reports. Let’s keep going.

3. Product View Data Layer

To get product-level detail in Google Tag Manager, we will need to add a second data layer. The product view data layer will be added to the Shopify theme.liquid file.

The same five steps are involved.

We will be adding a data layer code, creating a custom event, creating data layer variables, and creating a new trigger in GTM.

You’ve totally got this!

Create A Product Data Layer

Your exact product data layer code may vary and I encourage you to speak with your developer.

Here is an example of a Shopify product data layer.

<script type="text/javascript">

window.dataLayer = window.dataLayer || [];

window.appStart = function(){

{% assign template_name = template.name %}

window.productPageHandle = function(){

var productName = "{{ product.title | remove: "'" | remove: '"' }}";

var productId = "{{ product.id }}";

var productPrice = "{{ product.price | money_without_currency }}";

var productBrand = "{{ product.vendor | remove: "'" | remove: '"' }}";

var productCollection = "{{ product.collections.first.title | remove: "'" | remove: '"' }}"

window.dataLayer.push({

event: 'SEJ_productDetail',

productName: productName,

productId: productId,

productPrice: productPrice,

productBrand: productBrand,

productCategory: productCollection,

});

};

{% case template_name %}

{% when 'product' %}

productPageHandle()

{% endcase %}

}

appStart();

</script>

Add Product Data Layer To Theme Files

To send product information to GA4, you will need to edit your theme files.

Changes to your theme file are relatively risk-free because Shopify automatically saves change history.

But, if you’re feeling unsure you can absolutely work within a copy of the live theme.

Open your Shopify Admin panel and click Online Store.

Select Themes and choose your live theme. Click Actions and select edit code from the drop-down menu.

Shopify edit theme.liquid file_screenshotScreenshot from Shopify, April 2022

Scroll down to the Snippets‘ section and click Add new snippet.

Name the new snippet GTM-product-datalayer and click create.

Paste the code you copied from step 1 into this newly created snippet file and click Save.

Shopify_product data layer snippet exampleScreenshot from Shopify, April 2022

In the left-hand menu, scroll up to find the theme.liquid file. It is located under the “Layout” section.

Open the theme.liquid file and search for “/head”.

Paste the following code just above “/head”: {% render ‘GTM-product-datalayer.liquid’ %} and save your work.

Shopify_Add render product datalayer snippet to theme liquid_screenshotScreenshot from Shopify, April 2022

Now it’s time to test if the product data layer is passing information about our product views to Google Tag Manager as expected.

Open Google Tag Manager and click Preview.

Follow the onscreen prompts and then complete a test purchase.

If the product detail data layer is working you will see the custom event SEJ_productDetail in the left-hand navigation.

When you click on this custom event you should see all the variables from your code.

GTM preview_product data layer API callScreenshot from GTM debug tool, April 2022

Create Product Detail View Trigger

Your Shopify product view data layer is ready for Google Tag Manager.

Open Google Tag Manager and click Triggers in the left-hand menu and click “Add New.”

From the trigger options, choose “Custom Event” and name the new trigger, “ProductDetailView.”

Now add “SEJ_productDetail” in the custom event name field. This name matches your data layer event name. Remember to save.

GTM_example product detail view triggerScreenshot from GTM, April 2022

GTM Variables

Just as we did before, it is time to add variables from our data layer. This time it will be to pass the product detail information like product name, brand, and category.

In the GTM left-hand menu select Variables and click New under User-Defined Variables.

When adding your GTM variables it is extremely important that the text matches your data layer exactly and that you keep naming consistent.

For example, we will create a variable for the product name. Enter the variable name “dlv-productName.”

Choose the variable type, “Data Layer variable.”

Copy and paste the exact variable from your product data layer code and save.

The screenshot below is an example of the configuration for “dlv-productName.”

GTM_product detail view data layer variable exampleScreenshot from GTM, April 2022

Repeat this process for every variable in your product view data layer. Our example in this article has five variables:

  • dlv-productID/productID.
  • dlv-productName/productName.
  • dlv-productBrand/productBrand.
  • dlv-productCategory/productCategory.
  • dlv-productPrice/productPrice.

At the end, your user-defined variables list will include both purchase and product variables and look similar to the screenshot below.

GTM_Product datalayer variable_completed example screenScreenshot from GTM, April 2022

5. Create Product View Event Tag

Back to Google Tag Manager, this time you will click Tags.

Start a new tag and name it something like “GA4 – ProductView.”

Choose the tag type, “Google Analytics GA4 Event.”

GTM_example product view event tag_step 1 screenshotScreenshot from GTM, April 2022

Configuration tag will be your GA4 – Global Tag which we created earlier. If you do not see a GA4 Global Tag read SEJ’s Google Tag Manager GA4 guide.

The Event Name will be “view_item.”

With GA4 you will also need to add event parameters. This is a link to full GA4 documentation of available event parameters.

The first parameter will be item_id and for the corresponding variable you can either click the plus icon to find your user-generated variables or use a double bracket {{ and a dropdown list will appear.

GTM_product view tag_event parametersScreenshot from Shopify, April 2022

This part is case-sensitive and needs to match GA4 documentation and the data layer variable exactly.

Repeat this process until you have added all of the five parameters and their corresponding variables:

  • item_id/productID.
  • item_name/productName.
  • item_brand/productBrand.
  • item_category/productCategory.
  • item_price/productPrice.

Choose the custom ProductDetailView trigger that we created in step # as the trigger.

The screenshot below is an example of what your final product view tag may look like.

GTM_Product view tag for GA4Screenshot from GTM, April 2022

GA4 Ecommerce Debugging

You are in the final stretch! It is time to make sure everything is working as expected.

Open GTM preview and enter your site URL. Once the GTM preview tool is connected, view a few products, add-to-cart, and complete a purchase.

Watching in Google Tag Assistant for the product view event tag and purchase view event tag to fire.

Under the summary, click on the custom purchase event (SEJ_purchase) and open the API call details. You want to see all of the items from your data layer variable.

For example, below is an example screenshot for product detail.

GTM preview_product data layer API callScreenshot from GTM debug tool, April 2022

And here is an example for purchase.

GTM_Purchase event API_with items exampleScreenshot from GTM debug tool, April 2022

This means your Shopify store is passing ecommerce product view information and transaction data to GTM. Hooray!

Next, we open GA4 Realtime reports and check that user events have recorded our product detail view and purchase event.

GA4 Real Time Report_Shopify Testing exampleScreenshot from GA4 realtime report, April 2022

The final check is to confirm in GA4 Debugger that all of our event parameters and items array are working as intended.

In the left-hand menu navigation, click Configure > DebugView.

It’s not super clear but you will need to find your device in the dropdown menu for DEBUG DEVICE.

From this view, you will see a timeline of your activity on the site. In the far right column titled TOP EVENTS click on the purchase event.

Then click on items to make sure the purchase event is sending the product item information to GA4. Without “items” the full reports can not display.

It should look similar to the screenshot below.

GA4 debugger_purchase event variablesScreenshot from GA4 Debugger, April 2022

Congratulations!

This means that your Shopify store is passing purchase and product view data perfectly. Keep in mind that standard GA4 ecommerce reports may take 24 – 48 hours to fully populate.

Ultimately your Monetization > Ecommerce purchases report will look similar to the screenshot below.

GA4 ecommerce purchases report exampleScreenshot from GA4 Debugger, April 2022

Final Thoughts

To use GA4 ecommerce reports, we added a Google Tag Manager container script to our online shop, s purchase data layer to our checkout page, and a product view data layer to our Shopify theme.liquid file.

Then we created a custom trigger, custom event, and data layer variables within Google Tag Manager.

Last we used GA4 tags to send information on revenue, tax, shipping, product name, brand, and category into our GA4 reports.

Don’t forget to test using GTM preview and GA4 debugger tools. Your standard reports may take 24 to 48 hours to populate.

GA4 is an evolving product and I hope ecommerce tracking becomes easier as third-party platforms, like Shopify, make adjustments on their end.

More resources:


Featured Image: Paulo Bobita



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

10 Tips on How to Rock a Small PPC Budget

Published

on

By

10 Tips on How to Rock a Small PPC Budget

Many advertisers have a tight budget for pay-per-click (PPC) advertising, making it challenging to maximize results.

One of the first questions that often looms large is, “How much should we spend?” It’s a pivotal question, one that sets the stage for the entire PPC strategy.

Read on for tips to get started or further optimize budgets for your PPC program to maximize every dollar spent.

1. Set Expectations For The Account

With a smaller budget, managing expectations for the size and scope of the account will allow you to keep focus.

A very common question is: How much should our company spend on PPC?

To start, you must balance your company’s PPC budget with the cost, volume, and competition of keyword searches in your industry.

You’ll also want to implement a well-balanced PPC strategy with display and video formats to engage consumers.

First, determine your daily budget. For example, if the monthly budget is $2,000, the daily budget would be set at $66 per day for the entire account.

The daily budget will also determine how many campaigns you can run at the same time in the account because that $66 will be divided up among all campaigns.

Be aware that Google Ads and Microsoft Ads may occasionally exceed the daily budget to maximize results. The overall monthly budget, however, should not exceed the Daily x Number of Days in the Month.

Now that we know our daily budget, we can focus on prioritizing our goals.

2. Prioritize Goals

Advertisers often have multiple goals per account. A limited budget will also limit the number of campaigns – and the number of goals – you should focus on.

Some common goals include:

  • Brand awareness.
  • Leads.
  • Sales.
  • Repeat sales.

In the example below, the advertiser uses a small budget to promote a scholarship program.

They are using a combination of leads (search campaign) and awareness (display campaign) to divide up a daily budget of $82.

Screenshot from author, May 2024

The next several features can help you laser-focus campaigns to allocate your budget to where you need it most.

Remember, these settings will restrict traffic to the campaign. If you aren’t getting enough traffic, loosen up/expand the settings.

3. Location Targeting

Location targeting is a core consideration in reaching the right audience and helps manage a small ad budget.

To maximize a limited budget, you should focus on only the essential target locations where your customers are located.

While that seems obvious, you should also consider how to refine that to direct the limited budget to core locations. For example:

  • You can refine location targeting by states, cities, ZIP codes, or even a radius around your business.
  • Choosing locations to target should be focused on results.
  • The smaller the geographic area, the less traffic you will get, so balance relevance with budget.
  • Consider adding negative locations where you do not do business to prevent irrelevant clicks that use up precious budget.

If the reporting reveals targeted locations where campaigns are ineffective, consider removing targeting to those areas. You can also try a location bid modifier to reduce ad serving in those areas.

managing ppc budget by location interactionScreenshot by author from Google Ads, May 2024

4. Ad Scheduling

Ad scheduling also helps to control budget by only running ads on certain days and at certain hours of the day.

With a smaller budget, it can help to limit ads to serve only during hours of business operation. You can choose to expand that a bit to accommodate time zones and for searchers doing research outside of business hours.

If you sell online, you are always open, but review reporting for hourly results over time to determine if there are hours of the day with a negative return on investment (ROI).

Limit running PPC ads if the reporting reveals hours of the day when campaigns are ineffective.

Manage a small ppc budget by hour of dayScreenshot by author from Google Ads, May 2024

5. Set Negative Keywords

A well-planned negative keyword list is a golden tactic for controlling budgets.

The purpose is to prevent your ad from showing on keyword searches and websites that are not a good match for your business.

  • Generate negative keywords proactively by brainstorming keyword concepts that may trigger ads erroneously.
  • Review query reports to find irrelevant searches that have already led to clicks.
  • Create lists and apply to the campaign.
  • Repeat on a regular basis because ad trends are always evolving!

6. Smart Bidding

Smart Bidding is a game-changer for efficient ad campaigns. Powered by Google AI, it automatically adjusts bids to serve ads to the right audience within budget.

The AI optimizes the bid for each auction, ideally maximizing conversions while staying within your budget constraints.

Smart bidding strategies available include:

  • Maximize Conversions: Automatically adjust bids to generate as many conversions as possible for the budget.
  • Target Return on Ad Spend (ROAS): This method predicts the value of potential conversions and adjusts bids in real time to maximize return.
  • Target Cost Per Action (CPA): Advertisers set a target cost-per-action (CPA), and Google optimizes bids to get the most conversions within budget and the desired cost per action.

7. Try Display Only Campaigns

display ads for small ppc budgetsScreenshot by author from Google Ads, May 2024

For branding and awareness, a display campaign can expand your reach to a wider audience affordably.

Audience targeting is an art in itself, so review the best options for your budget, including topics, placements, demographics, and more.

Remarketing to your website visitors is a smart targeting strategy to include in your display campaigns to re-engage your audience based on their behavior on your website.

Let your ad performance reporting by placements, audiences, and more guide your optimizations toward the best fit for your business.

audience targeting options for small ppc budgetScreenshot by Lisa Raehsler from Google Ads, May 2024

8. Performance Max Campaigns

Performance Max (PMax) campaigns are available in Google Ads and Microsoft Ads.

In short, automation is used to maximize conversion results by serving ads across channels and with automated ad formats.

This campaign type can be useful for limited budgets in that it uses AI to create assets, select channels, and audiences in a single campaign rather than you dividing the budget among multiple campaign types.

Since the success of the PMax campaign depends on the use of conversion data, that data will need to be available and reliable.

9. Target Less Competitive Keywords

Some keywords can have very high cost-per-click (CPC) in a competitive market. Research keywords to compete effectively on a smaller budget.

Use your analytics account to discover organic searches leading to your website, Google autocomplete, and tools like Google Keyword Planner in the Google Ads account to compare and get estimates.

In this example, a keyword such as “business accounting software” potentially has a lower CPC but also lower volume.

Ideally, you would test both keywords to see how they perform in a live campaign scenario.

comparing keywords for small ppc budgetsScreenshot by author from Google Ads, May 2024

10. Manage Costly Keywords

High volume and competitive keywords can get expensive and put a real dent in the budget.

In addition to the tip above, if the keyword is a high volume/high cost, consider restructuring these keywords into their own campaign to monitor and possibly set more restrictive targeting and budget.

Levers that can impact costs on this include experimenting with match types and any of the tips in this article. Explore the opportunity to write more relevant ad copy to these costly keywords to improve quality.

Every Click Counts

As you navigate these strategies, you will see that managing a PPC account with a limited budget isn’t just about monetary constraints.

Rocking your small PPC budgets involves strategic campaign management, data-driven decisions, and ongoing optimizations.

In the dynamic landscape of paid search advertising, every click counts, and with the right approach, every click can translate into meaningful results.

More resources: 


Featured Image: bluefish_ds/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

SEO

What Are They Really Costing You?

Published

on

By

What Are They Really Costing You?

This post was sponsored by Adpulse. The opinions expressed in this article are the sponsor’s own.

As managers of paid media, one question drives us all: “How do I improve paid ad performance?”. 

Given that our study found close variant search terms perform poorly, yet more than half of the average budget on Google & Microsoft Ads is being spent on them, managing their impact effectively could well be one of your largest optimization levers toward driving significant improvements in ROI. 

“Close variants help you connect with people who are looking for your business, despite slight variations in the way they search.” support.google.com

Promising idea…but what about the execution?

We analyzed over 4.5 million clicks and 400,000 conversions to answer this question: With the rise in close variants (intent matching) search terms, what impact are they having on budgets and account performance? Spoiler alert, the impact is substantial. 


True Match Vs. Close Variants: How Do They Perform?

To understand close variant (CV) performance, we must first define the difference between a true match and a close variant. 

 

What Is a True Match? 

We still remember the good-old-days where keyword match types gave you control over the search terms they triggered, so for this study we used the literal match types to define ‘close variant’ vs ‘true match’. 

  • Exact match keyword => search term matches the keyword exactly. 
  • Phrase match keyword => search term must contain the keyword (same word order).
  • Broad match keyword => search term must contain every individual word in the keyword, but the word order does not matter (the way modified broad match keywords used to work).   

 

What Is a Close Variant? 

If you’re not familiar with close variants (intent matching) search terms, think of them as search terms that are ‘fuzzy matched’ to the keywords you are actually bidding on. 

Some of these close variants are highly relevant and represent a real opportunity to expand your keywords in a positive way. 

Some are close-ish, but the conversions are expensive. 

And (no shocks here) some are truly wasteful. 

….Both Google and Microsoft Ads do this, and you can’t opt-out.

To give an example: if you were a music therapist, you might bid on the phrase match keyword “music therapist”. An example of a true match search term would be ‘music therapist near me’ because it contains the keyword in its true form (phrase match in this case) and a CV might be ‘music and art therapy’.


How Do Close Variants Compare to True Match?

Short answer… poorly, on both Google and Microsoft Ads. Interestingly however, Google showed the worst performance on both metrics assessed, CPA and ROAS. 

Image created by Adpulse, May 2024

1718772963 395 What Are They Really Costing You

Image created by Adpulse, May 2024

Want to see the data – jump to it here…

CVs have been embraced by both platforms with (as earlier stated), on average more than half of your budget being spent on CV variant matches. That’s a lot of expansion to reach searches you’re not directly bidding for, so it’s clearly a major driver of performance in your account and, therefore, deserving of your attention. 

We anticipated a difference in metrics between CVs and true match search terms, since the true match search terms directly align with the keywords you’re bidding on, derived from your intimate knowledge of the business offering. 

True match conversions should therefore be the low-hanging fruit, leaving the rest for the platforms to find via CVs. Depending on the cost and ROI, this isn’t inherently bad, but logically we would assume CVs would perform worse than true matches, which is exactly what we observed. 


How Can You Limit Wastage on Close Variants?

You can’t opt out of them, however, if your goal is to manage their impact on performance, you can use these three steps to move the needle in the right direction. And of course, if you’re relying on CVs to boost volume, you’ll need to take more of a ‘quality-screening’ rather than a hard-line ‘everything-must-go’ approach to your CV clean out!

 

Step 1: Diagnose Your CV Problem 

We’re a helpful bunch at Adpulse so while we were scoping our in-app solution, we built a simple spreadsheet that you can use to diagnose how healthy your CVs are. Just make a copy, paste in your keyword and search term data then run the analysis for yourself. Then you can start to clean up any wayward CVs identified. Of course, by virtue of technology, it’s both faster and more advanced in the Adpulse Close Variant Manager 😉.

 

Step 2: Suggested Campaign Structures for Easier CV Management  

Brand Campaigns

If you don’t want competitors or general searches being matched to your brand keywords, this strategy will solve for that. 

Set up one ad group with your exact brand keyword/s, and another ad group with phrase brand keyword/s, then employ the negative keyword strategies in Step 3 below. You might be surprised at how many CVs have nothing to do with your brand, and identifying variants (and adding negative keywords) becomes easy with this structure.

Don’t forget to add your phrase match brand negatives to non-brand campaigns (we love negative lists for this).

Non-Brand Campaigns with Larger Budgets

We suggest a campaign structure with one ad group per match type:

Example Ad Groups:

    • General Plumbers – Exact
    • General Plumbers – Phrase
    • General Plumbers – Broad
    • Emergency Plumbers – Exact
    • Emergency Plumbers – Phrase
    • Emergency Plumbers – Broad

This allows you to more easily identify variants so you can eliminate them quickly. This also allows you to find new keyword themes based on good quality CVs, and add them easily to the campaign. 

Non-Brand Campaigns with Smaller Budgets

Smaller budgets mean the upside of having more data per ad group outweighs the upside of making it easier to trim unwanted CVs, so go for a simpler theme-based ad group structure:

Example Ad Groups:

    • General Plumbers
    • Emergency Plumbers

 

Step 3: Ongoing Actions to Tame Close Variants

Adding great CVs as keywords and poor CVs as negatives on a regular basis is the only way to control their impact.

For exact match ad groups we suggest adding mainly root negative keywords. For example, if you were bidding on [buy mens walking shoes] and a CV appeared for ‘mens joggers’, you could add the single word “joggers” as a phrase/broad match negative keyword, which would prevent all future searches that contain joggers. If you added mens joggers as a negative keyword, other searches that contain the word joggers would still be eligible to trigger. 

In ad groups that contain phrase or broad match keywords you shouldn’t use root negatives unless you’re REALLY sure that the root negative should never appear in any search term. You’ll probably find that you use the whole search term added as an exact match negative much more often than using root negs.


The Proof: What (and Why) We Analyzed

We know CVs are part of the conversations marketers frequently have, and by virtue of the number of conversations we have with agencies each week, we’ve witnessed the increase of CV driven frustration amongst marketers. 

Internally we reached a tipping point and decided to data dive to see if it just felt like a large problem, or if it actually IS a large enough problem that we should devote resources to solving it in-app. First stop…data. 

Our study of CV performance started with thousands of Google and Microsoft Ads accounts, using last 30-day data to May 2024, filtered to exclude:

  • Shopping or DSA campaigns/Ad Groups.
  • Accounts with less than 10 conversions.
  • Accounts with a conversion rate above 50%.
  • For ROAS comparisons, any accounts with a ROAS below 200% or above 2500%.

Search terms in the study are therefore from keyword-based search campaigns where those accounts appear to have a reliable conversion tracking setup and have enough conversion data to be individually meaningful.

The cleaned data set comprised over 4.5 million clicks and 400,000 conversions (over 30 days) across Google and Microsoft Ads; a large enough data set to answer questions about CV performance with confidence.

Interestingly, each platform appears to have a different driver for their lower CV performance. 

CPA Results:

Google Ads was able to maintain its conversion rate, but it chased more expensive clicks to achieve it…in fact, clicks at almost double the average CPC of true match! Result: their CPA of CVs worked out roughly double the CPA of true match.                 

Microsoft Ads only saw slightly poorer CPA performance within CVs; their conversion rate was much lower compared to true match, but their saving grace was that they had significantly lower CPCs, and you can afford to have a lower conversion rate if your click costs are also lower. End outcome? Microsoft Ads CPA on CVs was only slightly more expensive when compared to their CPA on true matches; a pleasant surprise 🙂.

What Are They Really Costing You

Image created by Adpulse, May 2024

ROAS Results:

Both platforms showed a similar story; CVs delivered roughly half the ROAS of their true match cousins, with Microsoft Ads again being stronger overall. 

 

1718772963 395 What Are They Really Costing You

Image created by Adpulse, May 2024

Underlying Data:

For the data nerds amongst us (at Adpulse we self-identify here !) 

1718772963 88 What Are They Really Costing You

Image created by Adpulse, May 2024


TL;DR

Close variant search terms consume, on average, more than half an advertiser’s budget whilst in most cases, performing significantly worse than search terms that actually match the keywords. How much worse? Read above for details ^. Enough that managing their impact effectively could well be one of your largest optimization levers toward driving significant improvements in account ROI. 


Image Credits

Featured Image: Image by Adpulse. Used with permission.

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

How To Uncover Traffic Declines In Google Search Console And How To Fix Them

Published

on

By

How To Uncover Traffic Declines In Google Search Console And How To Fix Them

Google Search Console is an essential tool that offers critical insights into your website’s performance in Google search results.

Occasionally, you might observe a sudden decline in organic traffic, and it’s crucial to understand the potential causes behind this drop. The data stored within Google Search Console (GSC) can be vital in troubleshooting and understanding what has happened to your website.

Before troubleshooting GSC traffic declines, it’s important to understand first what Google says about assessing traffic graphs in GSC and how it reports on different metrics.

Understanding Google Search Console Metrics

Google’s documentation on debugging Search traffic drops is relatively comprehensive (compared to the guidance given in other areas) and can, for the most part, help prevent any immediate or unnecessary panic should there be a change in data.

Despite this, I often find that Search Console data is misunderstood by both clients and those in the first few years of SEO and learning the craft.

Image from Google Search Central, May 2024

Even with these definitions, if your clicks and impressions graphs begin to resemble any of the above graph examples, there can be wider meanings.

Search Central description  It could also be a sign that…
Large drop from an algorithmic update, site-wide security, or spam issue This could also signal a serious technical issue, such as accidentally deploying a noindex onto a URL or returning the incorrect status code – I’ve seen it before where the URL renders content but returns a 410.
Seasonality You will know your seasonality better than anyone, but if this graph looks inverse it could be a sign that during peak search times, Google is rotating the search engine results pages (SERPs) and choosing not to rank your site highly. This could be because, during peak search periods, there is a slight intent shift in the queries’ dominant interpretation.
Technical issues across your site, changing interests This type of graph could also represent seasonality (both as a gradual decline or increase).
Reporting glitch ¯_(ツ)_/¯ This graph can represent intermittent technical issues as well as reporting glitches. Similar to the alternate reasons for graphs like Seasonality, it could represent a short-term shift in the SERPs and what meets the needs of an adjusted dominant interpretation of a query.

Clicks & Impressions

Google filters Click and Impression data in Google Search Console through a combination of technical methods and policies designed to ensure the accuracy, reliability, and integrity of the reported data.

Reasons for this include:

  • Spam and bot filtering.
  • Duplicate data removal.
  • User privacy/protection.
  • Removing “invalid activities.”
  • Data aggregation and sampling.

One of the main reasons I’ve seen GSC change the numbers showing the UI and API is down to the setting of thresholds.

Google may set thresholds for including data in reports to prevent skewed metrics due to very low-frequency queries or impressions. For example, data for queries that result in very few impressions might be excluded from reports to maintain the statistical reliability of the metrics.

Average Position

Google Search Console produces the Average Position metric by calculating the average ranking of a website’s URLs for a specific query or set of queries over a defined period of time.

Each time a URL appears in the search results for a query, its position is recorded. For instance, if a URL appears in the 3rd position for one query and in the 7th position for another query, these positions are logged separately.

As we enter the era of AI Overviews, John Mueller has confirmed via Slack conversations that appearing in a generative snapshot will affect the average position of the query and/or URL in the Search Console UI.

1718702762 996 How To Uncover Traffic Declines In Google Search Console AndSource: John Mueller via The SEO Community Slack channel

I don’t rely on the average position metric in GSC for rank tracking, but it can be useful in trying to debug whether or not Google is having issues establishing a single dominant page for specific queries.

Understanding how the tool compiles data allows you to better diagnose the reasons as to why, and correlate data with other events such as Google updates or development deployments.

Google Updates

A Google broad core algorithm update is a significant change to Google’s search algorithm intended to improve the relevance and quality of search results.

These updates do not target specific sites or types of content but alter specific systems that make up the “core” to an extent it is noteworthy for Google to announce that an update is happening.

Google makes updates to the various individual systems all the time, so the lack of a Google announcement does not disqualify a Google update from being the cause of a change in traffic.

For example, the website in the below screenshot saw a decline from the March 2023 core update but then recovered in the November 2023 core update.

GSC: the website saw a decline from the March 2023 core updateScreenshot by author from Google Search Console, May 2024

The following screenshot shows another example of a traffic decline correlating with a Google update, and it also shows that recovery doesn’t always occur with future updates.

traffic decline correlating with a Google updateScreenshot by author from Google Search Console, May 2024

This site is predominantly informational content supporting a handful of marketing landing pages (a traditional SaaS model) and has seen a steady decline correlating with the September 2023 helpful content update.

How To Fix This

Websites negatively impacted by a broad core update can’t fix specific issues to recover.

Webmasters should focus on providing the best possible content and improving overall site quality.

Recovery, however, may occur when the next broad core update is rolled out if the site has improved in quality and relevance or Google adjusts specific systems and signal weightings back in the favour of your site.

In SEO terminology, we also refer to these traffic changes as an algorithmic penalty, which can take time to recover from.

SERP Layout Updates

Given the launch of AI Overviews, I feel many SEO professionals will conduct this type of analysis in the coming months.

In addition to AI Overviews, Google can choose to include a number of different SERP features ranging from:

  • Shopping results.
  • Map Packs.
  • X (Twitter) carousels.
  • People Also Ask accordions.
  • Featured snippets.
  • Video thumbnails.

All of these not only detract and distract users from the traditional organic results, but they also cause pixel shifts.

From our testing of SGE/AI Overviews, we see traditional results being pushed down anywhere between 1,000 and 1,500 pixels.

When this happens you’re not likely to see third-party rank tracking tools show a decrease, but you will see clicks decline in GSC.

The impact of SERP features on your traffic depends on two things:

  • The type of feature introduced.
  • Whether your users predominantly use mobile or desktop.

Generally, SERP features are more impactful to mobile traffic as they greatly increase scroll depth, and the user screen is much smaller.

You can establish your dominant traffic source by looking at the device breakdown in Google Search Console:

Device by users: clicks and impressionsImage from author’s website, May 2024

You can then compare the two graphs in the UI, or by exporting data via the API with it broken down by devices.

How To Fix This

When Google introduces new SERP features, you can adjust your content and site to become “more eligible” for them.

Some are driven by structured data, and others are determined by Google systems after processing your content.

If Google has introduced a feature that results in more zero-click searches for a particular query, you need to first quantify the traffic loss and then adjust your strategy to become more visible for similar and associated queries that still feature in your target audience’s overall search journey.

Seasonality Traffic Changes

Seasonality in demand refers to predictable fluctuations in consumer interest and purchasing behavior that occur at specific times of the year, influenced by factors such as holidays, weather changes, and cultural events.

Notably, a lot of ecommerce businesses will see peaks in the run-up to Christmas and Thanksgiving, whilst travel companies will see seasonality peaks at different times of the year depending on the destinations and vacation types they cater to.

The below screenshot is atypical of a business that has a seasonal peak in the run-up to Christmas.

seasonal peaks as measured in GSCScreenshot by author from Google Search Console, May 2024

You will see these trends in the Performance Report section and likely see users and sessions mirrored in other analytics platforms.

During a seasonal peak, Google may choose to alter the SERPs in terms of which websites are ranked and which SERP features appear. This occurs when the increase in search demand also brings with it a change in user intent, thus changing the dominant interpretation of the query.

In the travel sector, the shift is often from a research objective to a commercial objective. Out-of-season searchers are predominantly researching destinations or looking for deals, and when it is time to book, they’re using the same search queries but looking to book.

As a result, webpages with a value proposition that caters more to the informational intent are either “demoted” in rankings or swapped out in favor of webpages that (in Google’s eyes) better cater to users in satisfying the commercial intent.

How To Fix This

There is no direct fix for traffic increases and decreases caused by seasonality.

However, you can adjust your overall SEO strategy to accommodate this and work to create visibility for the website outside of peak times by creating content to meet the needs and intent of users who may have a more research and information-gathering intent.

Penalties & Manual Actions

A Google penalty is a punitive action taken against a website by Google, reducing its search rankings or removing it from search results, typically due to violations of Google’s guidelines.

As well as receiving a notification in GSC, you’ll typically see a sharp decrease in traffic, akin to the graph below:

Google traffic decline from penaltyScreenshot by author from Google Search Console, May 2024

Whether or not the penalty is partial or sitewide will depend on how bad the traffic decline is, and also the type (or reason) as to why you received a penalty in the first place will determine what efforts are required and how long it will take to recover.

Changes In PPC Strategies

A common issue I encounter working with organizations is a disconnect in understanding that, sometimes, altering a PPC campaign can affect organic traffic.

An example of this is brand. If you start running a paid search campaign on your brand, you can often expect to see a decrease in branded clicks and CTR. As most organizations have separate vendors for this, it isn’t often communicated that this will be the case.

The Search results performance report in GSC can help you identify whether or not you have cannibalization between your SEO and PPC. From this report, you can correlate branded and non-branded traffic drops with the changelog from those in command of the PPC campaign.

How To Fix This

Ensuring that all stakeholders understand why there have been changes to organic traffic, and that the traffic (and user) isn’t lost, it is now being attributed to Paid.

Understanding if this is the “right decision” or not requires a conversation with those managing the PPC campaigns, and if they are performing and providing a strong ROAS, then the organic traffic loss needs to be acknowledged and accepted.

Recovering Site Traffic

Recovering from Google updates can take time.

Recently, John Mueller has said that sometimes, to recover, you need to wait for another update cycle.

However, this doesn’t mean you shouldn’t be active in trying to improve your website and better align with what Google wants to reward and relying on Google reversing previous signal weighting changes.

It’s critical that you start doing all the right things as soon as possible. The earlier that you identify and begin to solve problems, the earlier that you open up the potential for recovery. The time it takes to recover depends on what caused the drop in the first place, and there might be multiple factors to account for. Building a better website for your audience that provides them with better experiences and better service is always the right thing to do.

More resources: 


Featured Image: Ground Picture/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