SOY Inquiryでコンバージョンタグを利用したいという問い合わせがありましたので、

簡易的な設置方法を説明します。


コンバージョンタグと言えば、

どこかのサイトから自社にリンクが張られた時に、

https://saitodev.co?sample_conv=dev

のようにURLの末尾にGETで値が渡されるものです。


このタグの値を保管しておき、

お問い合わせ完了画面等で、この値を何らかの形で表示する。


今回は、どこのページでもコンバージョンタグを受け取ることができ、

お問い合わせ完了時にhiddenで値を表示するということをやってみます。




はじめにフロントコントローラであるindex.phpにGETの値を受け取る処理を追加します。

コンバージョンタグは上のサンプル通り、sample_convで渡されることにします。


サイトをルート設定している場合は、

/ルート/index.php

ルート設定していない場合は、

/ルート/サイトID/index.php

を開きます。


文頭の<?phpの次の行に下記のコードを追加します。


if(isset($_GET["sample_conv"])){
session_start();
if(is_null($_SESSION["sample_conv"])){
$_SESSION["sample_conv"] = $_GET["sample_conv"];
}
}

これでどのページにアクセスがあってもコンバージョンタグの値を受け取れる様になりました。




続いて、お問い合わせフォームですが、

一旦バージョンアップを行っても上書きされない様に専用のテンプレートを用意します。

下記の記事を参考に新しいテンプレートを用意しましょう。

SOY Inquiry1.1.4でフォームのカスタマイズ用のファイルを同梱しました | SOY CMS開発ブログ

SOY Inquiryで生成されたフォームのCSSを変更する


今回は新しいテンプレートIDをsoyにして話を進めます。


soyテンプレートを用意したら、

/ルート/cms/app/webapp/inquiry/src/template/soy/complete.php

を開き、


ファイルの末尾に下記のコードを追加します。


<?php
session_start();
if(isset($_SESSION["sample_conv"])){
echo "<input type=\"hidden\" name=\"sample_dev\" value=\"" . htmlspecialchars($_SESSION["sample_conv"], ENT_QUOTES, "UTF-8") . "\">";
unset($_SESSION["sample_conv"]);
}
?>

コードを追加した状態で

URL + ?sample_dev=devでアクセスし、



試しにお問い合わせをして、

完了画面でソースコードを表示してみると、


<input type="hidden" name="sample_dev" value="dev">

というタグが追加されています。


これでコンバージョンタグの設定は終了です。




お問い合わせ終了時のメール文面にコンバージョンの有無を表示したい場合は、


管理者向けのメールであれば、

/ルート/cms/app/webapp/inquiry/src/template/soy/mail.admin.phpを開き、


ユーザ向けのメールであれば、

/ルート/cms/app/webapp/inquiry/src/template/soy/mail.user.phpを開き、


session_start();
if(isset($_SESSION["sample_conv"])){
echo "コンバージョンタグに関する表記";
//unset($_SESSION["sample_conv"]);
}

を追加します。


この時注意すべき点として、

お問い合わせ完了画面よりもメールの方が先に実行されます。


お問い合わせ完了画面を開かない場合は、

unset($_SESSION["sample_conv"]);のコメントアウトは外しましょう。