PowerCMS™
2025年1月1日購入分よりライセンスの価格を改定いたします。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[よくあるご質問] システムログに「タスクを実行するために必要なロックを獲得できませんでした」というログが残っている を追加しました。
[よくあるご質問] 特定のシステムログに絞って確認できますか? を追加しました。

PowerCMS ブログ

ホーム > PowerCMS ブログ > PowerCMS 2 > バナー/広告配信・管理を行う(Campaign)

2010年06月29日

バナー/広告配信・管理を行う(Campaign)

Campaign *とは、タイトル、URL、画像、ムービー、テキスト、メモ等のフィールドを持つMovable Typeのオブジェクトです。カスタムフィールドに対応しているため、自由に入力項目を拡張することができます。画像とムービーは MT::Asset オブジェクトとして管理されます。キャンペーングループをドラッグ&ドロップインターフェイスで登録することが出来ます。

Movable Typeの定期実行タスクによってキャンペーンの掲載開始、終了を制御することやダイナミック・パブリッシングとの組み合わせによってランダムな出力や効果測定が簡単に行えます。

最大表示数やクリック数の設定、ランダムな表示に対応しており、本格的な広告の管理・運用を行うことができます。

*Power CMS for MT Professional/Enterpriseに付属するプラグインです

インストール

  • PowerCMSProfessionalプラグインをインストール(MTのpluginsディレクトリにコピー)します。
  • powercms_filesディレクトリ直下にcampaignディレクトリを作成し、CMSから書き込み可能なパーミッションに設定します。
  • スタティックパブリッシングで効果測定を行う場合は、MTディレクトリに mt-campaign.cgiをコピーし実行可能なパーミッションを付与します。
  • 個別のキャンペーンページを表示する場合は、オプションプラグインのViewerをインストールします。Viewerのインストールと利用方法についてはカスタムオブジェクトの記事を参照してください。

スクリーンショット

キャンペーンの編集画面 キャンペーンの一覧画面

キャンペーングループの編集画面 プラグインの設定画面

プラグイン設定(ブログ/ウェブサイト単位で行います)

項目解説
バナーの最小サイズキャンペーン編集画面で幅/高さを指定するプルダウンの最小値(数値)を指定します。
バナーの最大サイズキャンペーン編集画面で幅/高さを指定するプルダウンの最大値(数値)を指定します。
この値より大きな画像をアップロードした場合、このサイズにリサイズされた画像が利用されます。
バナーのデフォルト幅キャンペーン編集画面で幅を指定するプルダウンのデフォルト値を指定します。
バナーのデフォルト高キャンペーン編集画面で高さを指定するプルダウンのデフォルト値を指定します。
バナーの保存場所アップロードした画像やムービーの保存場所を指定します(デフォルト値は <サイトパス>/banner/)。
初期キャンペーン期間(日)キャンペーン作成時の終了日の初期値(作成日から何日後か)を指定します(デフォルトは30日)。
クッキーの有効期限(日)効果測定のためのクッキーの保存期間を日数で指定します(デフォルトは30日)。
集計対象外のIP効果測定から除外するアクセス元IPアドレスを改行区切りで指定します。
コンバージョンカウント後のリダイレクトURLMTCampaignConversionCounter タグが呼び出された後にリダイレクトする先のURLを指定します(デフォルトは/mt-static/images/spacer.gif)。
エディタの設定本文欄でリッチテキストエディタを利用する際の設定を行います。

テンプレート・タグ

