Mauticで必須級!Cronジョブの設定でキャンペーンが動くようにする【Mautic導入記5】
どうも!ジュンイチです。
Mauticの設定をしているとところどころうまくいかなくてつまづいてばかりですが、これもまた楽しい。解決できたときの気持ちよさがすごい。
ということで、今回は必須級の設定。cronジョブの設定をしていきたいと思います。
なぜcronジョブの設定が必要なの?
Cronジョブというのは、サーバー上で自動的に決まった時間に特定の作業をしてくれる「お手伝いロボット」みたいなものだと思ってください。
MauticでのCronジョブの役割
Mauticはマーケティングオートメーションツールで、例えば「特定の時間にメールを送る」「一定の時間ごとにリストを更新する」など、いろんな自動的な作業をしてくれます。この自動的な作業を行うためには、Cronジョブを設定しておく必要があります。
なぜCronジョブが必要なのか?
Mauticは、あなたのパソコンの中で動くソフトウェアではなく、サーバー上で動くプログラムです。サーバーは、あなたが指示をしないと何もしてくれません。Cronジョブを設定することで、Mauticが「いつ」「何を」するべきかをサーバーに教えてあげることができます。
例えば、「毎日午前9時に未読のメールリストをチェックして、新しいメールを送る」といった指示をCronジョブで設定することで、サーバーは決められた時間に自動的にその作業を実行してくれます。
簡単な例え
イメージとしては、毎朝決まった時間に起きるための目覚まし時計をセットするようなものです。Cronジョブを設定しないと、Mauticはいつ何をすればいいのか分からず、目覚まし時計がないまま寝坊してしまうような状態になります。
つまり、Mauticをしっかり働かせるためには、「何時にどんな作業をするか」を指示するためのCronジョブが必要なんです。
僕の失敗例
このCronジョブを設定せずに、Mauticでキャンペーンを作ったんですよね。キャンペーンっていうのは、特定のフォームから登録してくれた人を、決まったコンタクトセグメントに登録して、その人には1日後にステップメール1通目を送って、2日目には2通目のステップメールを送って、、、という感じで自動化するためのもの。
設定はしていざちゃんとキャンペーンが動くか?ステップメールが流れてくるか?をテストしてみたんだけど、全然動かない。。。
色々調べてみると「サーバーでCronジョブの設定をしないとキャンペーンは動かない」という事が分かったんです。。。
ということで、MauticでCronジョブを設定しないと!!ということで調べながらやってみました。
最低限必須の3つのCronジョブ
いろいろなCronジョブを設定していくんだけど、それぞれ意味がわからないっていう人のために、「これだけは絶対設定しておけ!」っておいう3つのCronジョブを紹介します。
1.セグメント更新 【実行時間 0,15,30,45(分)】
php -q /path/to/mautic/bin/console mautic:segments:update
2.キャンペーン更新 【実行時間 5,20,35,50(分)】
php -q /path/to/mautic/bin/console mautic:campaigns:update
3.キャンペーントリガー 【実行時間 10,25,40,55(分)】
php -q /path/to/mautic/bin/console mautic:campaigns:trigger
こんな感じで設定します。
/path/to/mautic/
って何?自分のmauticならどう設定したらいい?
ちなみに僕はエックスサーバーを使っているんだけど、/path/to/mautic/
の部分がわかりにくかったから、色々試しました。
エックスサーバーの場合、サーバーパネル>サーバー情報に「ホームディレクトリ」
っていうのがあります。
そこに例えば
ホームディレクトリ | /home/hogehoge |
---|
と書いてあるとします。
さらに、Mauticをexample.com/mautic
というところにインストールしたとします。
そうすると、/path/to/mautic/ の部分はどうなるかというと、
/home/hogehoge/example.com/public_html/mautic/
となるわけです。となると、先程の1~3の重要なCronジョブは以下のようになります。
1.セグメント更新 【実行時間 0,15,30,45(分)】
php -q /home/hogehoge/example.com/public_html/mautic/bin/console mautic:segments:update
2.キャンペーン更新 【実行時間 5,20,35,50(分)】
php -q /home/hogehoge/example.com/public_html/mautic/bin/console mautic:campaigns:update
3.キャンペーントリガー 【実行時間 10,25,40,55(分)】
php -q /home/hogehoge/example.com/public_html/mautic/bin/console mautic:campaigns:trigger
こんな感じになります。
他にもこんなCronジョブの設定をしても良いかも?
以下は一応僕が追加設定した内容です。ただ、まだ長い期間Mauticを運用していないから、ちゃんと合っているかどうかは全部検証できていないので、そこんとこはご勘弁を。
メール送信(15分ごと)(500コンタクト制限)
php -q /path/to/mautic/bin/console mautic:emails:send --max-contacts=500
ウェブフックの実行(15分ごと)
php -q /path/to/mautic/bin/console mautic:webhooks:process
カスタムフィールド更新(毎日0時00分に実施)
php -q /path/to/mautic/bin/console mautic:custom-field:create-column
メールキュー処理(500件制限)(15分ごと)
php -q /path/to/mautic/bin/console messenger:consume email --limit=500
監視対象メールの取得と処理(1時間ごと)
php -q /path/to/mautic/bin/console mautic:email:fetch
まとめ
ということで、このCronジョブの設定をサーバー側で設定したら、ちゃんとキャンペーンが動くようになりました。めでたしめでたし!
デジタルマーケティングで重要な
「データ分析」を今すぐ始めよう!
\ Kindleで売れ筋トップ獲得本 /
GA4超入門ガイドブック
プレゼント!