バナーをオブジェクトとして管理することができます。バナーはタイトル、URL、画像、ムービー、テキスト、メモ等のフィールドを持ち、カスタムフィールドに対応しているため、自由に入力項目を拡張することができます(画像とムービーはアイテムとして管理されます)。日時を指定して掲載開始、終了を予約することも可能です。
また、最大表示数やクリック数の設定、ランダムな表示に対応しており、本格的な広告の管理・運用を行うことができます。さらに、ドラッグ&ドロップインターフェイスでグループ化することも可能です。
プラグインのインストール
ドキュメント『プラグインのインストール』を参照し、オプションプラグイン「Campaign」をインストールしてください。
$POWERCMS_FILES_DIR/campaign
ディレクトリを作成し、ウェブサーバから書き込み可能なパーミッションに設定します。
- スタティックパブリッシングで効果測定を行う場合は、アプリケーションディレクトリに mt-banner.cgi をコピーし実行可能なパーミッションを付与します。
- 日時を指定してバナーの掲載開始、終了を行う場合、スケジュールタスクが実行されるよう設定してください。
- スケジュールタスク実行後に、定期的な再構築 を実行するよう設定することで、バナーの掲載終了とともにバナーが掲載されているアーカイブを再構築させ、コンテンツからも取り下げることが可能です。
※ 個別のキャンペーンページを表示する場合は、オプションプラグインの Viewer をインストールします。Viewer のインストールと利用方法についてはカスタムオブジェクトの記事を参照してください。
プラグイン設定
プラグイン設定はワークスペース/スペース単位で行います。
設定項目 |
解説 |
バナーの最小サイズ |
バナー編集画面で幅/高さを指定するプルダウンの最小値(数値)を指定します。 |
バナーの最大サイズ |
バナー編集画面で幅/高さを指定するプルダウンの最大値(数値)を指定します。この値より大きな画像をアップロードした場合、このサイズにリサイズされた画像が利用されます。 |
バナーのデフォルト幅 |
バナー編集画面で幅を指定するプルダウンのデフォルト値を指定します。 |
バナーのデフォルト高 |
バナー編集画面で高さを指定するプルダウンのデフォルト値を指定します。 |
バナーの保存場所 |
アップロードした画像やムービーの保存場所を指定します(デフォルト値は <サイトパス>/banner/)。 |
初期キャンペーン期間(日) |
キャンペーン作成時の終了日の初期値(作成日から何日後か)を指定します(デフォルトは 30日)。 |
クッキーの有効期限(日) |
効果測定のための Cookie の保存期間を日数で指定します(デフォルトは30日)。 |
集計対象外のIP |
効果測定から除外するアクセス元IPアドレスを改行区切りで指定します。 |
コンバージョンカウント後のリダイレクトURL |
MTCampaignConversionCounter タグが呼び出された後にリダイレクトする先のURLを指定します(デフォルトは/mt-static/images/spacer.gif)。 |
エディタの設定 |
本文欄でリッチテキストエディタを利用する際の設定を行います。 |
環境変数
環境変数 |
解説 |
初期値 |
CampaignScript |
バナー機能の動的処理をcgiで行う際に処理を行うcgiアプリケーションのファイル名を変更する際に指定します。 |
mt-banner.cgi |
テンプレート・タグ
タグはすべてスタティック/ダイナミック (DynamicMTML) 対応ですが、効果測定系のタグの振る舞いについては一部パブリッシング方法によって異なる部分があります。
ブロックタグ
- MTCampaigns
-
バナーオブジェクトをループ出力します。
コンテキスト (MTVar) にセットされる値
- __first__: ループの最初
- __counter__: ループの何回目か
- __odd__: 奇数回目の出力
- __even__: 偶数回目の出力
- __last__: ループの最後
指定できるモディファイア
- active: アクティブな (出力時点のタイムスタンプが掲載開始日,終了日の範囲内である) バナー
- lastn (limit): 何件表示するかを指定します。
- offset: 何件目から表示するかを指定します (デフォルト値: 0)。
- sort_order: 昇順、降順を指定します (descend, ascend / デフォルト値: ascend)。
- sort_by: ソートするカラム名を指定します (id, title, publishing_on, created_on, displays等 / デフォルト値: publishing_on)
- shuffle: 取得したオブジェクトをランダムに並び替えて出力します (スタティックパブリッシングの場合は再構築時点で並び替え)。
- group: バナーグループ名を指定します。グループ名を指定した場合は表示順は常にグループのオーダー順になります (昇順、降順の指定は可能です)。
- blog_id: バナーが属するブログの ID を指定する場合に記述します。
- MTCampaignsHeader / MTCampaignsFooter
-
MTCampaigns ブロックタグの最初と最後に出力されます。
- MTCampaign
-
id/title/basename (identifier) モディファイアを指定してバナーオブジェクトを読み込みます。active モディファイアを指定した場合、そのキャンペーンがアクティブな場合のみ内容を出力します。
- MTCampaignRandom
-
blog_id/active/group モディファイアが指定可能です。group モディファイアを使うことによって、特定のグループのバナーから1件をランダムに出力する、といった使い方ができます。
tag="アルファサード"
といった指定ができ、特定のタグの付いたバナーからランダム 1 件を取得できます。
ダイナミックパブリッシングの場合は (キャッシュが無効な場合) 文字通りランダムに出力されますが、スタティックパブリッシングの場合は再構築の度にランダムに出力されます。
-
- MTIfCampaignHasImage
-
バナーに画像が指定されている場合に出力されます。
-
- MTIfCampaignHasMovie
-
バナーにムービーが指定されている場合に出力されます。
-
- MTCampaignIfTagged
-
バナーにタグが付けられている場合に出力されます。
-
- MTCampaignAuthor
-
このタグの中では MTAuthor などのユーザ関連タグを使ってバナー作成者ユーザの情報を表示することができます。
-
- MTCampaignAsset
-
バナーのアイテムをコンテキストにセットします (優先度は画像,ムービーの順)。type または class モディファイアに image または movie を指定することで、画像/ムービーを明示的に指定可能です。
-
- MTIfCampaignActive
-
アクティブなバナーの場合(出力時点のタイムスタンプが掲載開始日、終了日の範囲内であるキャンペーンである場合)に出力されます。
ファンクションタグ
-
- MTCampaignID
-
バナー ID を出力します。
-
- MTCampaignTitle
-
バナーのタイトルを出力します。
-
- MTCampaignText
-
バナーのテキスト (本文) を出力します。
-
- MTCampaignMemo
-
バナーのメモを出力します。
-
- MTCampaignBasename
-
バナーのベースネーム (basename) を出力します。
-
- MTCampaignUrl
-
バナーに設定した URL を出力します。
-
- MTCampaignBannerUrl
-
バナーに設定した画像の URL を出力します。
-
- MTCampaignMovieUrl
-
バナーに設定したムービーの URL を出力します。
-
- MTCampaignBannerWidth
-
バナーの表示サイズ (幅: px) を出力します。
-
- MTCampaignBannerHeight
-
バナーの表示サイズ (高さ: px) を出力します。
-
- MTCampaignCreatedOn
-
バナーの作成日を出力します。日付に関するモディファイアが利用できます。
-
- MTCampaignPublishingOn
-
バナーの掲載開始日を出力します。日付に関するモディファイアが利用できます。
-
- MTCampaignPeriodOn
-
バナーの掲載終了日を出力します。日付に関するモディファイアが利用できます。
-
- MTCampaignAuthorDisplayName
-
バナーの作成者の表示名を出力します。
-
- MTCampaignCounter
-
(ダイナミックパブリッシングの場合、バナーの表示数を +1 した上で) バナーの表示回数を出力します。この時、Cookie をチェックしてユニークユーザー数をあわせて確認します。
- カウント対象外の IP アドレスをプラグイン設定で指定できます。
- スタティック・パブリッシングの場合、単に表示回数を出力します。
- このタグの代わりに効果測定用 CGI を利用することも出来ます。MTCampaignScript の項を参照してください。
-
- MTCampaignRedirect
-
(ダイナミックパブリッシングの場合、バナーのクリック数を +1 した上で) バナーの URL にリダイレクトします。この時、Cookie をチェックしてユニークユーザーのクリック数をあわせて確認します。
- カウント対象外の IP アドレスをプラグイン設定で指定できます。
- このタグを記載したテンプレートページへのリクエストにはクエリー文字列 campaign_id=[対象バナーの ID] を指定してください。
- このタグの代わりに効果測定用 CGI を利用することも出来ます。 MTCampaignScript の項を参照してください。
- ダイナミックテンプレートの先頭に記載する必要があります。
- スタティック・パブリッシングでは利用できません。
-
- MTCampaignMaxClicks
-
バナーの最大クリック数を出力します。
- ダイナミックパブリッシングの場合 MTCampaignRedirect タグが呼び出された時点で MTCampaignMaxClicks が指定されていて且つ MTCampaignClicks の値が指定値を超えていた場合、バナーを終了します。
- スタティック・パブリッシングの場合、単に数値を出力します。
-
- MTCampaignMaxUniqClicks
-
- バナーの最大クリック回数 (ユニークユーザーベースでの最大クリック回数) を出力します。
- ダイナミックパブリッシングの場合 MTCampaignRedirect タグが呼び出された時点で MTCampaignMaxUniqClicks が指定されていて且つ MTCampaignUniqClicks の値が指定値を超えていた場合、バナーを終了します。
- スタティック・パブリッシングの場合、単に数値を出力します。
-
- MTCampaignDisplays
-
バナーの表示数を出力します。表示数は MTCampaignCounter タグが処理される時点でカウント・保存されます。
-
- MTCampaignClicks
-
バナーのクリック数を出力します。クリック数は MTCampaignRedirect タグが処理される時点でカウント・保存されます。
-
- MTCampaignUniqClicks
-
バナーのクリック数(ユニークユーザーベースでのクリック数)を出力します。クリック数は MTCampaignRedirect タグが処理される時点でカウント・保存されます。
-
- MTCampaignUniqDisplays
-
バナーの表示回数(ユニークユーザーベースでの表示回数)を出力します。表示数は MTCampaignCounter タグが処理される時点でカウント・保存されます。
-
- MTCampaignUniqClicks
-
バナーのクリック数(ユニークユーザーベースでのクリック数)を出力します。クリック数は MTCampaignRedirect タグが処理される時点でカウント・保存されます。
-
- MTCampaignMaxDisplays
-
バナーの最大表示数(管理画面で設定した数値)を出力します。
-
- MTCampaignMaxUniqDisplays
-
バナーの最大表示回数を出力します(管理画面で設定したユニークユーザーベースでの最大表示回数)。
-
- MTCampaignConversionCounter
-
(ダイナミックパブリッシングの場合、バナーのコンバージョン数を+1した上で)プラグイン設定で指定した URL にリダイレクトします。この時、Cookie をチェックしてバナーを経由したユーザーのコンバージョン数をあわせて確認します。
- カウント対象外の IP アドレスをプラグイン設定で指定できます。
- ダイナミックテンプレートの先頭に記載する必要があります。
- このタグを記載したテンプレートページへのリクエストにはクエリー文字列 campaign_id=[対象キャンペーンの ID] を指定してください。具体的には
<img src="/campaign_conversion.html?campaign_id=1" width="1" height="1" alt="" />
のようにイメージタグを指定すると良いでしょう。
- スタティック・パブリッシングの場合、単に数値を出力します。
- このタグの代わりに効果測定用 CGI を利用することも出来ます。MTCampaignScript の項を参照してください。
-
- MTCampaignConversionView
-
コンバージョンページの表示数を出力します。このタグによる出力値はバナーの広告を経由していないユーザーの表示数も含む数値になります。
-
- MTCampaignConversion
-
コンバージョンページへの到達数を出力します。このタグによる出力値は Cookie によってチェックされたバナーの広告を経由したユーザーの表示数のみをカウントします。
-
- MTCampaignScript
-
環境変数 CampaignScript で設定した値を出力します。デフォルト値は mt-banner.cgi です。
mt-banner.cgi による効果測定
ダイナミックパブリッシングでの効果測定用タグ MTCampaignCounter, MTCampaignRedirect, MTCampaignConversionCounter の代わりに CGI アプリケーション mt-banner.cgi を使って効果測定を行うことができます。この場合は、下記のように __mode パラメータと campaign_id パラメータを付与してアクセスします。
http://example.jp/mt/mt-banner.cgi?__mode=counter&campaign_id=1
http://example.jp/mt/mt-banner.cgi?__mode=redirect&campaign_id=1
http://example.jp/mt/mt-banner.cgi?__mode=conversion&campaign_id=1
テンプレートタグは以下のように記述します。
<$MTCGIPath$><$MTCampaignScript$>?__mode=counter&campaign_id=<$MTCampaignID$>
テンプレートタグの使用例
DynamicMTML で、画像のバナーを繰り返しサムネイル表示しながらクリック回数を記録するためのリンクを付与しつつ、合わせて表示回数とクリック数を表示する場合、下記のようなテンプレートを記述します。
<MTRawMTML>
<MTBanners>
<h4><$MTBannerTitle$></h4>
<p>
<span>(表示回数: <$MTBannerCounter$>/クリック数 <$MTBannerClicks$>)</span>
</p>
<p>
<a href="<$MTCGIPath$><$MTBannerScript$>?__mode=redirect&campaign_id=<$MTBannerID$>" target="_blank">
<MTBannerAsset>
<img src="<$MTAssetThumbnailURL width="200"$>">
</MTBannerAsset>
</a>
</p>
<hr>
</MTBanners>
</MTRawMTML>
プラグインによる拡張
Campaign プラグインを外部プラグインで拡張することが可能です。Campaign オブジェクト自体は MT::Object のサブクラスですので、ライブラリを利用してオブジェクトをロードしたりデータベースのカラムを拡張したり template_param, template_source 等のコールバックに対応したプラグインを書くことができます。
コールバック
コールバックをトリガとして処理を行うプラグインを書くことが可能です。
コールバック |
パラメータ |
解説 |
cms_pre_save.campaign |
$cb, $app, $obj, $original |
バナーオブジェクトが保存される直前にコールされます(キャンペーンの作成・編集画面から保存された場合のみ)。返り値が0の場合保存は行われません。 |
cms_post_save.campaign |
$cb, $app, $obj, $original |
バナーオブジェクトが保存された直後にコールされます(キャンペーンの作成・編集画面から保存された場合のみ)。 |
cms_post_delete.campaign |
$cb, $app, $obj, $original |
バナーオブジェクトが削除された直後にコールされます。 |
post_unpublish.campaign |
$cb, $app, $obj, $original |
一覧画面から、もしくはタスク実行によってバナーオブジェクトのステータスが「下書き」に変更された直後にコールされます。 |
post_publish.campaign |
$cb, $app, $obj, $original |
一覧画面から、もしくはタスク実行によってバナーオブジェクトのステータスが「公開」に変更された直後にコールされます。 |
post_reserved.campaign |
$cb, $app, $obj, $original |
一覧画面から、もしくはタスク実行によってバナーオブジェクトのステータスが「日時指定」に変更された直後にコールされます。 |
post_close.campaign |
$cb, $app, $obj, $original |
一覧画面から、もしくはタスク実行によってバナーオブジェクトのステータスが「終了」に変更された直後にコールされます。 |