[magento]メールマガジン配信のノウハウ

ECサイトのプロモーションに必須の「メールマガジン」。
もちろんMagentoにもメールマガジン配信機能が備わっているわけですが、日本語のドキュメントが少ないので、実際の配信はなかなか難しいものがあるんじゃないかと思います。

そこで、実際にメールマガジンを配信してみてわかったこととか、いろいろ書いてみたいと思います。
ちょっと長くなりますが、全部読めば、あなたもMagentoでメールマガジン配信ができるようになります。

※以下、Magento 1.6 を、Rack-JPエクステンションで日本語化したもので説明します。

※英語の情報を探すときは「newsletter」というキーワードで検索してください。

cronの設定をしよう

メールマガジンを発行するためには、まず、サーバーで cron の設定をする必要があります。
Magentoインストールディレクトリにある cron.php を定期的に動かさないといけないからです。
実は私、これに気づかなくて1日くらい「なんでメールマガジンが送信されないんだろう?」と悩んでおりました。

MagentoがインストールされているWebサーバーで、下記のようにcronの設定をします。

*/5 * * * * /usr/bin/php /home/user-dir/public_html/magento/cron.php

この設定はMagento推奨のもので、5分ごとに cron.php を動かします。
時間設定は、サーバーに負荷がかからない程度に適宜変更してください。

/usr/bin/phpは、phpのあるディレクトリです。サーバーに合わせて指定してください。
/home 以下は、magentoがインストールされているディレクトリを指定してください。
cron.php は正常に動作した時は出力を出さないので、特に出力を捨てる設定はしなくてもいいでしょう。
(エラー出力は捨てないほうが良いと思います)

cronの設定は、sshが使えるサーバーなら、crontab で設定します。(crontabの使い方はググってください)
エックスサーバーやさくらなど、コントロールパネルからcron設定ができるサーバーもあります。

メールマガジンの設定をしよう

「システム」-「設定」-「セールス」-「メールマガジン」で、メールマガジンの設定をします。
説明の都合上先に書いてしまいましたが、実際には、次項のメールテンプレートを作成してから、メールテンプレートの割り当てを行ってください。 

20120616-01.jpg

  • メールマガジンの購読申込成功メール、購読解除メール、購読申込時の確認メールに使用するテンプレートと送信者の指定
  • メールマガジン申込時に、メールアドレスの確認をするか?(申込メールアドレス宛てに、購読申込用リンクを通知します)
  • ゲストへのメールマガジン配信を許可するか?

 

なお、ユーザーが購読申込/解除したときだけでなく、管理者が購読状態を変更した時も、ユーザーに通知メールが送信されます。
通知メールを送らないようにするためには、次のエクステンションを導入しましょう。

Facon_Newsletterrw
http://stackoverflow.com/questions/2844023/magento-store-dont-send-newsletter-success-email

このエクステンションはMagento Connectには対応していません。
上記URLからダウンロードして、解凍したものをサーバーにアップロードしてください。
すると、メールマガジン設定の一番下に、通知メールを送るかどうかのドロップダウンメニューが現れます。
「Yes」で送信しない設定になります。(逆なので注意!)

取引メールを作成しよう

通知メールを、ショップの取引メールに合わせたものに変更しておきましょう。

作成するのは下記の3つです。

  • メールマガジン購読成功
  • メールマガジン解除成功
  • メールマガジン購読確認(購読確認をする場合)

 

やり方は、他の取引メールと同じです。
「システム」-「取引メール」で取引メール一覧を出して、「新しいテンプレートを追加」をします。

20120616-02.jpg

ここでいつもは「標準のテンプレートを読み込む」を行うのですが、標準のテンプレートは内容が「正常にニュースレターを購読しました。」だけで全然参考になりませんので、あえて読み込む必要はありません。
ショップですでに作成している他のテンプレートを読み込んで、本文部分を「メールマガジンご購読の申し込みありがとうございます」のように変更したほうがいいでしょう。

