当前位置: 首页 > news >正文

玉环企业网站建设/站外seo推广

b谷歌显示网络(GDN)是两个b谷歌AdWords网络之一,它允许企业在网络上的大量网站上放置显示广告。虽然与b谷歌的搜索网络相比,这是一种被动的广告形式,但该公司估计,GDN涉及90%以上的互联网用户。

GDN的问题

在线展示广告位置的阴暗面是,你需要花费大量时间过滤数百个你不希望出现的关于你的公司、产品或服务的信息的位置。营销人员、SEO专家、作家、网络开发人员和其他负责任的员工面临的问题是,即使使用过滤器,他们也要花几个小时来处理这种类型的组织。

谷歌AdWords提供了在系统界面内直接使用javascript管理广告活动的选项,因此使用可以自动完成这项工作的脚本清理GDN位置的想法是有希望的。我们的团队在一段时间前开始研究这个主题领域,我们研究了通过使用脚本来解决这个问题的尝试。

我们发现以下两个选项特别有用:第一个是由Alexey Jaroshenko开发的,第二个是由Derek Martin开发的。他们的一些想法和部分剧本被用来开发一个解决方案。

通解

要充分了解我们的逐步解决方案是如何工作的,以及您有什么选择,请考虑以下重要细节。

主要条件

该脚本指的是谷歌AdWords在指定时间段内的自动投放报告。它制作了几个样本,其中所选的放置位置满足以下条件:

费用超过X美元且无折算;

转换费用在X美元以上;

印象超过X次,点击率低于Y %,没有转化;

有超过X个印象,CTR大于Y %,没有转化。

上述所有标准都可以在谷歌电子表格的“config”列表中手动设置,因为脚本会从中导入数据。

不必要的域

执行相同的过程来分析域名中不需要的“坏”单词的条目,而不进行转换。这些标记的列表在“ exclude_domain ”列表中指定。

图1:谷歌电子表格“exclude_domain”列表的示例。

例外情况一览表

选择的位置被添加到帐户共享库级别的例外列表中。

对于每个示例,共享库中都有一个单独的列表(必须首先创建它们),您可以随意命名它们,但它必须包含—list1、list2、list3、list4和list5。此外,文件本身也提供了相关信息(见图2和图3)。

图2:带有列表的共享库的示例。

图3:谷歌电子表格报告的示例。

您可以添加移动应用程序,匿名。谷歌和YouTube的“ except_domain ”列表。

图4:“except_domain”列表的示例。

结果通知邮件

脚本执行完成后,会发送邮件到config列表中指定的联系人地址。电子邮件包含前两个样本的统计数据和剩余选择的排除位置的数量,以及谷歌电子表格的链接。请注意,您需要在脚本的各自行中设置谷歌电子表格的链接和项目的标题。

一步一步的解决方案

1. 注明谷歌电子表格链接和项目名称:

Var config = {

SPREADSHEET_URL:链接到谷歌电子表格‘,

PROJECT_NAME:“项目名称”,

}

2. 指定列表的标题,其中第5个位置选择的“坏”,表现不佳的域的标记在第一列中显示:

