Gewichteter Qualitätsfaktor – ein AdWords Script

Der Qualitätsfaktor ist ein wichtiger Indikator für die „Gesundheit“ eines AdWords Accounts. Und dieser Wert wird umso genauer, je mehr Anzeigenimpressionen erzielt werden. In diesem Beitrag zeige ich, warum der Impressionen gewichteter Qualitätsfaktor wichtig ist und wie Sie diesen berechnen. Und ich stelle ein AdWords Script vor, mit dem Sie diesen Wert – auch für mehrere Accounts gleichzeitig – schnell und automatisiert berechnen können.

Mit dem Qualitätsfaktor wird in Google AdWords die Relevanz und die Qualität der Anzeigen, Keywords und Zielseiten bewertet. Der Wert wird auf einer Skala von 1 bis 10 angegeben und beschreibt laut Google eine Schätzung der Gesamtleistung in Anzeigenauktionen (Quelle).

Der angezeigte Wert ist damit ein wichtiger Indikator für die „Gesundheit“ eines AdWords Accounts. Allerdings zeigt Google den Qualitätsfaktor nur für jedes einzelne Keyword an. Die Frage ist, wie wir schnell die „Qualität“ des gesamten Accounts beurteilen können.

Qualitätsfaktor auf Account-Ebene

Die naheliegendste Antwort wäre, wir bilden einfach einen Durchschnittswert aller Qualitätsfaktoren. Dies zeigt allerdings ein etwas verzerrtes Bild. Denn der Qualitätsfaktor für jedes einzelne Keyword wird bei jeder Auktion, an der das Keyword teilnimmt, immer neu berechnet. Und jede dieser einzelnen Berechnungen beeinflusst den Wert, der im AdWords Accounts für das jeweilige Keyword angezeigt wird. Je mehr ein Keyword an einer Auktion teilnimmt, desto genauer wird die angezeigte Bewertung. Oder anders ausgedrückt: Je mehr Impressionen ein Keyword hat, desto mehr „Gewicht“ hat der Wert des Qualitätsfaktors, der zu diesem Keyword angegeben wird.

Um die Qualität des AdWords Accounts zu bewerten, sollten wir also einen gewichteten Qualitätsfaktor betrachten. Die Berechnung ist dabei sehr einfach: wir Multiplizieren den Qualitätsfaktor jedes Keywords mit der Anzahl der Impressionen, summieren alle diese Werte auf und teilen dies durch die gesamte Anzahl der Impressionen im Account. In einer Formel ausgedrückt:

QS = [Sum of (Keyword QS x Keyword Impressions) ] / [Sum of Keywords Impressions]
Formel für die Berechnung des Impression-weighted Qualityscore
“QS” steht dabei für den Qualitätsfaktor (engl.: „Quality Score“) und „IW“ für „Impressions Weighted“ – Impressionen-gewichteter Qualitätsfaktor.

Dieser Wert lässt sich natürlich nicht nur auf der Account-Ebene sondern auch für jede einzelne Kampagne oder auch Anzeigengruppe berechnen. Damit können Sie zum Beispiel auch Kampagnen identifizieren, die einen schlechteren Qualitätsfaktor haben und damit als erste optimiert werden sollten.

Berechnung des gewichteten Qualitätsfaktors

Es gibt mehrere Wege, um den gewichteten Qualitätsfaktor zu berechnen. Es existieren verschiedene Excel-Vorlagen, die diesen Wert für den Qualitätsfaktor aus den exportierten Account-Daten berechnen. Auch einige Online-Tools wie der AdWords Performance Grader von Wordstream berechnen diesen Wert. Für die schnelle Berechnung in den eigenen Accounts eignet sich auch ein AdWords Script. Wir haben ein solches Script geschrieben, der den Impressionen-gewichteten Qualitätsfaktor berechnet – sowohl für den einzelnen Account als auch für mehrere Accounts, die in einem MCC zusammengefasst sind.

AdWords Script für den Impression weighted Quality Score

