Filters in K50:Statistics to find ineffective keywords

K50:Statistics is a service that collects data from ad systems (Yandex.Direct and Google Adwords) and analytics systems (Google Analytics, call tracking services, CRM) in one table. Besides data analysis, you can also use the service to perform simple actions on ad objects: stop/start, change the bid. One of the advantages of the service is that it enables you to set filters for the statistics table and find effective and ineffective ad materials this way. This article is about filters like that. We don't recommend immediately disabling the phrases for which performance indicators don't meet KPIs. You first need to analyze the ads that use these phrases, landing pages, and the correctness of UTMs. It is possible that the goals for these phrases simply do not count as achieved due to the absence of {phrase_id} in the UTM.

Synchronize data from Google Analytics and Yandex.Direct

First of all, make sure that you collect the data correctly at all levels. We often receive questions from users regarding inconsistencies between the data from ad systems and web analytics systems. In most cases, the reason for this is the lack of mandatory parameters in the tag.To check UTM, you can go to Campaigns , select the ad campaigns, and click UTM markup → Check UTM markup. Keep in mind that your UTMs must contain the following parameters in order for the service to work correctly: Yandex.Direct: {phrase_id} {retargeting_id} {campaign_id} {ad_id} {source_type} {source} Ads: {targetid} {campaignid} {adgroupid}.

Searching for phrases with no transactions/calls, but with a high expense

This filter will help you quickly find keywords with a high expense but no transactions or calls. You can also stop them immediately or lower the relevant bids. You'll need the following columns in the table to work on this task: Phrase (key), Bid, "Goal name" goal achievement, Comprehensive status, you can also add other columns for convenience. We recommend configuring a filter like that depending on the following campaign characteristics: brand, product, or category, impression region and ad placement (YAN/Search). You need to review different types of campaigns separately because they will have different expenses. For example, the expenses in product campaigns are likely to be lower than in category campaigns.First, we selected the campaigns we were interested in, using the left navigation panel: we took the category campaigns on Search (they don't contain the abbreviation YAN in the name but do contain the word "category"). Next, we set up filters for three columns:

  • Impressions: greater than 0

  • Expenses: greater than 30 units

  • Goal achievement: 0

  • Comprehensive status: active

Keep in mind that when choosing a critical expense, you should be guided by your topic and the frequency of keywords of the campaign.

If you have one of the call tracking systems connected, for example, K50:Tracker, you can use this data to search for keywords that don't bring any calls. This filter uses the same as the previous one, the only difference is in metrics. In this case, we're searching not for the achievement of goals from Google Analytics but for calls. The CRM: Number of orders metric handles calls.

Searching for phrases with a high CPO or a high call cost

K50:Statistics doesn't have the CPO metric by default, but the service has features that enable you to create your own metrics for calculation. So, you first need to create a custom metric to calculate CPO. This formula looks like this:

  • for Yandex.Direct = [Yandex.Direct All expenses]/["Goal name" goal achievement]

  • for Google AdWords = [Google AdWords All expenses]/["Goal name" goal achievement]>

We'll need the following columns: Keyword, Bid, Comprehensive status, "Goal name" goal achievement, and CPO.

Using the left navigation panel, we filtered out the campaigns we are interested in. Next, we set up filters for three columns:

  • All impressions: > 0

  • CPO: for example, > 150

  • "Goal name" goal achievement: >= 1

If you have one of the call tracking systems connected, you can calculate the cost of each call and find keywords that result in the calls that are too expensive. You first need to create a custom metric to calculate the cost of a call. This formula looks like this: for Yandex.Direct = [Yandex.Direct All expenses]/[CRM: Number of orders] for Google AdWords = [Google AdWords All expenses]/[CRM: Number of orders]. Next, you need to configure filters by three columns:

  • Comprehensive status: active impressions

  • Call cost: for example, > 200

  • CRM: Number of orders: >= 1

Searching for keywords with a high bounce rate

A high bounce rate is a very common problem on websites, which, among other things, reduces the conversion rate. There can be many reasons for that:

  • Mismatch between the request and the landing page

  • Pop-up and ad windows

  • Page loading speed.

We shall note that there's no generally accepted "high" and "low" bounce rate because much depends on the topic of the site, its type (portal, online store, promo site) and the type of traffic. So, when searching for such words, focus on your average quality score for the site. We'll need the following columns: Keyword, Bid, Bounce rate, Comprehensive status, Clicks.

We filtered the table by columns:

  • Comprehensive status: active

  • Bounce rate: > 60%

  • All clicks: >10.

Searching for keywords with a low CTR

A low CTR affects the cost per click and can also be indicative of the overall relevance of the ad to the keyword. The CTR strongly depends on the ad block. In K50:Statistics, you can view the CTR separately for the premium placement and the warranty. In this example, we find words with more than 50 clicks with a CTR below 1% in the warranty or below 5% in the premium placement.