Googleタグマネージャーを使用して確認ページでイベントをトリガーすることで現在追跡しているGravity Formサブスクリプションフォームがあります。ただし、すぐにこのフォームは、URLに渡されたいくつかのパラメーターを使用して、別のドメインのページにリダイレクトされます。つまり、代わりに送信時にイベントを追跡する必要があります。フォーム送信リスナー、クリックリスナー、リンククリックリスナーを試しましたが、何も動作しないようです。間違ったid/classを取得している可能性があると思います。また、フォームが検証された後にのみイベントがトリガーされるようにします。完全なフォームコードは次のとおりです。
<div class="gf_browser_ie gf_browser_ie8 gform_wrapper" id="gform_wrapper_1">
<form method="post" enctype="multipart/form-data" id="gform_1" action="/">
<div class="gform_body">
<ul id="gform_fields_1" class="gform_fields top_label description_below">
<li id="field_1_2" class="gfield">
<label class="gfield_label" for="input_1_2">Name</label>
<div class="ginput_container">
<input name="input_2" id="input_1_2" type="text" value="" class="large" tabindex="1">
</div>
</li>
<li id="field_1_1" class="gfield">
<label class="gfield_label" for="input_1_1">Email</label>
<div class="ginput_container">
<input name="input_1" id="input_1_1" type="email" value="" class="large" tabindex="2">
</div>
</li>
<li id="field_1_3" class="gfield gform_hidden">
<input name="input_3" id="input_1_3" type="hidden" class="gform_hidden" value="17/07/2014">
</li>
<li id="field_1_4" class="gfield gform_hidden">
<input name="input_4" id="input_1_4" type="hidden" class="gform_hidden" value="Home">
</li>
<li id="field_1_5" class="gfield gform_hidden">
<input name="input_5" id="input_1_5" type="hidden" class="gform_hidden" value="http://example.com/">
</li>
</ul>
</div>
<div class="gform_footer top_label">
<input type="submit" id="gform_submit_button_1" class="button gform_button" value="Submit" tabindex="3" onclick="if (window[ & quot; gf_submitting_1 & quot; ]){return false; } if (!jQuery( & quot; #gform_1 & quot; )[0].checkValidity || jQuery( & quot; #gform_1 & quot; )[0].checkValidity()){window[ & quot; gf_submitting_1 & quot; ] = true; }">
<input type="hidden" class="gform_hidden" name="is_submit_1" value="1">
<input type="hidden" class="gform_hidden" name="gform_submit" value="1">
<input type="hidden" class="gform_hidden" name="gform_unique_id" value="">
<input type="hidden" class="gform_hidden" name="state_1" value="WyJbXSIsImYzNmQxM=">
<input type="hidden" class="gform_hidden" name="gform_target_page_number_1" id="gform_target_page_number_1" value="0">
<input type="hidden" class="gform_hidden" name="gform_source_page_number_1" id="gform_source_page_number_1" value="1">
<input type="hidden" name="gform_field_values" value="">
</div>
</form>
jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [1, 1]) });
肯定的な検証でのみイベントを呼び出すことは、検証スクリプト内で呼び出す必要があることを意味します。
個人的には、検証のインラインonclick
メソッドを取り除き、代わりにjQueryを介してそれを行います。
$( "#gform_1" ).submit(function( event ) {
// Your validation script here
});
これは、より整頓されたコードであり、あなたがしていることを読みやすくします。
その後、検証の一部としてGoogleアナリティクスイベントを呼び出すことができます(つまり、肯定的な検証がtrueを返す前に送信しますが、falseを返す場合は呼び出しません)。