函数getConfigData(电子表格){

var excludeDomainSheet = spreadsheet.getSheetByName(‘exclude_domain‘),

values =exclude DomainSheet.getSheetValues(1,1,excludeDomainSheet.getLastRow(),1);

配置。排除= [];

If (typeof values == “object“) {

(我= 0;I < values.length;我+ +){

config.exclude.push(值[我][0]);

}

}

Logger.log (config.exclude)

3. 指出列表的标题,其中不包括在统计分析中的域的标记:

var except DomainSheet = spreadsheet.getSheetByName(‘except_domain‘),

values = except DomainSheet.getSheetValues(1,1,exceptDomainSheet.getLastRow(),1);

配置。Except = [];

If (typeof values == “object“){

(我= 0;I < values.length;我+ +){

config.except.push(值[我][0]);

}

}

Logger.log (config.except)

4. 指定你的选择标准:

列表标题,

联系电子邮件,

报告时段;

第一次选择位置的最大费用,

第二次选择投放的最大转换成本,

第三次选择的最小印象数,

第三个选择的最大点击率;

第四次选择的最小印象数,以及

第四次选择的最低点击率。

var configSheet = spreadsheet.getSheetByName(‘config‘);

配置。email = configSheet.getRange(1,2,1,1).getValues();

配置。timeperiod = configSheet.getRange(2,2,1,1).getValue();

配置。listCost = configSheet.getRange(3,2,1,1).getValue();

配置。list2converoncost = configSheet.getRange(4,2,1,1).getValue();

配置。list3Impressions = configSheet.getRange(5,2,1,1).getValue();

配置。list3Ctr = configSheet.getRange(6,2,1,1).getValue();

配置。list4Impressions = configSheet.getRange(7,2,1,1).getValue();

配置。list4Ctr = configSheet.getRange(8,2,1,1).getValue()

5. 考虑到脚本执行的最后日期,更新文档的标题:

main() {

var spreadsheet = SpreadsheetApp.openByUrl(config.SPREADSHEET_URL);

var curDate =实用程序。formatDate(new Date(), “GMT+3“, “yyyy- mm -dd“);

getConfigData(电子表格);

电子表格。setName(“GDN报告”+ config. conf)项目名称+ “ “ +当前日期)

6. 生成报告:

var body = “

谷歌显示网络-报告表现不佳的广告

“;

body += “

花费超过”listCost +“美元和没有带来转换:

”;

Body += “

    “;

    var list = runHightCostAndNoConvertingReport();

    var = [];

    (我= 0;I < list.length;我+ +){

    Body += “

  • “ + list[i]。位置+ ‘ - ‘ + list[i]。cost + ‘ USD ‘ + “
  • “;

    }

    addPlacementList (list1,列表,电子表格);

    Body += “

“;

body += “

位置的转换成本高于” + config。list2converoncost + “ USD:

Body += “

    “;

    var list2 = runhighcostofconveronsreport ();

    (我= 0;I < list2.length;我+ +){

    Body += “

  • “ + list2[i]。位置+ ‘ - ‘ + list2[i]。cost + ‘ USD ‘ + ‘ -转换成本- ‘ + list2[i]。costperconversion + ‘ USD ‘ + “
  • “;

    }

    addPlacementList(“用于”,用于电子表格);

    Body += “

“;

body += “

位置大于”list3Impressions +“印象和点击率低于”+ config。list3Ctr + “%:

“;

Body += “

    “;

    var list3 = runbadctrnoconveronsreport ();

    body += “

  • 异常的数量- “ + list3。长度+ “
  • “;

    addPlacementList (list3, list3、电子表格);

    Body += “

“;

body += “

位置大于”list4Impressions +“印象和点击率超过”+ config。list4Ctr + “%:

“;

Body += “

    “;

    var list4 = runHighCtrReport();

    body += “

  • 异常的数量- “ + list4。长度+ “
  • “;

    addPlacementList (list4, list4、电子表格);

    Body += “

“;

body += “

的位置,其中域名包含不需要的词:

“;

Body += “

    “;

    var list5 = gameplacement ();

    body += “

  • 异常的数量- “ + list5。长度+ “
  • “;

    addPlacementList (list5, list5、电子表格);

    Body += “

“;

body += “链接到报告谷歌电子表格“;

7. 发送带有选定位置的电子邮件:

如果(config.email.length) {

MailApp.sendEmail(配置。电子邮件,“显示网络警报-”+配置。PROJECT_NAME + “ - “ + curDate, body, {htmlBody: body});

}

8. 使用以下函数添加排除项中的位置:

addPlacementList(nameList,list,spreadsheet) {

Var rows = [],

床单,

范围内,

listSharedExcludedPlacementIterator;

sheet = spreadsheet.getSheetByName(nameList);

sheet.clear ();

范围=表。getRange(1,1,1,7).setValues([[‘Exclusion URL‘,‘Impressions‘,‘Clicks‘,‘CTR‘,‘Cost‘,‘Conversions‘,‘Cost Per Conversion‘]]);

range.setBackground(“黄色”);

listSharedExcludedPlacementIterator = AdWordsApp.excludedPlacementLists()

.withCondition(“Name CONTAINS ‘“ + nameList + “‘“).get();

while (listSharedExcludedPlacementIterator.hasNext()) {

listSharedExcludedPlacement = listSharedExcludedPlacementIterator.next();

}

(我= 0;I < list.length;我+ +){

listSharedExcludedPlacement.addExcludedPlacement([我].placement列表);

rows.push列表([[我]。位置,列出[我]。印象,列出[我]。点击,[我]列表。单击/ list[i]。印象* 100 +“%”,列表[i]。成本,(我)列表。转换,列表[我].costperconversion])

}

如果(rows.length)

床单。getRange(2,1,行)长度,7).setValues(行)。Sort ({column: 2,升序:false});

}

