Политики реализуются на веб-странице. Когда контейнер запускается на странице, к определениям пользовательских шаблонов Диспетчера тегов применяются политики, позволяющие контролировать использование определенных функций и возможностей. Политики реализуются с помощью API gtag('policy', ...)
.
Для API gtag('policy', ...)
требуются определения dataLayer и gtag()
. Убедитесь, что dataLayer
и gtag()
определены в вашем коде, прежде чем gtag('policy', ...)
будет вызываться позже в скрипте:
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
Используйте API gtag('policy', ...)
на веб-странице, чтобы установить политики для разрешений настраиваемых шаблонов :
gtag('policy', <permissionId>, <function>)
Аргумент <permissionId>
— это любой из поддерживаемых типов разрешений, например inject_script
. Политика будет вызываться всякий раз, когда контейнер захочет проверить, разрешено ли это разрешение.
gtag('policy', 'inject_script', function(containerId, permissionId, data) {
// Specific inject_script check goes here.
});
Укажите 'all'
, чтобы взаимодействовать со всеми проверками политики.
gtag('policy', 'all', function(containerId, permissionId, data) {
// System-wide check goes here.
});
Третий аргумент — <function>
— это функция, реализующая указанную политику с такой сигнатурой:
function(containerId, permissionId, data) {...}
-
containerId
— идентификатор контейнера Диспетчера тегов, например'GTM-1234'
. -
permissionId
— это строка, указывающая тип проверяемой политики. -
data
— это объект, который содержит любую информацию, соответствующую указанному типу разрешения, например,'url'
для разрешения'send_pixel'
.
Функция политики отклоняет запрос разрешения, если он возвращает false
или генерирует исключение. Любые исключения с типом string
или Error
будут отображаться в разделе «Ошибки» на панели отладки, когда включен режим предварительного просмотра . Если зарегистрировано несколько проверок политики, вызывается каждая проверка, и каждая проверка имеет возможность отклонить запрос политики.
В этом примере создается политика, которая проверяет разрешение 'inject_script'
:
gtag('policy', 'inject_script', function(containerId, permissionId, data) {
// reference the url of the script to be injected
let url = data.url || '';
// if the url of the injected script exactly matches, allow it.
// otherwise throw an error
if (url === 'https://scripts.example.com/analytics.js') {
return true;
} else {
throw 'Only permitted to inject https://scripts.example.com/analytics.js';
}
});
В этом примере ключевое слово 'all'
используется для проверки нескольких сценариев политики:
gtag('policy', 'all', function(containerId, permissionId, data) {
// Only set policy for 1 specific container.
// This enables other containers loaded on the page to
// operate without restrictions on permissions.
if (container != 'GTM-4321') return true;
// Since the policy is 'all', adjust permissions conditionally.
switch (permissionId) {
case 'send_pixel':
return true;
case 'write_globals':
return data.key && data.key == '_gaq';
case 'inject_script':
let url = data.url || '';
if (url.indexOf('https://example.com') != 0)
throw 'Only example.com scripts are permitted';
default:
// IT staff decides that all unknown permissions
// are rejected.
return false;
}
});
, Политики реализуются на веб-странице. Когда контейнер запускается на странице, к определениям пользовательских шаблонов Диспетчера тегов применяются политики, позволяющие контролировать использование определенных функций и возможностей. Политики реализуются с помощью API gtag('policy', ...)
.
Для API gtag('policy', ...)
требуются определения dataLayer и gtag()
. Убедитесь, что dataLayer
и gtag()
определены в вашем коде, прежде чем gtag('policy', ...)
будет вызываться позже в скрипте:
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
Используйте API gtag('policy', ...)
на веб-странице, чтобы установить политики для разрешений настраиваемых шаблонов :
gtag('policy', <permissionId>, <function>)
Аргумент <permissionId>
— это любой из поддерживаемых типов разрешений, например inject_script
. Политика будет вызываться всякий раз, когда контейнер захочет проверить, разрешено ли это разрешение.
gtag('policy', 'inject_script', function(containerId, permissionId, data) {
// Specific inject_script check goes here.
});
Укажите 'all'
, чтобы взаимодействовать со всеми проверками политики.
gtag('policy', 'all', function(containerId, permissionId, data) {
// System-wide check goes here.
});
Третий аргумент — <function>
— это функция, реализующая указанную политику с такой сигнатурой:
function(containerId, permissionId, data) {...}
-
containerId
— идентификатор контейнера Диспетчера тегов, например'GTM-1234'
. -
permissionId
— это строка, указывающая тип проверяемой политики. -
data
— это объект, который содержит любую соответствующую информацию для указанного типа разрешения, например'url'
для разрешения'send_pixel'
.
Функция политики отклоняет запрос разрешения, если он возвращает false
или генерирует исключение. Любые исключения с типом string
или Error
будут отображаться в разделе «Ошибки» на панели отладки, когда включен режим предварительного просмотра . Если зарегистрировано несколько проверок политики, вызывается каждая проверка, и каждая проверка имеет возможность отклонить запрос политики.
В этом примере создается политика, которая проверяет разрешение 'inject_script'
:
gtag('policy', 'inject_script', function(containerId, permissionId, data) {
// reference the url of the script to be injected
let url = data.url || '';
// if the url of the injected script exactly matches, allow it.
// otherwise throw an error
if (url === 'https://scripts.example.com/analytics.js') {
return true;
} else {
throw 'Only permitted to inject https://scripts.example.com/analytics.js';
}
});
В этом примере ключевое слово 'all'
используется для проверки нескольких сценариев политики:
gtag('policy', 'all', function(containerId, permissionId, data) {
// Only set policy for 1 specific container.
// This enables other containers loaded on the page to
// operate without restrictions on permissions.
if (container != 'GTM-4321') return true;
// Since the policy is 'all', adjust permissions conditionally.
switch (permissionId) {
case 'send_pixel':
return true;
case 'write_globals':
return data.key && data.key == '_gaq';
case 'inject_script':
let url = data.url || '';
if (url.indexOf('https://example.com') != 0)
throw 'Only example.com scripts are permitted';
default:
// IT staff decides that all unknown permissions
// are rejected.
return false;
}
});
, Политики реализуются на веб-странице. Когда контейнер запускается на странице, к определениям пользовательских шаблонов Диспетчера тегов применяются политики, позволяющие контролировать использование определенных функций и возможностей. Политики реализуются с помощью API gtag('policy', ...)
.
Для API gtag('policy', ...)
требуются определения dataLayer и gtag()
. Убедитесь, что dataLayer
и gtag()
определены в вашем коде, прежде чем gtag('policy', ...)
будет вызываться позже в скрипте:
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
Используйте API gtag('policy', ...)
на веб-странице, чтобы установить политики для разрешений настраиваемых шаблонов :
gtag('policy', <permissionId>, <function>)
Аргумент <permissionId>
— это любой из поддерживаемых типов разрешений, например inject_script
. Политика будет вызываться всякий раз, когда контейнер захочет проверить, разрешено ли это разрешение.
gtag('policy', 'inject_script', function(containerId, permissionId, data) {
// Specific inject_script check goes here.
});
Укажите 'all'
, чтобы взаимодействовать со всеми проверками политики.
gtag('policy', 'all', function(containerId, permissionId, data) {
// System-wide check goes here.
});
Третий аргумент — <function>
— это функция, реализующая указанную политику с такой сигнатурой:
function(containerId, permissionId, data) {...}
-
containerId
— идентификатор контейнера Диспетчера тегов, например'GTM-1234'
. -
permissionId
— это строка, указывающая тип проверяемой политики. -
data
— это объект, который содержит любую информацию, соответствующую указанному типу разрешения, например,'url'
для разрешения'send_pixel'
.
Функция политики отклоняет запрос разрешения, если он возвращает false
или генерирует исключение. Любые исключения с типом string
или Error
будут отображаться в разделе «Ошибки» на панели отладки, когда включен режим предварительного просмотра . Если зарегистрировано несколько проверок политики, вызывается каждая проверка, и каждая проверка имеет возможность отклонить запрос политики.
В этом примере создается политика, которая проверяет разрешение 'inject_script'
:
gtag('policy', 'inject_script', function(containerId, permissionId, data) {
// reference the url of the script to be injected
let url = data.url || '';
// if the url of the injected script exactly matches, allow it.
// otherwise throw an error
if (url === 'https://scripts.example.com/analytics.js') {
return true;
} else {
throw 'Only permitted to inject https://scripts.example.com/analytics.js';
}
});
В этом примере ключевое слово 'all'
используется для проверки нескольких сценариев политики:
gtag('policy', 'all', function(containerId, permissionId, data) {
// Only set policy for 1 specific container.
// This enables other containers loaded on the page to
// operate without restrictions on permissions.
if (container != 'GTM-4321') return true;
// Since the policy is 'all', adjust permissions conditionally.
switch (permissionId) {
case 'send_pixel':
return true;
case 'write_globals':
return data.key && data.key == '_gaq';
case 'inject_script':
let url = data.url || '';
if (url.indexOf('https://example.com') != 0)
throw 'Only example.com scripts are permitted';
default:
// IT staff decides that all unknown permissions
// are rejected.
return false;
}
});
, Политики реализуются на веб-странице. Когда контейнер запускается на странице, к определениям пользовательских шаблонов Диспетчера тегов применяются политики, позволяющие контролировать использование определенных функций и возможностей. Политики реализуются с помощью API gtag('policy', ...)
.
Для API gtag('policy', ...)
требуются определения dataLayer и gtag()
. Убедитесь, что dataLayer
и gtag()
определены в вашем коде, прежде чем gtag('policy', ...)
будет вызываться позже в скрипте:
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
Используйте API gtag('policy', ...)
на веб-странице, чтобы установить политики для разрешений настраиваемых шаблонов :
gtag('policy', <permissionId>, <function>)
Аргумент <permissionId>
— это любой из поддерживаемых типов разрешений, например inject_script
. Политика будет вызываться всякий раз, когда контейнер захочет проверить, разрешено ли это разрешение.
gtag('policy', 'inject_script', function(containerId, permissionId, data) {
// Specific inject_script check goes here.
});
Укажите 'all'
, чтобы взаимодействовать со всеми проверками политики.
gtag('policy', 'all', function(containerId, permissionId, data) {
// System-wide check goes here.
});
Третий аргумент — <function>
— это функция, реализующая указанную политику с такой сигнатурой:
function(containerId, permissionId, data) {...}
-
containerId
— идентификатор контейнера Диспетчера тегов, например'GTM-1234'
. -
permissionId
— это строка, указывающая тип проверяемой политики. -
data
— это объект, который содержит любую информацию, соответствующую указанному типу разрешения, например,'url'
для разрешения'send_pixel'
.
Функция политики отклоняет запрос разрешения, если он возвращает false
или генерирует исключение. Любые исключения с типом string
или Error
будут отображаться в разделе «Ошибки» на панели отладки, когда включен режим предварительного просмотра . Если зарегистрировано несколько проверок политики, вызывается каждая проверка, и каждая проверка имеет возможность отклонить запрос политики.
В этом примере создается политика, которая проверяет разрешение 'inject_script'
:
gtag('policy', 'inject_script', function(containerId, permissionId, data) {
// reference the url of the script to be injected
let url = data.url || '';
// if the url of the injected script exactly matches, allow it.
// otherwise throw an error
if (url === 'https://scripts.example.com/analytics.js') {
return true;
} else {
throw 'Only permitted to inject https://scripts.example.com/analytics.js';
}
});
В этом примере ключевое слово 'all'
используется для проверки нескольких сценариев политики:
gtag('policy', 'all', function(containerId, permissionId, data) {
// Only set policy for 1 specific container.
// This enables other containers loaded on the page to
// operate without restrictions on permissions.
if (container != 'GTM-4321') return true;
// Since the policy is 'all', adjust permissions conditionally.
switch (permissionId) {
case 'send_pixel':
return true;
case 'write_globals':
return data.key && data.key == '_gaq';
case 'inject_script':
let url = data.url || '';
if (url.indexOf('https://example.com') != 0)
throw 'Only example.com scripts are permitted';
default:
// IT staff decides that all unknown permissions
// are rejected.
return false;
}
});