/********************************************************************
* @name 'Quality Score Calculator' for MCC and single accounts
* 
* @version:	1.3 - 2016-05-17
* @author:	Alexander Gut | DAIR-Media.net
* 
* @overview: This script calculates an account wide 
*   impression weighted quality score (QS) based on following formula:
*	QS = [Sum of (Keyword QS x Keyword Impressions) ] / [Sum of Keywords Impressions]
*   
*   The value will be displayed in "protocols" tab after script execution.
*
* CHANGELOG:
* v1.3 - add automatic detection whether or not the script is running in a manager account.
* v1.2 - add option to calculate QS on enabled and paused elements
* v1.1 - add optional MCC functionality
* v1.0 - initial release
*
********************************************************************/

/*
 * Date range to calculate Account QS on; possible values:
 * TODAY, YESTERDAY, LAST_7_DAYS, THIS_WEEK_SUN_TODAY, LAST_WEEK,
 * LAST_14_DAYS, LAST_30_DAYS, LAST_BUSINESS_WEEK, LAST_WEEK_SUN_SAT,
 * THIS_MONTH, LAST_MONTH, ALL_TIME
 */
var DATE_RANGE = 'LAST_30_DAYS'; // prefered value is 'LAST_30_DAYS'

/**
 * Status code for items to be checked.
 */
var STATUSES_TO_CHECK = ['ENABLED']; // ['ENABLED', 'PAUSED'];

/*
 * Option for using this script on MCC level
 * Add an array of managed account IDs, e.g. ['111-111-1111', '222-222-2222']
 */
var ACCOUNT_IDS = [];

// Whether or not the script is running in a manager account.
var IS_MANAGER = typeof MccApp !== 'undefined';

					  
function main() {

	if (IS_MANAGER && ACCOUNT_IDS.length > 0){
		var mccAccount = AdWordsApp.currentAccount();
		var accountIterator = MccApp.accounts().withIds(ACCOUNT_IDS).get();

		while (accountIterator.hasNext()) {
			var account = accountIterator.next();
			MccApp.select(account);
			Logger.log('START processing account %s ("%s")', account.getCustomerId(), account.getName());
			calculateQS();
		}
	}
	else {
		calculateQS();
	}
	
}

function calculateQS() {

	var totalImpressionsAnalyzed = 0;
	var totalQualityScoreAnalyzed = 0;
	var keywordIterator = AdWordsApp.keywords()
		.withCondition('Status IN [' + STATUSES_TO_CHECK.join(',') + ']')
		.withCondition('CampaignStatus IN [' + STATUSES_TO_CHECK.join(',') + ']')
		.withCondition('AdGroupStatus IN [' + STATUSES_TO_CHECK.join(',') + ']')
		.orderBy('Impressions')
		.forDateRange(DATE_RANGE)
		.withLimit(100000)
		.get();
		
	while (keywordIterator.hasNext()) {

		var keyword = keywordIterator.next();
		var qualityScore = keyword.getQualityScore();
		var keywordStats = keyword.getStatsFor(DATE_RANGE);

		var impressions = keywordStats.getImpressions();
		var qualityScoreContribution = qualityScore * impressions;
		totalQualityScoreAnalyzed = totalQualityScoreAnalyzed + qualityScoreContribution;
		totalImpressionsAnalyzed = totalImpressionsAnalyzed + impressions;
	}

	var accountQualityScore = totalQualityScoreAnalyzed / totalImpressionsAnalyzed;

	Logger.log("Impression-weighted QS: " + accountQualityScore);

}

Der Script berechnet den Impresison weighted Qualityscore auf Basis der Daten aus den letzten 30 Tagen. Natürlich lässt sich der Zeitraum auch anpassen. Ebenso werden standardmäßig nur die aktiven Kampagnen, aktiven Anzeigengruppen (AdGroups) und aktiven Keywords berücksichtigt. Auf Wunsch können Sie auch pausierte Elemente in die Berechnung einbeziehen. Um den Script einfacher zu halten, erfolgt die Ausgabe des Ergebnisses direkt in der Oberfläche unter „Protokoll“. Sie können den Script kann auch einfach ergänzen, um den berechnet Wert auch per E-Mail zu versenden. Eine gute Einführung in AdWords Scripts bietet Google auf den eigenen Hilfe-Seiten.

Fragen zu diesem AdWords Script oder Verbesserungsvorschläge? Einfach unsere AdWords Agentur kontaktieren oder hier in Kommentaren posten. Wir freuen uns auf Feedback.

Hat Ihnen der Artikel gefallen? Teilen Sie ihn bitte.