Итак, допустим, у нас есть скрипт http://site.ru/script.php. Он должен отправлять посетителей на http://site2.ru – конечный лендинг/партнёрскую ссылку/что угодно.
Мы хотим лить трафик с различными параметрами на скрипт. Пишем в нём стандартный редирект:
<?php header("location: http://site2.ru"); ?>
Редирект идёт, но метки не передаются. Т.е. при переходе на http://site.ru/script.php?utm_source=marketgid мы теряем параметр utm_source.
В этом случае многие советуют использовать данные из массива $_GET: то есть брать отдельно $_GET[‘utm_source’] и дописывать в адрес редиректа туда, где utm_source=. Если у нас имена параметров не отличаются, нам надо передать все параметры, и мы вообще ничего не меняем, то это тупо.
Итак, чтобы получить весь хвост ссылки после знака вопроса, используем $_SERVER[‘QUERY_STRING’]:
<?php $url = "http://site2.ru"; $hvost = $_SERVER['QUERY_STRING']; header("location: $url?$hvost"); ?>
Теперь при переходе на http://site.ru/script.php?utm_source=marketgid&utm_term=11111 нас перекинет на http://site2.php?utm_source=marketgid&utm_term=11111. А при переходе на http://site.ru/script.php?kjsdwer65rvbubdybv – перекинет на на http://site2.php?kjsdwer65rvbubdybv.
К слову, если в адресе, куда редиректим ($url), уже есть знак вопроса, то нам нужно вместо него поставить амперсанд. Т.е. код будет вида:
<?php $url = "http://site2.ru?ref=123"; $hvost = $_SERVER['QUERY_STRING']; header("location: $url&$hvost"); ?>
Спасибо за способ, он действительно неплох. Но как передавать метки со страницы на которой например размещено 10-15 ссылок на разные сайты? Для каждой ссылки создавать отдельный файл с таким вот редиректом? Или же можно на этой странице с 15 ссылками прописать универсальный код который бы передавал метки к каждой ссылке по которой переходит пользователь?
(Схема такая: пользователь приходит на страницу с источника трафика, на странице порядка 15 ссылок на разные офферы. Задача передавать метки каждой ссылке исходящей с этой страницы.) Буду благодарен за ответ.
Привет! Надеюсь, я правильно понял: нужно передавать одни и те же метки по всем ссылкам. И сама страница открыта с этими метками?
Можно делать в коде ссылки вида:
<a href="http://site1.ru/qwerty.php?<?=$_SERVER['QUERY_STRING']; ?>">Ссылко 1</a>
<a href="http://site2.ru/index.php?offer=shnyaga&<?=$_SERVER['QUERY_STRING']; ?>">Ссылко 2</a>
Есть ещё вариант, когда не правишь каждую ссылку, – на javascript. Но он выполняется на устройстве зашедшего, поэтому я бы не стал.
Если всё же не так понял, поясни плиз
Да, задача правильно воспринята. На основную страницу(на которой размещены 10-15 офферов) приходит трафик с разных источников и нужно передавать метки на конечную страницу каждого оффера. То есть универсальности тут особой и нету, к каждой ссылке на странице с 10-15 ссылками на разные офферы нужно просто вручную дописывать этот код чтобы передавались метки:
/?
Правильно понимаю?
Бро, специально для тебя)
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function() {
var hvost = window.location.search.substring(1);
var elements = document.getElementsByTagName('a');
for (var i = 0; i < elements.length; i++) { var newHref = elements[i].href; if (newHref.indexOf("?")==-1) newHref += "?"; else newHref += "&"; elements[i].href = newHref + hvost; } }); </script>
Пихать перед </body>. Ну и кавычки исправить на нормальные
Вау)) Спасибо Большое Бро! Теперь с метками стало гораздо проще. Протестировал, работает как Надо!
С наступающим! 😉
С наступающим 😉
Спасибо! Все работает отлично. Только теперь не открывается попап (сайт на тильде). К url добавляется #prodpopup?. Что можно с этим сделать?
Помогите пожалуйста. Ваш вариант очень понравился, но никак не могу его реализовать. Смотрите, я наливаю с пабликов. Мне нужно знать с какого паблика пришли лиды, для этого я для каждого паблика делаю ссылку с уникальными utm. Ссылка ведет на приленд (Который находится у меня на хосте) Для того что бы вк не банил мои ссылки, приходится делать редирект. Т.е у меня есть домен. Offfersss.ru на котором есть папка с прелендом про суставы http://offfersss.ru/sustav/ Есть папочка http://offfersss.ru/group5 в которой лежит файл в котором прописан редирект на http://offfersss.ru/sustav/ . Вот так вот выглядит код редиректа hhttp://prntscr.com/cr91w8 . Он почему то не работает. Вы не могли бы подсказать почему?
Я тут столкнулся с проблемой передачи параметров трекеру.
Подскажи мне пожалуйста, если такое возможно, как передать хвост с параметрами в виде подставляемых макросов через отдельное доменное имя, с которого идет Frame редирект на мой index.php, находящийся на моем хостинге.
В index.php следующее содержимое:
<?php
$url = "http://site2.ru";
$hvost = $_SERVER['QUERY_STRING'];
header("location: $url?$hvost");
Задача заключается в том, чтобы передать параметры клика из источника трафика сначала на подставной домен, а с этого домена передать на CPAtrecker, в котором должны быть приняты все параметры клика, и далее трекер перебрасывает юзера на сайт партнерской программы, согласно правилу, указанному в трекере.
Если я правильно все делаю, то тогда не понятно, почему не подставляются параметры в макросы и не передаются в треккер?
Какая должна быть ссылка в рекламируемом источнике и какая должна быть ссылка в index.php на моем хостинге?
Или возможно это делается совсем по другому?
Автор, обнови пожалуйста код в статье, не отображается
+
Спасибо! Код работает отлично! Но вот перестали открываться попап (сайт на тильде). к url добавляется #prodpopup?
Что можно с этим сделать?