我的目标是使用Google Spreadsheets中的数据作为根据Google Analytics(分析)统计数据批量创建AdWords再营销受众群体的参数。
我的代码基于此article。
API连接似乎正在工作。正在创建受众群体,但是我在指定根据ga:pagePath应该包含/排除受众群体的细分参数时遇到了问题。
所以我的问题是:
我做错了什么?
有人可以给出提示或建议如何使其工作吗?
电子表格表
| Audience Name | URL include 1 | URL include 2 | URL include 3 | URL exclude 1 | URL exclude 2 | URL exclude 3 | Duration |
|---------------|---------------|---------------|---------------|---------------|---------------|---------------|----------|
| Test 1 | /test | /test2 | | | | | 540 |
|---------------|---------------|---------------|---------------|---------------|---------------|---------------|----------|
| Test 2 | /test3 | /test4 | | | | | 540 |
|---------------|---------------|---------------|---------------|---------------|---------------|---------------|----------|
电子表格宏脚本
function main() {
var settings = {'linkedView':"XXXXXXXXX",
'linkedAccountId':"XXX-XXX-XXXX",
'accountId':'XXXXXXXX',
'propertyID':'UA-XXXXXXXX-X'};
var spreadsheet = SpreadsheetApp.openByUrl('XXXXXX');
var sheet = spreadsheet.getSheetByName('test');
var range = sheet.getRange(2, 1, sheet.getLastRow(), 8);
var values = range.getValues();
for(var i = 0; i < values.length; i++) {
var name = values[i][0];
var categoryUrl = values[i][1];
var duration = Math.floor(values[i][7]);
Logger.log(duration);
var inludeSegment = '';
var exludeSegment = '';
if(values[i][1]) {
inludeSegment += 'users::condition::ga:pagePath=@'+ values[i][1];
}
/*
if(values[i][2]) {
inludeSegment += ';ga:pagePath==' + values[i][2];
}
if(values[i][3]) {
inludeSegment += ';ga:pagePath==' + values[i][3];
}
if(values[i][4]) {
exludeSegment += 'sessions::condition::ga:pagePath==' + values[i][4];
}
if(values[i][5]) {
exludeSegment += ';ga:pagePath==' + values[i][5];
}
if(values[i][6]) {
exludeSegment += ';ga:pagePath==' + values[i][6];
}*/
var newAudience = Analytics.Management.RemarketingAudience.insert(
{
'name': name,
'linkedViews': [settings.linkedView],
'linkedAdAccounts': [{
'type': 'ADWORDS_LINKS',
'linkedAccountId': settings.linkedAccountId,
}],
'description' : 'test',
'audienceType': 'SIMPLE',
'audienceDefinition': {
'includeConditions': {
'daysToLookBack': 14,
'segment': inludeSegment,
'membershipDurationDays': duration,
'isSmartList': false
}
}
},
settings.accountId,
settings.propertyID
);
Logger.log(newAudience);
Logger.log(i + ' Audience ' + name + ' has been created');
};
}
最佳答案
我看到您在细分定义方面遇到了问题。
https://developers.google.com/analytics/devguides/reporting/core/v3/segments-feature-reference
本文对您有帮助。
因为当您使用';'在pagePathes之间,这意味着会话必须同时包含两者。
用户:: condition :: ga:pagePath = @ / category1; ga:pagePath = @ / category2
此细分将收集访问了2个类别的所有用户。
如果我们使用','
用户:: condition :: ga:pagePath = @ / category1 **,** ga:pagePath = @ / category2
此细分将收集1和2类的所有用户,即使用户只访问了一个。
您应该使用'!'从细分中排除某些内容
会话:: condition :: **!** ga:exitPagePath == /
希望对您有帮助!
关于google-analytics - 通过API批量创建AdWords受众群体,包括/扩展多个pagePath,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43608209/