0

1 つのページから複数のコンバージョンを Google に登録する必要があります。Chrome と Firefox では、これは正常に機能します。IE では、ページ/呼び出しがキャッシュされ、その後 1 つのコンバージョンしか送信されないようです。

no-cache メタ タグを追加しようとしましたが、うまくいきませんでした。

<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">

また、キャッシュの問題を回避するために、変換ごとに完全に別々のページを呼び出すことも試みました。これもうまくいきませんでした。

呼び出された変換ページは次のとおりです。iframe に読み込まれます。

<head>

<script type="text/javascript">


    var google_conversion_id = 1070072355;
    var google_conversion_language = "en";
    var google_conversion_format = "3";
    var google_conversion_color = "ffffff";
    var google_conversion_value = 0;
    var google_conversion_label;
    var googleConversionType = 1; //default to 1

    //check if we need to to GCR
    var GCR = QueryStringGet("G");
    if (GCR && GCR != "" && GCR != 0) {
        googleConversionType = GCR;
    }

    /*
    CONVERSION TYPES:
    1- Single Lead: V-v8CMnc_gEQo4Sg_gM
    2- Multiple Leads: oHF7CLHf_gEQo4Sg_gM
    3 - Campaign Single: CmYQCMHd_gEQo4Sg_gM
    4 - Consultation: aSv7CLne_gEQo4Sg_gM
    */
    //set the label per conversion type
    if (googleConversionType == 1) {
        google_conversion_label = "V-v8CMnc_gEQo4Sg_gM";
    }
    else if (googleConversionType == 2) {
        google_conversion_label = "oHF7CLHf_gEQo4Sg_gM";
    }
    else if (googleConversionType == 3) {
        google_conversion_label = "CmYQCMHd_gEQo4Sg_gM";
    }
    else if (googleConversionType == 4) {
        google_conversion_label = "aSv7CLne_gEQo4Sg_gM";
    }

    //retrieves a value from the querystring
    function QueryStringGet(ji) {
        hu = window.location.search.substring(1);
        gy = hu.split("&");
        for (i = 0; i < gy.length; i++) {
            ft = gy[i].split("=");
            if (ft[0] == ji) {
                return ft[1];
            }
        }
    }
    </script>
    <script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"></script>
    <noscript>
    <div style="display:inline;">
    <img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/1070072355/?label=V-v8CMnc_gEQo4Sg_gM&amp;guid=ON&amp;script=0"/>
    </div>
    </noscript>

    <title></title>
</head>

ページをiframeにロードするコードは次のとおりです

function GoogleConversionRegister(pageNum) {

    if (!pageNum || pageNum == 0)
        pageNum = 1;

    var iframe = document.createElement('iframe');
    iframe.style.width = '0px';
    iframe.style.height = '0px';
    document.body.appendChild(iframe);
    iframe.src = 'http://www.nirshamim.co.il/google/conversion_' + pageNum + '.html?G=' + googleConversionType + '&tile=' + (Math.random() * 100000);}

Fiddler の結果は次のとおりです:
Chrome
IE

4

1 に答える 1

0

IE のキャッシュ メカニズムを回避するために、(外部ページをロードするのではなく) iframe に目的の JavaScript を手動で入力する必要がありました。

コード:

var iframe;
if (document.createElement && (iframe = document.createElement('iframe'))) {
    iframe.name = iframe.id = 'conversion_' + pageNum;
    iframe.width = 0;
    iframe.height = 0;
    document.body.appendChild(iframe);
}
if (iframe) {
        var iframeDoc;
        if (iframe.contentDocument) {
            iframeDoc = iframe.contentDocument;
        }
        else if (iframe.contentWindow) {
            iframeDoc = iframe.contentWindow.document;
        }
        else if (window.frames[iframe.name]) {
            iframeDoc = window.frames[iframe.name].document;
        }
        if (iframeDoc) {
            iframeDoc.open();
            iframeDoc.write('<html><body><script language=javascript>var google_conversion_id = XXXXX; var google_conversion_language = "en"; var google_conversion_format = "3"; var google_conversion_color = "ffffff"; var google_conversion_value = 0; var google_conversion_label = "XXXX";</script><script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js"></script></body></html>');
            iframeDoc.close();
        }
    }
于 2011-05-30T08:17:00.673 に答える