取引メールテンプレート作成では、一つ注意点があります。
他の取引メールで使用できるユーザー情報に関する変数が、メールマガジン関係のテンプレートで使えないのです。
まず、注文に関係ないので、{{var order.getCustomerName()}} のように、order、billing、などに紐づいたものは使えません
また、{{var customer.name}} も使えません。これは、ゲストにもメールマガジン購読が可能だからです。

メールマガジン関連のテンプレートで使えるのは、下記のものになります。

  • {{var subscriber.email}}:メールマガジン送信先メールアドレス
  • {{var subscriber.CustomerFirstname}}:メールマガジン購読者の名
  • {{var subscriber.CustomerLastname}}:メールマガジン購読者の姓
  • {{var subscriber.SubscriberFullName}} :メールマガジン購読者のフルネーム(姓名が逆)
  • {{var subscriber.getConfirmationLink()}}:メールマガジン購読申込リンク
  • {{var subscriber.getUnsubscriptionLink()}}:メールマガジン購読解除リンク

 

これらは、app/core/Mage/Newsletter/Model/Subscriber.php のメソッドです。
従って、独自に拡張して使うこともできます。

テンプレートが作成出来たら、前項のメールマガジンの設定で、テンプレートを割り当てておくことを忘れないでください。

メールマガジンのテンプレートを作ろう

ようやく、本題のメールマガジンの制作に入ります。

「メールマガジン」-「メールマガジンテンプレート」で、「新しいテンプレートの追加」をクリックして、新規作成画面を表示します。

20120616-03.jpg

20120616-04.jpg赤い*は必須項目です。

  • テンプレート名 *:管理画面上のテンプレート名です
  • テンプレート件名 *:メールマガジンのタイトル(subject)です
  • 送信者名 *:送信者名(Fromの名前部分)です
  • 送信者アドレス *:送信元メールアドレス(From)です
  • テンプレートコンテンツ *:メールマガジンの本文です
  • テンプレートスタイル:HTMLメールのheadタグ内に指定できるスタイルシートですが、受信メーラーによっては対応していないスタイルがあります。

 

新規作成時に、すでにテンプレートコンテンツには、購読解除のリンクが入っています。
文言は変えても構いませんが、このリンクは必ずメールマガジンに入れておくようにしましょう。

メールマガジンは、デフォルトでHTMLメールになっていますが、プレーンテキストで作成することもできます。
取引メールのように自動で挿入される項目はないので、プレーンテキスト化しやすいと思います。
しかし、最近は、楽天・AmazonなどからもHTMLメールが来るので、わざわざプレーンテキストのメールマガジンを作る必要はないでしょう。

HTMLメールの作成は、相当のコツが必要です。
私が参考にしているものをご紹介しますので、一読されてから作成されることをお勧めします。

意匠部@wiki BETA – CSS・XHTML/コーディングルール/メールマガジンを作る際に気をつけること
http://www37.atwiki.jp/k-designer/pages/41.html

誰でも作れる! “崩れない”HTMLメルマガ作成術 – @IT
http://www.atmarkit.co.jp/fwcr/design/tool/ichigeki12/01.html

なお私は、HTMLメールをMagento上で作成せず、Dreamweaverで作成してから、<body>~</body>の部分をMagentoにコピー&ペーストしています。
ソースコードでコピー&ペーストする場合は、「Show / Hide Editor」をクリックしてHTMLが入力できるモードに切り替えてからペーストしてください。

20120616-05.jpg

配信しよう

メールテンプレートが作成できたら、いよいよ配信です。

「メールマガジン」-「メールマガジンテンプレート」の画面で、配信したいメールマガジンの右にある「アクション」ドロップダウンメニューから「メールマガジンキューイング中」を選択します。

20120616-06.jpgすると、「メールマガジンの編集」画面に切り替わります。

20120616-07.jpgここで一番上の「キュー開始日」を設定します。
入力ボックス右のアイコンをクリックするとカレンダーが表示されますので、日付と時間をクリックして設定します。時間は「クリックで進む/shift+クリックで戻る」 になっています。また、左右にドラッグすると大きく時間を変えることができます。

キュー開始日が設定出来たら、「メールマガジンの保存」をクリックします。
すると、「メールマガジンキュー」画面に切り替わり、配信がスタートします。