タグはすべてスタティック/ダイナミック(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 / MTCampaignsFooterMTCampaignsブロックタグの最初と最後に出力されます。
MTCampaignid/title/basename(identifier)モディファイアを指定してキャンペーンオブジェクトを読み込みます。activeモディファイアを指定した場合、そのキャンペーンがアクティブな場合のみ内容を出力します。
MTCampaignRandomblog_id/active/groupモディファイアが指定可能です。groupモディファイアを使うことによって、特定のグループのキャンペーンから1件をランダムに出力する、といった使い方ができます。ダイナミックパブリッシングの場合は(キャッシュが無効な場合)文字通りランダムに出力されますが、スタティックパブリッシングの場合は再構築の度にランダムに出力されます。
MTIfCampaignHasImageキャンペーンに画像が指定されている場合に出力されます。
MTIfCampaignHasMovieキャンペーンにムービーが指定されている場合に出力されます。
MTCampaignIfTaggedキャンペーンにタグが付けられている場合に出力されます。
MTCampaignAuthorキャンペーンの作成者のAuthorコンテクストをセットします。
MTCampaignAssetキャンペーンのアイテムをコンテクストにセットします(優先度は画像,ムービーの順)。typeまたはclassモディファイアにimageまたはmovieを指定することで、画像/ムービーを明示的に指定可能です。
MTIfCampaignActiveアクティブなキャンペーン場合(出力時点のタイムスタンプが掲載開始日,終了日の範囲内であるキャンペーンである場合)に出力されます。

ファンクションタグ

タグ説明
MTCampaignIDキャンペーンIDを出力します。
MTCampaignTitleキャンペーンのタイトルを出力します。
MTCampaignTextキャンペーンのテキスト(本文)を出力します。
MTCampaignTextキャンペーンのメモを出力します。
MTCampaignBasenameキャンペーンのベースネーム(basename)を出力します。
MTCampaignUrlキャンペーンのURLを出力します。
MTCampaignBannerUrlキャンペーンの画像のURLを出力します。
MTCampaignMovieUrlキャンペーンのムービーのURLを出力します。
MTCampaignBannerWidthキャンペーンバナーの表示サイズ(幅:px)を出力します。
MTCampaignBannerHeightキャンペーンバナーの表示サイズ(高さ:px)を出力します。
MTCampaignCreatedOnキャンペーンバナーの作成日を出力します。日付に関するモディファイアが利用できます。
MTCampaignPublishingOnキャンペーンバナーの掲載開始日を出力します。日付に関するモディファイアが利用できます。
MTCampaignPeriodOnキャンペーンバナーの掲載終了日を出力します。日付に関するモディファイアが利用できます。
MTCampaignAuthorDisplayNameキャンペーンの作成者の表示名を出力します。
MTCampaignCounter(*ダイナミックパブリッシングの場合キャンペーンの表示数を+1した上で)キャンペーンの表示回数を出力します。
*この時、クッキーをチェックしてユニークユーザー数をあわせて確認します。カウント対象外のIPアドレスをプラグイン設定で指定できます。 スタティック・パブリッシングの場合、単に表示回数を出力します。 このタグの代わりに効果測定用CGIを利用することも出来ます。MTCampaignScriptの項を参照してください。
MTCampaignRedirect(*ダイナミックパブリッシングの場合キャンペーンのクリック数を+1した上で)キャンペーンのURLにリダイレクトします。 *この時、クッキーをチェックしてユニークユーザーのクリック数をあわせて確認します。
カウント対象外のIPアドレスをプラグイン設定で指定できます。
ダイナミックテンプレートの先頭に記載する必要があります。
このタグを記載したテンプレートページへのリクエストにはクエリー文字列 campaign_id=[対象キャンペーンのID] を指定してください。
スタティック・パブリッシングでは利用できません。このタグの代わりに効果測定用CGIを利用することも出来ます。MTCampaignScriptの項を参照してください。
MTCampaignMaxClicksキャンペーンの最大クリック数を出力します。
ダイナミックパブリッシングの場合 MTCampaignRedirect タグが呼び出された時点で MTCampaignMaxClicks が指定されていて且つ MTCampaignClicks の値が指定値を超えていた場合、キャンペーンを終了します。
スタティック・パブリッシングの場合、単に数値を出力します。
MTCampaignMaxUniqClicksキャンペーンの最大クリック回数(ユニークユーザーベースでの最大クリック回数)を出力します。
ダイナミックパブリッシングの場合 MTCampaignRedirect タグが呼び出された時点で MTCampaignMaxUniqClicks が指定されていて且つ MTCampaignUniqClicks の値が指定値を超えていた場合、キャンペーンを終了します。
スタティック・パブリッシングの場合、単に数値を出力します。
MTCampaignMaxUniqClicksキャンペーンの表示数を出力します。表示数は MTCampaignCounter タグが処理される時点でカウント・保存されます。
MTCampaignClicksキャンペーンのクリック数を出力します。クリック数は MTCampaignRedirect タグが処理される時点でカウント・保存されます。
MTCampaignUniqClicksキャンペーンのクリック数(ユニークユーザーベースでのクリック数)を出力します。クリック数は MTCampaignRedirect タグが処理される時点でカウント・保存されます。
MTCampaignUniqDisplaysキャンペーンの表示回数(ユニークユーザーベースでの表示回数)を出力します。表示数は MTCampaignCounter タグが処理される時点でカウント・保存されます。
MTCampaignUniqClicksキャンペーンのクリック数(ユニークユーザーベースでのクリック数)を出力します。クリック数は MTCampaignRedirect タグが処理される時点でカウント・保存されます。
MTCampaignMaxDisplaysキャンペーンの最大表示数(管理画面で設定した数値)を出力します。
MTCampaignMaxUniqDisplaysキャンペーンの最大表示回数を出力します(管理画面で設定したユニークユーザーベースでの最大表示回数)。
MTCampaignConversionCounter(*ダイナミックパブリッシングの場合キャンペーンのコンバージョン数を+1した上で)プラグイン設定で指定したURLにリダイレクトします。
*この時、クッキーをチェックしてキャンペーンを経由したユーザーのコンバージョン数をあわせて確認します。
カウント対象外のIPアドレスをプラグイン設定で指定できます。
ダイナミックテンプレートの先頭に記載する必要があります。
このタグを記載したテンプレートページへのリクエストにはクエリー文字列 campaign_id=[対象キャンペーンのID] を指定してください。
具体的には <img src="/campaign_conversion.html?campaign_id=1" width="1" height="1" alt="" /> のようにイメージタグを指定すると良いでしょう。
スタティック・パブリッシングの場合、単に数値を出力します。
このタグの代わりに効果測定用CGIを利用することも出来ます。MTCampaignScriptの項を参照してください。
MTCampaignConversionViewコンバージョンページの表示数を出力します。このタグによる出力値はキャンペーンの広告を経由していないユーザーの表示数も含む数値になります。
MTCampaignConversionコンバージョンページへの到達数を出力します。このタグによる出力値はクッキーによってチェックされたキャンペーンの広告を経由たユーザーの表示数のみをカウントします。
MTCampaignScript環境変数 CampaignScript で設定した値を出力します。デフォルト値は mt-campaign.cgi です。

mt-campaign.cgiによる効果測定

ダイナミックパブリッシングでの効果測定用タグ MTCampaignCounter, MTCampaignRedirect, MTCampaignConversionCounter の代わりにCGIアプリケーションmt-campaign.cgiを使って効果測定を行うことができます。
各タグの代わりにCGIアプリケーションを利用する時は下記のように __modeパラメタとcampaign_idパラメタを付与します。

http://site.example.com/to/mt/mt-campaign.cgi?__mode=counter&campaign_id=1
http://site.example.com/to/mt/mt-campaign.cgi?__mode=redirect&campaign_id=1
http://site.example.com/to/mt/mt-campaign.cgi?__mode=conversion&campaign_id=1

テンプレートタグでは下記のように指定することが可能です。

<$MTCGIPath$><$MTCampaignScript$>__mode=counter&campaign_id=<MTCampaignID>

プラグインによる拡張

Campaignプラグインを外部プラグインで拡張することが可能です。Campaignオブジェクト自体はMT::Objectのサブクラスですので、MTのAPIを利用してオブジェクトをロードしたりデータベースのカラムを拡張したり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一覧画面から、もしくはタスク実行によってキャンペーンオブジェクトのステータスが「終了」に変更された直後にコールされます。

カテゴリー
PowerCMS 2
サイト制作全般

Recent Entries