Базовые шаги настройки Saas сервисов

Шаг 1. Отключение автотрекинга

Система автоматически считывается емейлы из любых полей на сайте. Если пользователь введет новый, старый емейл будет перезаписан.

Необходимо зайти в Трекинг > Мастер сбора данных > Автотрекинг и отключить галочку напротив сбор емейлов.

 

Шаг 2. Настройка передачи  User ID

User ID мы используем для объединения пользователей с разных устройств. Как только пользователь авторизуется в вашей системе необходимо передать нам его ID, командой

carrotquest.auth('25', 'hmac-sha256-hash');

Первый аргумент — User ID. Второй — хеш HMAC SHA 256(Текстом для хеширования является User ID, ключом - User Auth Key его можно узнать в панели администратора).

Пример на PHP:

$userId = '…';
$hash = hash_hmac('sha256', $userId, 'User-Auth-Key' );
echo "carrotquest.auth('".$userId."', '".$hash."')"

Подробнее можно почитать тут https://carrotquest.io/developers/libs/js/auth/.

 

Шаг 3. Передача действий и свойств пользователей

Событие - это любое действие пользователя на сайте (зашел на страницу "Контакты", просмотрел видеоролик, поделился ссылкой с друзьями, подписался на рассылку новостей и т.д.). Как только происходит такое событие, его нужно отправить в Carrotquest.

Для этого и есть методы JS API:

// Без параметров
carrotquest.track('Event name');

// С параметрами
carrotquest.track('Event name', {
  param1: 'value1',
  param2: 340,
  param3: '2014-05-23T05:12:45',
  param4: false,
  param5: ['key1', 'key2', 'key3']
});

И  методы и Web API:

//Без параметров
curl -X POST \
  --data-urlencode "event=Order Created" \
  --data-urlencode "auth_token=XXX" \
  https://api.carrotquest.io/v1/users/{id}/events
//С параметрами
curl -X POST \
  --data-urlencode "event=Order Created" \
  --data-urlencode 'params={"item": "chicken"}' \
  --data-urlencode "auth_token=XXX" \
  "https://api.carrotquest.io/v1/users/{id}/events"

 

где Id это идентификатор пользователя из нашей системы (id пользователя лежит в cookie carrotquest_uid). Так же можно использовать ваш User id если настроено склеивание.

Подробнее можно почитать тут https://carrotquest.io/developers/libs/js/track/ и тут https://carrotquest.io/developers/endpoints/users/events/

Для установка свойств пользователя (идентификация) так же есть методы на JS API и Web API

Пример на JS API:

// Упрощенный формат:
carrotquest.identify({'$name': 'Maks', myProp: 'myValue'});

// Сложный формат:
carrotquest.identify([
  {op: 'add', key: 'segment1', value: 1},
  {op: 'update_or_create', key: 'segment2', value: 1},
]);

 Пример на Web API:

curl -X POST \
  --data-urlencode "operations=[{"op": "update_or_create", "key": "$name", "value": "Maks"}]" \
  --data-urlencode "auth_token=XXX" \
  https://api.carrotquest.io/v1/users/{id}/props

 

 

Шаг 4. Загрузка пользователей в Carrot quest

Загрузить свою базу пользователей в нашу систему можно через WEB API(Подробно про API https://carrotquest.io/developers/endpoints/)

Пример кода на php:

 

# Список пользователей, которых нужно импортировать
# Первый элемент - User ID из вашей системы
$users = array(
	array('id' => 123, 
		  'email' => 'mail1@mail.ru', 
		  'phone' => '891xxxxxx',
		  'name' => 'Test'
	),
	array('id' => 456,
		  'email' => 'mail2@mail.ru',
		  'phone' => '891xxxxxx',
		  'name' => 'Test2'
	)
);
$auth_token = 'xxx'  # TODO: ПОДСТАВЬТЕ СЮДА ВАШ AUTH_TOKEN, его можно найти в разделе Настройки > API КЛЮЧИ


for ($i =0; $i < count($users); ++$i ) {
	$url = 'http://api.carrotquest.io/v1/users/'.$users[$i]['id'].'/props?auth_token='.$auth_token;
	$operations = json_encode(array(
			array('op' => 'update_or_create',
				  'key' => '$email',
				  'value' => $users[$i]['email']
			),
			array('op' => 'update_or_create',
				  'key' => '$phone',
				  'value' => $users[$i]['phone']
			),
			array('op' => 'update_or_create',
				  'key' => '$name',
				  'value' => $users[$i]['name']
			),
		)
	);
	
	$result = file_get_contents($url, false, stream_context_create(array(
	  'http' => array(
		'method'  => 'POST',
		'header'  => 'Content-type: application/x-www-form-urlencoded',
		'content' =>http_build_query(array('operations' => $operations,'by_user_id'  => 'true')),
	  )
	)));
	
	
	print $result;
}

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0
Еще есть вопросы? Отправить запрос

Комментарии