Показывать разные номера телефонов в зависимости от реферера, пользователя - PullRequest
1 голос
/ 24 января 2011

Я пытаюсь обслуживать разные телефонные номера на сайте в зависимости от ряда факторов, что позволяет нам отслеживать входящие телефонные звонки в зависимости от того, как пользователи пришли на страницу.

  1. Проверьте, непользователь выходит из рекламы, проверив строку запроса «? provider =», подайте рекламный номер, если он есть
  2. Если нет, установите флажок userAgent, чтобы он служил числу «по умолчанию» для ботов.бот, проверьте реферер и обслуживайте другой номер для отслеживания на основе общих кликов SERP

Этот сайт не может запускать скрипты на стороне сервера, поэтому это должно быть сделано с помощью JavaScript (с которым я довольно неопытен).Я собрал воедино кусочки и кусочки, но в конечном итоге хотел бы объединить все и заставить его работать вместе в одном файле .js, который можно вызывать при загрузке страницы.

Вот что у меня есть:

<script type="text/javascript">
//Querystring to check if paid session or organic
     function providercheck() {
        var str= location.href;
            if (str.indexOf("?provider=") > -1) {
                document.write("paid phone number");
            }
            else {
                botcheck();
            }
    }

    //Check userAgent to serve organic number to bots
     function botcheck() { 
            if(navigator.userAgent.toLowerCase().indexOf("googlebot") <= -1) {
                    document.write("default phone number");
                }
            else {
                    refcheck();
                }
    }

    //Check for referrer and serve number based on last referrer
    function refcheck() {
        var last_referrer = document.referrer;
        if (last_referrer.indexOf("google") > -1) {
            document.write("google tracking number");
        }
        else if (last_referrer.indexOf("yahoo") > -1) {
            document.write("yahoo tracking number");
        }
        else {
            document.write("default number");
        }
    }
</script>

Любая помощь или руководство очень ценится.Мне также нужно установить cookie-файл сеанса, чтобы он продолжал обслуживать тот же номер, пока пользователь не покинет сайт, но сначала хотел, чтобы это работало

1 Ответ

2 голосов
/ 25 января 2011

Вы можете попробовать что-то вроде этого:

поместить этот интервал где-нибудь на вашей странице:

<span id="phoneNumber">Superdefaultnumber</span>

И затем этот код в теге script в головевашего документа:

var setNumber = function(){
    var spanNode = document.getElementById("phoneNumber");
    if (!spanNode) {throw new Error("Unable to find span");}

    if (location.href.indexOf("?provider=") > -1) {
        spanNode.innerHTML = "paid phone number";
    }    

    //Check userAgent to serve organic number to bots
    if(navigator.userAgent.toLowerCase().indexOf("googlebot") <= -1) {
        spanNode.innerHTML = "default phone number";
    }

    //Check for referrer and serve number based on last referrer
    var last_referrer = document.referrer;
    if (last_referrer.indexOf("google") > -1) {
        spanNode.innerHTML = "google tracking number";
    }
    else if (last_referrer.indexOf("yahoo") > -1) {
        spanNode.innerHTML = "yahoo tracking number";
    }
    else {
        spanNode.innerHTML = "default number";
    }    
};


window.addEventListener("load", setNumber);
...