函数runHightCostAndNoConvertingReport() {

List = [];

var periodString = “;

如果(config.timeperiod) {

periodString = ‘DURING ‘ + config.timeperiod;

Logger.log (periodString);

} else {

Logger.log(‘DURING ALL TIME‘);

}

9. 确定花费超过X美元且没有带来转化的广告投放:

var report = AdWordsApp.report

‘选择域,点击,印象,CostPerConversion,转换,成本’ +

‘ from automatic_placements_performance_report ’ +

‘WHERE Cost > ’ + config。listCost * 1000000 +“”+

‘AND转换< 1 ’ +

periodString);

Var rows = report.rows();

while (rows.hasNext()) {

Var row = rows.next();

var anonymous = row[‘Domain‘].match(new RegExp(config.except.join(‘|‘).replace(/\./g,‘\\.‘),‘g‘));

If (anonymous == null) {

var placementDetail = new placementObject(行[‘Domain‘],行[‘Clicks‘],行[‘Impressions‘],行[‘CostPerConversion‘],行[‘Conversions‘],行[‘Cost‘]);

list.push (placementDetail);

}

}

返回列表;

}

函数runhighcostofconveronsreport () {

List = [];

var periodString = “;

如果(config.timeperiod) {

periodString = ‘DURING ‘ + config.timeperiod;

Logger.log (periodString);

} else {

Logger.log(‘DURING ALL TIME‘);

}

10. 确定转化率高于X USD的投放位置:

var report = AdWordsApp.report

‘选择域,点击,印象,CostPerConversion,转换,成本’ +

‘ from automatic_placements_performance_report ’ +

‘WHERE CostPerConversion > ’ + config。list2ConversionCost * 1000000 +“”+

‘AND转换> 1 ’ +

periodString);

Var rows = report.rows();

while (rows.hasNext()) {

Var row = rows.next();

var anonymous = row[‘Domain‘].match(new RegExp(config.except.join(‘|‘).replace(/\./g,‘\\.‘),‘g‘));

If (anonymous == null) {

var placementDetail = new placementObject(行[‘Domain‘],行[‘Clicks‘],行[‘Impressions‘],行[‘CostPerConversion‘],行[‘Conversions‘],行[‘Cost‘]);

list.push (placementDetail);

}

}

返回列表;

}

函数runbadctrnoconveronsreport () {

List = [];

var periodString = “;

如果(config.timeperiod) {

periodString = ‘DURING ‘ + config.timeperiod;

Logger.log (periodString);

} else {

Logger.log(‘DURING ALL TIME‘);

}

11. 确定没有转化率,印象超过X,点击率低于Y %的广告位置:

var report = AdWordsApp.report

‘选择域,点击,印象,CostPerConversion,转换,成本’ +

‘ from automatic_placements_performance_report ’ +

‘WHERE Impressions > ’ + config。list3印象+“”+

‘AND ctrl < ’ + config。list3Ctr * 0.01 +“”+

‘AND转换< 1 ’ +

periodString);

Var rows = report.rows();

while (rows.hasNext()) {

Var row = rows.next();

var anonymous = row[‘Domain‘].match(new RegExp(config.except.join(‘|‘).replace(/\./g,‘\\.‘),‘g‘));

If (anonymous == null) {

var placementDetail = new placementObject(行[‘Domain‘],行[‘Clicks‘],行[‘Impressions‘],行[‘CostPerConversion‘],行[‘Conversions‘],行[‘Cost‘]);

list.push (placementDetail);

}

}

返回列表;

}

函数runHighCtrReport() {

List = [];

var periodString = “;

如果(config.timeperiod) {

periodString = ‘DURING ‘ + config.timeperiod;

Logger.log (periodString);

} else {

Logger.log(‘DURING ALL TIME‘);

}

12. 找出那些没有转化率,但印象超过X,点击率超过Y %的广告位置:

var report = AdWordsApp.report

‘选择域,点击,印象,CostPerConversion,转换,成本’ +

‘ from automatic_placements_performance_report ’ +

‘WHERE Impressions > ’ + config。list4Impressions +“”+

‘AND ctrl b> ’ + config。list4Ctr * 0.01 +“”+

‘AND转换< 1 ’ +

periodString);

