注文完了画面に、Google Analyticsのイーコマースタグや広告、アフィリエイト等の計測タグを導入したい場合の方法をご紹介いたします。

基本的な考え方

コンバージョンタグには必ず注文の詳細情報が必要になると思いますが、カスタマイズ前の完了画面では詳細情報を取得できません。

そこで一工夫することとなります。注文完了画面では受注ID($orderId)をセッションより取得しています。この情報からOrderエンティティを取得してやれば、注文の詳細な内容を得ることが可能です。

ただし、注文完了画面では受注IDのセッションから削除していますので、一度しか取得することはできません。(画面リロード時には取得できません)
そのことを考慮して、$orderIdがNULLである可能性を考慮した上でOrderエンティティをデータベースから検索します。

ShoppingController::complete

        $Order = null;
        if (!empty($orderId)) {
            $Order = $app['eccube.repository.order']->find($orderId);
        }
        
        return $app->render('Shopping/complete.twig', array(
            'orderId' => $orderId,
            'Order' => $Order, // Order変数を追加
        ));

これでテンプレートへ注文の詳細情報を渡すことができます。
注文金額であれば、{{ Order.total }}
氏名であれば、{{ Order.name01 }}{{ Order.name02 }}のようになります。

注文した商品の情報であれば、Order.OrderDetailをループで参照することとなります。

Shopping/complete.twig

{% if Order %}
{% for OrderDetail in Order.OrderDetails %}
{{ OrderDetail.price }} {#商品価格#}
{{ OrderDetail.product_code }} {#商品コード#}
{{ OrderDetail.quantity }} {#商品個数#}
{% endfor %}
{% endif %}

このカスタマイズにより、注文完了画面へ広告・アフィリエイトのコンバージョンタグを設置することが可能です。
ディスプレイ広告やアフィリエイトを実施している方は受注情報を用いたCVタグをぜひご設置ください。

EC-CUBEの解説本

EC-CUBE4の使用方法が詳しく解説されています。ショップオーナー、運用を任せられている方向けの本で、カスタマイズ向きではありません。どのような設定があるのか、管理画面の操作方法を知りたい人は必須の一冊です。

EC-CUBE4をカスタマイズする方必読

EC-CUBEはSymfonyをベースに作られており、EC-CUBE4のカスタマイズにはSymfomyの学習を避けて通れません。弊社ではまずこの本を読むよう薦めています。