1

有料検索広告のパフォーマンスを追跡するための社内アプリケーションを構築しています。

さまざまなサイトにトラフィックを誘導するいくつかの異なる有料検索キャンペーンがあるとします (それらを「ターゲット サイト」と呼びましょう)。ユーザーが有料広告をクリックして目的のサイトにアクセスすると、JS を使用して Cookie が設定されます。次に、その Cookie が存在するかどうかを調べ、設定されている場合 (つまり、AdWords から取得されたものである必要があります)、ページのデフォルトの電話番号を追跡番号に変更します。

次のように、ターゲット サイトから Rails アプリの JS ファイルを参照することで、これを実現します。

<script src="http://www.myapp.com/assets/application.js" type="text/javascript"></script>

該当する JS スクリプトの内容:

if(window.location.href.indexOf("gclid") > -1) {
       document.cookie = "ppc=adwords; path=/";
    }


function getCookie(name) {
    var nameEQ = name + '=';
    var ca = document.cookie.split(';');

    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1, c.length);
        }

        if (c.indexOf(nameEQ) == 0) {
            return unescape(c.substring(nameEQ.length, c.length));
        }
    }

    return "";
}


var value = getCookie('ppc'); 
if (value != '') { 
  // this user has the cookie, which means they came from gclid
    alert("this user has the ppc cookie!");

    var testswap = function(){
        var swap = document.getElementById("test").textContent;
        document.getElementById("test").textContent = "New Number Insert";
    }
    document.addEventListener("DOMContentLoaded", testswap);

} else { 

    alert("user doesn't have cookie");
  // this user lacks the cookie, which means they came from somewhere else
}

各アカウントの有料検索番号をアプリのデータベースに保存します。上記のスクリプトからこの行の番号を交換できるようにアクセスする最良の方法は何ですか

document.getElementById("test").textContent = "New Number Insert from app's database";

gon gemを使用してこれを解決したと思っていましたが、ターゲット サイトのコントローラーに設定された変数にアクセスできないことにすぐに気付きました (これは明らかだと思いますが、ターゲット サイトが JS を参照すると、ファイル、JS ファイルはこれらにアクセスできます)。AJAXは行くべき道ですか?

免責事項: プログラミングに関しては、私はまだかなり新しいので、この要約がより簡潔であった場合は申し訳ありません。また、これはおそらく最も効率的なコードではないことを知っているので、説明が少し複雑になる場合は申し訳ありません。

どんな助けでも大歓迎です!

4

1 に答える 1