Var rows = report.rows();

while (rows.hasNext()) {

Var row = rows.next();

var anonymous = row[‘Domain‘].match(new RegExp(config.except.join(‘|‘).replace(/\./g,‘\\.‘),‘g‘));

If (anonymous == null) {

var placementDetail = new placementObject(行[‘Domain‘],行[‘Clicks‘],行[‘Impressions‘],行[‘CostPerConversion‘],行[‘Conversions‘],行[‘Cost‘]);

list.push (placementDetail);

}

}

返回列表;

}

函数gamePlacements() {

List = [];

var periodString = “;

如果(config.timeperiod) {

periodString = ‘DURING ‘ + config.timeperiod;

Logger.log (periodString);

} else {

Logger.log(‘DURING ALL TIME‘);

}

13. 添加任何没有转换的位置,哪个域包含不需要的单词:

var report = AdWordsApp.report

‘选择域,点击,印象,CostPerConversion,转换,成本’ +

‘ from automatic_placements_performance_report ’ +

‘WHERE转换< 1 ’ +

periodString);

Var rows = report.rows();

while (rows.hasNext()) {

Var row = rows.next();

var anonymous = row[‘Domain‘].match(new RegExp(config.except.join(‘|‘).replace(/\./g,‘\\.‘),‘g‘));

If (anonymous == null) {

var placement = row[‘Domain‘];

var clicks = row[‘ clicks ‘];

var impressions = row[‘ impressions ‘];

var costperconversion = row[‘ costperconversion ‘]

var conversions = row[‘ conversions ‘];

var cost = row[‘ cost ‘];

var placementDetail =新placementObject(位置,点击,印象,成本转换,转换,成本);

if (containsAny(placement.toString(), config.exclude)) {

var placementDetail =新placementObject(位置,点击,印象,成本转换,转换,成本);

list.push (placementDetail);

}

}

}

返回列表;

}

函数containsAny(str, substrings) {

For (var I = 0;= substrings.length;我+ +){

Var substring = substrings[i];

if (str.indexOf(substring) != - 1) {

返回字符串;

}

}

返回null;

}

函数placementObject(位置,点击,印象,成本,转换,转换,成本){

这一点。安置=安置;

这一点。点击=点击;

这一点。印象=印象;

这一点。Costperconversion = Costperconversion;

这一点。转换=转换;

这一点。Cost =成本;

}

结果

我们使用以下标准测试脚本(见下图)。

图5:用于测试脚本并找到“糟糕”位置的标准。

我们收到的邮件包含以下发现:

谷歌展示网络-表现不佳的广告投放报告:花费超过300美元但没有带来转化的广告投放;转化成本超过500美元的广告投放;展示次数超过100次且点击率低于0.05%的广告投放;

例外的数量- 3

展示次数超过50次,点击率超过8%的广告位:

例外的数量- 7

位置,哪个域名包含不需要的单词:

异常的数量- 382

链接到报告谷歌电子表格。

最后的评论

指出一些需要牢记的重要细节是公平的:

上述参数可以根据您的项目需要指定。

您可以在共享库中的异常列表中添加新的位置。

请记住,您可以每周或在必要时调整脚本的自动启动。

如果您的帐户有很长的历史,建议检查整个时间段,以获得所有表现不佳的位置。为此,只需将时间段字段留空即可。然后,您可以更改“LAST_WEEK”或“LAST_14_DAYS”的周期。

祝你好运,找到你的“坏”位置,提高你的表现!

对你有用吗?请在评论中告诉我们。

相关文章:

  • 威远移动网站建设/seo排名优化软件有用
  • java网站做微信分享/陕西网站建设网络公司
  • 东莞常平医院网站建设/深圳营销策划公司十强
  • 自己如何做网站建设/seo外链购买
  • 郑州网站建设网站开发/网络营销ppt案例
  • 邯郸网站建设浩森宇特/经典软文案例分析
  • 福州网站建设联系时事在/苏州百度快照优化排名
  • 舟山企业网站建设/网址大全下载
  • 六盘水网站建设/搜索引擎入口yandex
  • 网站建设多少钱一年/站长工具无内鬼放心开车禁止收费
  • 温州网站建设大全/网站关键词查询网址
  • 思帽西宁网站建设/排名轻松seo 网站推广