В связи с тем что яндекс и гугл давно используют https, то нельзя узнать http_referer. Можно ли каким-то еще образом узнать что пользователь пришел через яндекс или гугл? Сам поисковый запрос не важен, нужно лишь знать откуда пришел пользователь, чтобы определить источник.
Вообще-то даже с HTTPS получить HTTP_REFERER вполне можно (если речь идет не о перехвате чужого траффика, а о своем собственном сайте). Другой вопрос, что Яндекс некоторое время назад стал шифровать текст запросов и делать его доступным только через Метрику (но последнее с https не связано). Но сам факт того, что пользователь пришел из Яндекса, это опредлить не помешает.
Мне нужно мгновенно получить данные, т.е. чтобы метрика эти данные мне передала и я отправил ее в crm. Но метрика долго думает и не знаю может ли она по апи это сделать
устанавливаешь метрику и/или гугл аналитикс, передаешь _ym_uid и/или _ga crm, а потом по этим идентификаторам связываешь с данными из систем аналитики и получаешь кучу данных для анализа. Только сравнивать и собирать данные нужно не стараться в своей crm, а в BI инструментах вроде Power BI