2

を使用してページにいくつかの変換ピクセルを追加しようとする関数呼び出しをform持つ があります。onsubmit.append()

フォームsubmitが起動し、ピクセルが起動する機会を得る前にユーザーをページからリダイレクトします (Chrome ネットワーク デバッガーでキャンセルされたリクエストとして表示されます)。

などでいろいろやってみたのsetTimeout()ですが、どうにもうまくいきません。

onclickEnterキーのチェックと組み合わせてイベントを使用し、電話でフォームを送信できることを私は知っていsetTimeoutます。ただし、これはややハックなようです。

また、フォームが送信されたページにアクセスできません。このページにピクセルを追加することはできません。

より良い方法はありますか?

4

2 に答える 2

2

コンバージョンを追跡する最善の方法は、フォームが送信された後に表示されるページからこれらのピクセルをリクエストすることだと思います。ただし、そのページを制御できない場合は、次のようになります。

$('form').submit( function(e){
    e.preventDefault(); // do not submit the form just yet
    var $t = $(this), 
        trackingUrl = 'http://placekitten.com/20/10'; 
        $('<img />')
            .on('load', function(){ // when the image loads...
                $t.unbind('submit')  // ...unbind the event listener preventing an endless loop
               .submit() // and submit the form
        }).attr('src', trackingUrl );
});

編集: 追跡画像の読み込みに失敗した場合に備えて、いくつかの予防策 (onerror イベントなど) も追加する必要があります。そうしないと、フォームがまったく送信されません。

于 2013-01-17T19:27:52.997 に答える
0

ユーザーがフォームを表示したときに追跡(img)ピクセルを起動しようとしていたため、同様の問題が発生していました(ただし、まだ入力/送信していません)。ユーザーがボタンをクリックするとフォームが表示され、このサイトの多数の投稿から収集された解決策は、コードに次のスクリプトを追加することでした。

<script>
function firepixel()
{
trackingUrl = 'http://mydomain/adopt.php?type=popup';
$('<img />').on('load').attr('src',trackingUrl);

}
</script>

次に、ユーザーがポップアップフォームをトリガーしたボタンをクリックしたときに関数を呼び出しました。

<a class="button" onclick="firepixel()" href="#" data-reveal-id="myModal">Click Here to     Download eBook</a>
于 2014-01-25T10:11:22.263 に答える