В данном случае используется вебхук, а utm метки берутся из cookie.
Статья о том как сохранить utm в куки на примере wordpress
//url вебхука
define('CRM_WEBHOOK', 'https://site.bitrix24.ru/rest/7/a7329p2vh8b3vs57/');
function sendB24($method, $params){
$arParams[$method] = $method."?"
.http_build_query(
$params
);
$appParams = http_build_query(array(
'halt' => 0,
'cmd' => $arParams
));
$appRequestUrl = CRM_WEBHOOK.'batch';
$curl=curl_init();
curl_setopt_array($curl, array(
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_POST => 1,
CURLOPT_HEADER => 0,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $appRequestUrl,
CURLOPT_POSTFIELDS => $appParams
));
$out=curl_exec($curl);
curl_close($curl);
$result = json_decode($out, 1);
return $result;
}
//передаваемые данные
$postData = array(
'TITLE' => 'Название лида',
'NAME' => $_POST['name'],
'PHONE' => Array(
"n0" => Array(
"VALUE" => '8(922)22-22-222',
"VALUE_TYPE" => "WORK",
),
'UTM_CAMPAIGN' => $_COOKIE["utm_campaign"],
'UTM_CONTENT' => $_COOKIE["utm_content"],
'UTM_MEDIUM' => $_COOKIE["utm_medium"],
'UTM_SOURCE' => $_COOKIE["utm_source"],
'UTM_TERM' => $_COOKIE["utm_term"]
);
//вызываем функцию
sendB24('crm.lead.add', ['fields' => $postData]);
