Кога може да приложите този метод за тестване?
A/B тестването чрез Cloudflare Workers е мощен инструмент за бизнеси, които искат да оптимизират конверсии и потребителско поведение, без да нарушават законовите изисквания и без да усложняват архитектурата на сайта си.
То е идеално за случаи, в които трафикът идва от ЕС, искате максимална скорост и искате пълен контрол върху логиката на теста — независимо от backend технологията или рекламната платформа.
Ако пускате реклами и искате да тествате различни версии на вашата лендинг страница, най-ефективният начин е да разпределяте трафика преди потребителят дори да е достигнал сървъра ви.
В тази статия ще ви покажем как да го направите с Cloudflare Workers, без да използвате бисквитки — което е особено важно за спазване на ePrivacy директивата и GDPR в ЕС.
Също така ще ви покажем как да следите резултатите в Google Analytics и Google Ads използвайки Google Tag Manager.
Защо Cloudflare Workers?
Cloudflare Workers ви позволяват да пишете JavaScript код, който се изпълнява на ръба на мрежата (edge). Това означава:
- Ниска латентност
- Няма нужда от промени по backend-а
- Лесно и евтино мащабиране
- Може да реализирате A/B тестване без бисквитки
- Универсално решение, което не зависи от трети страни като Google, Facebook и т.н.
Стъпка 1: Създайте нов Worker проект
Ще използваме C3 за създаване на нов Cloudflare проект. C3 e CLI инструмент от Cloudflare който спомага за създаването, деплойването и тестването на нови приложения в Cloudflare.
npm create cloudflare@latest -- my-first-worker
Изберете следните настройки:
- За What would you like to start with?, изберете Hello World Starter.
- За Which template would you like to use?, изберете Worker only.
- За Which language do you want to use?, изберете JavaScript.
- За Do you want to use git for version control?, изберете Yes.
- За Do you want to deploy your application?, изберете No (ще направим някои промени, преди да деплойнем).
⠀След като сме настройли проекта, е време да влезем в папката.
cd my-first-worker
Стъпка 2: Добавете логика за A/B тестване
Отворете src/index.js и заменете съдържанието с:
export default {
async fetch(request, env, ctx) {
const url = new URL(request.url);
// страницата, върху която искаме да изпълним А/Б теста
if (url.pathname === "/control") {
const ip = request.headers.get("CF-Connecting-IP") || "";
let bucket = 0;
// Просто и лесно разделяне по бъкети на базата на последния октет от IP-то
const octets = ip.split(".");
if (octets.length === 4) {
const last = parseInt(octets[3], 10);
if (!isNaN(last)) {
bucket = last % 2;
}
}
// Алтернативната страница
url.pathname = bucket === 0 ? "/control" : "/test";
return fetch(url.toString(), request);
}
// другите заявки остават без промяна
return fetch(request);
}
};
Стъпка 3: Локално тестване
wrangler dev
Тествайте с различни IP адреси:
curl -H "CF-Connecting-IP: 192.168.0.12" http://localhost:8787/control
Стъпка 4: Деплой в Cloudflare
Във вашия package.json
, добавете, ако вече не съществува:
"scripts": {
"deploy": "wrangler deploy"
}
След това деплойнете със следната команда:
npm run deploy -- --routes https://yourdomain.com/control
Важно: използвайте двойното --
, за да се предадат правилно аргументите към Wrangler.
Проследяване в Google Analytics и Google Tag Manager
Използвайте URL пътя (/control
или /test
) като параметър за сегментиране.
В допълнение, можете да изпратите събитие към Google Tag Manager за следене на резултатите в Google Ads:
<script>
const variant = location.pathname.endsWith('-a') ? 'A' : 'B';
gtag?.('event', 'ab_variant_assigned', {
ab_variant: variant
});
</script>
Защо не с Google Ads?
Google Ads поддържа т.нар. Experiments, с които може да разделите трафика между две реклами, сочещи към различни URL-и. Но това:
- Не покрива директния трафик
- Не е гъвкаво
- Не работи извън Google екосистемата
⠀С Cloudflare Workers имате пълен контрол, без нужда от допълнителни зависимости и без нарушаване на GDPR.
В заключение
С тази настройка получавате:
- Лек и бърз A/B тест, реализиран на ръба на мрежата
- Без бисквитки
- Лесна интеграция с Google Analytics
Ние от CreaDev можем да го реализираме вместо вас
Ако искате да приложите този тип A/B тестване във вашия проект, но нямате време, ресурси или опит с Cloudflare Workers — оставете всичко на нас.
Екипът на CreaDev има опит в изграждането на бързи, сигурни и напълно съвместими с GDPR решения за A/B тестване, които:
- Работят без бисквитки
- Не изискват промени по бекенда
- Се интегрират лесно с Google Analytics и Tag Manager
- Се мащабират безпроблемно за голям трафик
Свържете се с нас, ако искате персонализирана консултация или цялостна реализация — ще ви помогнем да вземате по-добри решения чрез сигурни и интелигентни тестове още от първата заявка на потребителя.