
MW WP FORMを使用してA8タグを実装する
WEB
A8に広告を出稿している企業からの依頼
A8の出稿をしたので、LPの設定をして欲しいとの依頼
やったことが無いのでいい経験と思って実装しました。
A8タグには下記の条件があった
- お問い合わせ毎に乱数を生成してA8タグに渡すこと
- 全ページのheaderにA8スクリプトを読み込ませること
- お問い合わせ完了ページにのみA8タグを設置すること
この形で実装をしようとした
まず最初に!
- JSでLPアクセス時に乱数を生成
- ページ最下部のお問い合わせフォームのhidden値に乱数を代入
- 確認ページ遷移後にhidden値の数値を変数に代入
- 完了画面で変数をタグに代入してA8側に送る←ここでダメ!
やっぱページを跨いで数値を送るのは難しいよね〜ってことで2週間悩みましたwww
最終的にはCookieを使用する
functions.phpでアクセス時にCookieに変数を代入
ここで注意しておくのはCookieが生成するページ、またはCookieが空かどうかを判別するif分岐で括っておかないとページ遷移毎に、Cookieが上書きされるので注意です。
1 2 3 4 5 6 7 |
if(empty($_COOKIE['order'])){ add_action( 'init', 'my_setcookie' ); function my_setcookie() { $str=""; for($i=0;$i<10;$i++){$str.=mt_rand(0,9);}; setcookie( 'order', $str, time() + 120, COOKIEPATH, COOKIE_DOMAIN ); } } |
ここではCookieが空だったら、乱数を生成して保存します。
その保存時間は120秒にしています。
header.phpに下記のコードを記入
1 |
<script src="//statics.a8.net/a8sales/a8sales.js"></script> |
ページ下部にjavascriptで下記を追記
1 |
document.forms[0].hidden値のname.value = '<?php echo $_COOKIE['order']; ?>'; |
これで今回アクセスされたユーザーに埋め込んだCookieと同じ文字列がお問い合わせフォームにも入りました。
あとは完了画面に設置したA8タグにCookieを埋め込みます。
1 |
"order_number": "{{<?php echo $_COOKIE['order']; ?>}}", |
これでページアクセスから2分以内のお問い合わせに有効なコードが完成です。
*作成するサイトによってCookieの保存期間は適宜変更してください。
Let’s Enjoy Coding Life!!