我的目标是使用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之间,这意味着会话必须包括两者。用户::条件:: GA:PAGEPATH = @ /类别1; GA:PAGEPATH = @ /类别2
此细分受众群将收集访问2个类别的所有用户。
如果我们使用','users :: condition :: ga:pagePath = @ / category1 **,** ga:pagePath = @ / category2
此细分受众群将收集1个和2个类别的所有用户,即使用户只访问过一个。
你应该使用'!'从段中排除某些内容
会议::状态:: ** GA:exitPagePath == /
希望它能帮到你!