Макросы

Использование макросов

Макросы позволяют подмешивать строки и информацию в URL на выходе из потоков.

Встроенные макросы:

  • {keyword} - текущий ключевик перехода;
  • {keyword_cp1251} - ключевик в кодировке windows-1251;
  • {ip} - IP адрес;
  • {group_key} - идентификатор группы, к которой принадлежит поток;
  • {group_id} - номер группы, к которой принадлежит поток;
  • {stream_id} - номер потока;
  • {referrer} - реферер (псевдоним referrer);
  • {country_code} - двухзначный буквенный код страны по стандарту ISO-3166-1;
  • {city} — город;
  • {se_referrer} — реферер от поисковика;
  • {date:format} — дата в заданном формате (Подробнее о форматах http://php.net/manual/en/function.date.php);
  • {subid} — уникальный SubID перехода;
  • {source} — источник трафика;
  • {from_file:filename.txt} — вставит содержимое файла filename.txt из директории /var/macros/;
  • {se}
  • {device_type}
  • {device_model}

Все значения по-умолчанию кодируются через urlencode(), чтобы вставить исходное значение, добавьте символ подчеркивания —{_макрос}.

Примеры использования макросов:

http://targetwebsite.com/search.php?search={keyword}&from={referer}
http://targetwebsite.com/go.php?as={_referer}
http://targetwebsite.com/{keyword}.html
http://targetwebsite.com/{country_code}/index.html

Макросы GET-параметров

Все переданные в TDS параметры оборачиваются в одноименный макрос. Например, передали http://tds/group?utm_source=google и в потоке вставляем http://landing.com/?utm_source={utm_source}.

Создание макросов

Все скрипты макросов расположены в директории /application/macros/. Там же находятся встроенные макросы TDS, вы можете ознакомиться с их кодом.

Создадим новый макрос, который будет возвращать случайное число.

1. Создайте файл в /application/macros/random.php

2. Код:

<?php
class random_macros extends AbstractMacros
{
    public function process(Stream $stream, Visitor $visitor, $min, $max)
    {
        return rand($min, $max);
    }
}

Имя класса random_macros составлено из названия макроса «random» и окончания «_macros». Класс обязательно должен содержать метод process, и как минимум, две переменные метода: $stream, $visitor. Остальные передаются командой, о чем написано ниже.

3. После создания макроса, вы можете использовать его в URL'ах, например, так: http://landing.com/{random:100,999}

random — имя макроса 100, 999 — первый и второй аргумент, значения $min, $max.

Читайте также: