В статье поддержки , из которой вы также взяли первый фрагмент кода, приведен полный пример, хотя вам остается только заполнить возможные изменения в различных вариантах, представленных value
.
На самом деле, нет необходимости читать вариант, поскольку вы пытаетесь достичь его во втором коде, как это предусмотрено в функции обратного вызова, и даже можно прочитать имя эксперимента.
Пожалуйста, посмотрите этот полный пример, и не стесняйтесь пробовать и улучшать его. Все, что вам нужно сделать, это настроить A / B-тест, из которого вы можете сопоставить правила таргетинга (чтобы режим предварительного просмотра работал правильно), и вы можете пропустить редактор для этого эксперимента. Вам нужно будет указать идентификатор эксперимента из собственного эксперимента.
<!-- Just some static welcome text -->
<p id="main">This is a test page for Google Optimize JS API</p>
<!-- Some text, that will change based on the experiment variant -->
<p id="placeholder">Eagerly waiting for an AB-test to start</p>
<!-- Main script -->
<script>
//mandatory call based on the support article
function gtag() {dataLayer.push(arguments)};
//callback function, containing actual changes
function implementExperimentA(value, name) {
var newText = 'Something has gone wrong. No variant found for';
//go through variants, and apply change for specific variants, identified by their index
//note, the same index is present in Google Analyitcs, in the Variant dimension
if (value == '0') {
newText = "Bummer, you've ended up in the control group in";
} else if (value == '1') {
newText = "You've made it! You are in test group of";
}
//apply selected text to placeholder paragraph
var el = document.getElementById('placeholder');
el.innerText = newText + ' experiment ' + name;
}
//mandatory call based on the support article
//assign your experiment's ID to callback function
gtag('event', 'optimize.callback', {
name: 'EXPERIMENT_ID_FROM_OPTIMIZE',
callback: implementExperimentA
});
</script>