magentoでは、デフォルトで1回に20通のメールを送信する設定になっています。
cronを5分おきに起動する設定にしていた場合、100通送信するのに20分かかる計算になります。
送信数を変更するには、プログラムの修正が必要です。

送信中は、他の操作を行うことができます。
ログアウトしても問題ありません。

全てのメールマガジンの送信が完了すると、メールマガジンキューの状態が「送信済」になります。
私が試したところでは、cron.php が動作していないときは「未送信」になっているようです。(送信している最中のみ「送信中」になるみたいです)

購読状況を変更してみよう

「メールマガジン」ー「メールマガジン購読者」で、現在メールマガジン購読申し込みをしているユーザーを確認することができます。

20120616-08.jpg購読解除するには、ユーザーにチェックして、アクションから「メールマガジン購読解除」を選択して送信します。

購読を開始させるには、「顧客」-「顧客管理」で設定します。
購読開始させたいユーザーにチェックして、アクションの「メールマガジン購読」を選択して送信します。

20120616-09.png管理者による操作でも、ユーザーに通知メールが送信されることに注意してください。
(前の項にあるように、エクステンションを導入していれば、送信しないように設定できます) 

新規アカウント登録時、デフォルトでメールマガジン購読にしたい

新規アカウント登録画面では、メールマガジン購読にはチェックが入っていません。
ショップ側としては、デフォルトでチェックを入れておきたいところです。 

app/design/frontend/base/default/template/persistent/customer/form/register.phtml を、テーマのディレクトリにコピーして、修正を行います。

59行目当たりにチェックボックスがありますので、checked=checked を囲んでいるif文を削除します。

(もと)

<input type="checkbox" name="is_subscribed"
title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"
<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?>
class="checkbox" />

 

(修正)

<input type="checkbox" name="is_subscribed"
title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"
checked="checked" class="checkbox" />

 

顧客全員にメールマガジンを送りたい

購読していない顧客にもメールマガジンを送りたいということがあると思います。
残念ながら、これを実現するには、有償のエクステンションを導入するしかないようです。

エクステンションを導入しないでこれを行うには、下記の手順をとることになると思います。

  1. 1.顧客データをバックアップしておく(エクスポート)
  2. 2.購読設定を変更して、全員購読にする
  3. 3.メールマガジンを送信する
  4. 4.顧客データを元に戻す

 

しかし、この方法には大きな問題があります。
最後に顧客データを元に戻すので、2~4の手順の間に、ユーザーがアカウント情報を変更しないようにしなければなりません。 
つまり、ショップ機能を一時止めなければならないのです。
仮に顧客が1000人いたら、5分で20通ずつ送信するとして約4時間止めなければなりません。
これは現実的な方法ではないと思います。

顧客全員にメールを送信したい場合は、他のメールマガジン配信サービスを利用することをお勧めします。
顧客データをエクスポートすれば、他のサービスを利用するのは難しくないと思います。

 


 

メールマガジンの機能に関しては、必要最低限の機能があるといった感じで、顧客に合わせて柔軟なプロモーションを行うには、有償のエクステンションが必要です。

とはいえ、そこまで細かいことをやらないのであれば、十分に使えると思います。

 

この記事を書いた人

川井 昌彦
川井 昌彦
FAシステムメーカー、国内最大手印刷会社製版部、印刷・ウェブ制作会社を経て、家庭の事情で実家に帰省して独立
現在はフリーランスと制作会社シニアディレクターのマルチワーク
ウェブ制作のほぼ全般を見渡せるディレクター業務が主だが、デザイン・コーディングも好き

1997年ブログ開設
WordPressコミュニティには2011年から参加
WordCamp Kansai 2016 セッションスピーカー
WordCamp Tokyo 2023 パネルディスカッションパネラー
WordBench京都、WordBench神戸、WordPress Meetup八王子など登壇多数

ご質問・ご相談などありましたら
お気軽にお問い合わせください


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Vektor Passport(ライセンス期間1年)
VK Filter Search Pro
Vektor WordPress Solutions
PAGE TOP