Hatena::ブログ(Diary)

EC-CUBEのカスタマイズならクロスキューブ!サイト制作メモ このページをアンテナに追加 RSSフィード Twitter

2017-02-28

Mauti マーケティングオートメーション

EC-CUBEで制作したBtoCのネットショップにマーケティングオートメーションを

Mautic キャンペーン画面

みなさん、マーケティングオートメーションって知ってますか?

最近、よく話題になってきていますが、多くの方の認識では「大規模なBtoBで使うもの」という認識が強いのではないでしょうか?
実は全然そんなことなくて、単に有名なマーケティングオートメーションツールがクッソ高いからなだけなんですね。*1

このマーケティングオートメーションツールは、BtoCECでも非常に強力なツールです。いや、むしろECサイトにこそ必要なツールです。
ユーザショップ内外での動きをトラッキングし、セグメント化し、ポイント付与して、購入意欲の高いユーザに様々な訴求ができます。


マーケティングオートメーションとは?

わかりやすく日本語で言うと、見込み客作り(追客)の自動化です。

マーケティングオートメーションとは?

マーケティングオートメーションの「マーケティング」は、広義の意味でのマーケティングとは少し違います。
インターネット上でのユーザの様々な行動を追跡し、行動に合わせた施策の実行、ユーザ評価の変更などがそれにあたります。

例を言うと、仮にクーポン配布を特典としてメルマガ登録を促すとします。

こういった事を自動で行うツールマーケティングオートメーションツールです。Wow

そんなマーケティングオートメーションにもオープンソースソフトウェアはあり、誰もが無料で利用できます。

Mauticとは?

Mautic ロゴ

Mauticとは、GPLライセンス下で公開されているオープンソースマーケティングオートメーションツールです。

https://jp.mautic.org/

無料で誰もが利用でき、GPLライセンスに則った形で改変が可能です。

高価なツールに比べれば機能は劣りますが、それでも基本的機能は揃え、充分に高機能です。
おそらく、ほとんどの人が全ての機能を使いこなすのは難しいでしょう。

WordPressconcrete5とも連携ができ、僕がファウンダーを務めるconcrete5 Japan, inc.のメンバーは日本コミュニティの主要メンバーです。

自前のサーバインストールして運用する事もできますし、Mauticが提供するクラウドサービス制限付きながら無料で利用できます。

Mauticで何ができるの?

Mauticには以下の基本機能があります。

どうでしょうお腹いっぱいですよね!w

基本機能でこれだけの事ができるので、まずは基本機能でできる事から始めるのをオススメします。

Mauticの詳細な使い方などは、ドキュメント(一部日本語アリ)もありますし、勉強会も開催されています。そういったところで学習もできますが、まずは使ってみることをオススメします。


ネットショップでMauticなどのマーケティングオートメーションツールを導入するとどうなるか?

では、BtoCのECサイトでMauticを導入すると何が変わるのでしょうか?
どんな良い事があるのでしょうか?

答えは、自動化することによって「手が空く」「今までできなかった事ができる様になる」が一番大きいと思います。

その結果、ネットショップの売り上げが向上する。という事につながります。

今まで手作業で行ってきたメール配信や返信、フォローアップメール送信が、リスト抽出などせずとも自動で送信される様になります。

クーポンセールなどのイベントも準備と管理コストが大幅に減って、今まででやりたくても手が足りなくて出来なかった事が色々とできる様になります。

その結果、機会ロスを減らしきめ細やかなカスタマーサポートが可能になり、顧客満足度の向上、売り上げの増大が望めます。

EC-CUBEとの連携もハードルは高くない

Mauticはオープンソースです。

facebookLinkedInとの連携プラグインもありますし、新しくプラグインを開発する事だってできます。

そもそも、通常のHTMLWebサイトに組み込んで使える様に作られているので、ノンカスタマイズでもEC-CUBEで構築したECサイトに導入する事ができます。

購入商品や購入フローの進捗状況、会員非会員の状況に合わせた細かい条件設定や、シナリオを実現するためには多少カスタマイズが必要になってきますが、それもそれほど大掛かりなものではありません。

EC-CUBE3を使ったプロジェクトで既に導入しています

実は、とある単品通販ECサイトで既に導入して稼働させています。

マーケティングオートメーションの導入は、健康食品化粧品コスメなどの単品通販ECサイトだと簡単なんです。

設定するシナリオもある程度決まったものになりますし、商品に応じた分岐が少ないからです。

オープン

このECサイトでは、ネットショップ構築中はブログSNSでの告知活動をメインに始めました。

フォロワー数やfacebookページの「いいね」の数を増やし、ブログで関連記事を書いてSEO+コンテンツマーケティングをする。
ショップオープンした際に、ショップランキングや外部リンクの獲得、アクセス数を集めるために先行してこういった施策を行いました。

ショップURLでは、ランディングページを作成し、オープニングセールで利用できるクーポンを特典としてメルマガ会員を募り、プロダクトローンチの手法を応用してメールでのフォローアップ、オープンまで忘れられない様にしました。

オープン

オープン後は「カートに商品を入れたら+5ポイント」「会員登録をしたら+5ポイント」の様にユーザの行動に合わせてポイント付与を行い、購入処理の途中でカゴ落ちしてしまったユーザにはその後のフォローアップメッセージを表示。

ショップサイトアクセス数を稼ぐためにtwitterハッシュタグキャンペーン実施したりと、Mauticの各種機能を使って様々な施策を打ちました。

結果、非常に良いスタートを切る事ができ、今後もレポート分析しながらシナリオ改善したり、新しい施策を行っていくつもりです。

そして、非常に重要なのがこれらの実際の処理を「マーケティングオートメーションツールが自動でやってくれる」という点です。

僕らがやるのはシナリオに合わせたツールの設定だけ!

重要なのは戦略ツールじゃない

ここで重要なのが、「ツールを使う事が目的にならない様にする」事です。

重要なのはシナリオです。

ちゃんとしたターゲット策定とそれに合わせた合理的センスの良い施策

これをしっかりと考える事ができるのがマーケティングオートメーションツールを使う事の最大のメリットです。

なので、「Mautic入れたら簡単に売り上げ上がったヤッホー!」とはならないので注意してください。
実行はツールがやってくれますが、どう実行するのかシナリオを考えるのは人間の仕事です。

優れたマーケッターは優れたMA使いになる

そういった事情から、優れたマーケティングセンススキルを持ってる人は、非常に効率の良いMA使いになれます。

Mauticと一人のマーケッターで、今ままででは考えられなかった様な成果を出す事ができると思うので、まだ使ってない方はぜひ試してみてください。

ECサイトへのMautic導入のお問い合わせはこちら≫

EC-CUBE3対応!デザインカスタマイズガイドブック

新しくなったEC-CUBE3に対応したデザインカスタマイズブック。2017年1月現在 EC-CUBE3のデザインカスタマイズについて解説されている書籍はこれだけです。とりあえず買いましょう!

*1:そりゃそんなバカッ高いもの大企業しか導入できんわ

2017-02-22

約200%早くなった! EC-CUBE3のパフォ

約200%早くなった! EC-CUBE3のパフォーマンスチューニング - キャッシュの設定方法

EC-CUBE Ver.3.0.11以降では、設定ファイルを追加する事で各種キャッシュを利用できる様になり、表示速度の向上ができます。

今回、EC-CUBEの開発コミュニティーで、ヘテムルでEC-CUBE3が遅いと書き込みがあったのでご紹介します。

EC-CUBE3 トップページ チューニング後のパフォーマンス

結論から言うと約200%早くなった

いきなりベンチ結果です。

Apache Bench : Request per second

->Faster

6.97
3.21

Chrome Developer Tools : Waiting (TTFB)

<-Faster

487ms
1,250ms

チューニング 標準

環境は、

です。
Apache Benchは-c35 -n35でトップページの表示の結果です。

http://eccube3.xross-cube.net/


EC-CUBE Ver.3.0.11で追加されたDoctrine CacheHTTP Cacheとは?

EC-CUBE3を開発するにあたり、コミッターで色々な議論がされました。その時に僕はパフォーマンス向上とデータ構造の柔軟性を強く訴え、concrete5を参考にしたEAVのサンプルコード*1とかも出していたのですが、「いきなりテーブル構造を大幅に変えるのはちょっと...」とか「EAVはちょっと...」という事でお蔵入りになってしまいました。

とりあえず2系の基本機能を新しいアーキテクチャ実装するという方針で、Ver.3.0.0は開発され、リリースされましたが、リリース直後から「もっさりしてる」「重い」という意見が多く、高速化作業が進んでいました。

その後3.0.11でパフォーマンス改善のために導入されたのがこのDoctrine CacheHTTP Cacheになります。

Doctrine Cacheとは?

EC-CUBE3ではデータベース等のアクセスDoctrineという実績豊富ライブラリを利用しています。開発をしやすくしてくれる便利ライブラリですが、こいつが重い!

そこでデータベースからのレスポンスやデータ構造の設定などをキャッシュしておく仕組みがこのDoctrine Cacheです。

HTTP Cacheとは?

EC-CUBE3ではフレームワークとしてSilexを利用しています。

Silexでは他のsymfony系のフレームワーク同様に、symfonyコンポーネントを元にしており、symfonyの多くの機能を利用できます。

このHTTP Cacheはそんなsymfony機能ひとつで、いわゆるリバースプロキシです。
プログラムの実行結果としてのWebページをキャッシュしておいて、コントローラに処理が渡る前にキャッシュからレスポンスを返します。

単純なリバースプロキシであればPHP実装されたこのHTTP Cacheよりも、Nginxリバースプロキシやfast-cgiキャッシュの方が高速に動作しますが、EC-CUBEで構築するネットショップではログインボックスやカート画面など、単純なリバースプロキシでは困る事が多々あります。

このHTTP Cacheの素晴らしい点は、EC-CUBEのブロック単位キャッシュするしないの設定が可能な事です。これにより常に動的に動作して欲しいブロックや画面はHTTP Cache無効にする事ができます。

キャッシュの設定方法

さて、では早速Doctrine CacheHTTP Cacheを設定してみましょう。

これらの設定にはYAML形式設定ファイルを利用します。*2

設定ファイルは、 /app/config/eccube 配下に、

  • doctrine_cache.yml
  • http_cache.yml

という名前で作成します。

これらのファイルの雛形が、/src/Resource/config 内にあるので、これをコピーしてきて作ると楽チンです。

では、次にそれぞれの設定ファイルの中身と設定項目です。

続きを読む

*1商品情報が柔軟なMagentoはEAVを採用しています。カオス

*2YAMLパースもクッソ遅いので、EC-CUBE3ではPHPのarray形式での設定も可能です。さらに速くしたい方はこちらもどうぞ

2017-02-09

EC-CUBE3運用マニュアル

EC-CUBE3の運用マニュルってあるの? 見つからなかったんで作りました!

EC-CUBE3運用マニュアル

Twitterで、EC-CUBE3の管理画面の使い方とか運用マニュアルって無いの?っていうtweetを見つけたので、ちょっと探してみました。

が、カスタマイズのマニュアル記事は多いのですが、管理画面の使い方や仕様に関するものは見つけられませんでした。

なので、最新版の仕様調査も兼ねて作ることにしました。

EC-CUBE3運用マニュアル

現在は基本的な部分しか作っていませんが、順次コンテンツを追加していく予定です。更新したらこブログtwitter

等でお知らせするので、気になる方はチェックしておいてください。

EC-CUBEの2系と比べて何が変わったか?

基本的なところは変わっていないのですが、2系と比較して機能にいくつか差異があります。

まず、2系では標準機能だった以下の機能公式プラグインに変更になっています。なので、ただEC-CUBE3をインストールしただけでは使えません。

続きを読む

2017-01-31

SEO 商品の構造化データのマーックアッ

Google画像検索向けSEO。商品情報が表示される!JSON-LDでEC-CUBE3に商品の構造化データを追加しよう

最近になってGoogleAMPをはじめたり( concrete5 5.6系向けにAMPアドオンを作ってみたモバイル専用インデックスの発表をしたりと、どんどんモバイルファーストを進めています。

そんな中、最近の内部SEOでとても重要になっているのが構造データマークアップです。

正しいHTMLWebページを記載するのはもちろんですが、より検索エンジンにわかりやすい形でページの情報を伝えるマークアップですが、これがモバイルで大きく意味を持つ様になってきました。

Google画像検索では商品画像商品情報が表示される

構造化データ マークアップの結果 モバイル画像検索 Amazon

構造化データ マークアップの結果 モバイル画像検索 EC-CUBE

AmazonEC-CUBE公式のデモサイト内の画像検索のスマホでの表示結果です。

何が違うかわかりますか?

そう!Amazon画像の方では金額在庫情報などが表示されています。
これはAmazon商品ページには構造データマークアップがされており、EC-CUBEの詳細ページには無いからです。

お客さんの行動を考えてみましょう。
例えば、L字型のソファーを買いたいと思っているとします。

「どんなのがあるかな〜?いくらくらいかな〜?」とWebで検索するでしょう。

その際、僕もよくやるのですが画像検索を使います。
画像検索結果の中から良さそうな画像クリックして、どこで売ってるのか?いくらくらいなのか?を見ます。

そんな時に価格とかレビューの値とか出てるとわかりやすくてそのまま買っちゃいそうです。

これはぜひ入れておいた方が良さそうですね。

商品情報構造データマークアップのやり方

実は商品情報の構造化データは昨年末に更新されていました。

この時に画像検索に対する商品情報リッチスニペッドへの言及が追記されました。

構造データマークアップの種類は、実はいくつかあります。代表的なものはサイトロゴ組織を表すものです。また、Newsイベントなどもあります。

実装microdataやRDFaなどもありますが、HTMLタグ属性として記述しないといけなかったりと、なかなか後から追加するのは面倒なものなので、ここはGoogleも推奨しているJSON-LD形式での実装が一番良いと思います。

JSON-LDとは?

JSON-LDとは、json機械でもわかりやすい様に意味合いを追加したjson拡張形式です。

わかりやすく言うと、「jsonLinked Dataしちゃおう」です。

通常のjsonオブジェクトのkey:valueは人間が考えて人間が見てわかりやすい名前Keyに付けています。でも、それだと検索エンジンなどの機械には、その値がどんな意味を持っているのか解りづらいので、機械でもわかりやすい様にKey定義へのリンクIRI)を付けて検索エンジンなど機械にも解りやすくしちゃいましょう、というものです。*1

詳しくはw3cのこちらの記事をご参照ください。

EC-CUBEなら簡単なカスタマイズで構造マークアップの追加ができる

さあ、次は実際にEC-CUBE商品詳細ページにJSON-LD形式構造データマークアップしていきましょう。

続きを読む

*1:実際にはcontext使ってるので、イチイチIRI指定とかは不要です

2016-12-08

EC-CUBE3のバージョンアップ

カスタマイズされたEC-CUBE3のバージョンアップをしてみた

f:id:xross-cube:20161208170108p:image

この記事EC-CUBE Advent Calendar 2016の8日目の記事です。
前日はnanasessさんの「1行のコマンドでローカル環境にEC-CUBEを最速でインストールする」です。明日はロックオン安達さんの「herokuボタンで簡単ec-cubeの全機能を試してみる」です。
こちらも併せて読んでみてください。

お久しぶりです。株式会社クロスキューブの佐々木です。なんと前回の記事から1年以上も間隔が開いてしまいました。
下書きばかりが増えている状況ですが、これからはもう少し頑張ります。

先日、EC-CUBE3の新バージョン、3.0.12がリリースされ、様々な細かい不具合パフォーマンスに関する修正がされました。*1

今回、コアをカスタマイズされた3.0.10からのバージョンアップをしてみましたので、その手順をご紹介します。ターミナルからコマンド打って諸々できれば楽なのですが、「黒い画面はちょっと敷居が高い」といった方にも大丈夫なやり方です。

まず手順と変更点を確認。

まずここを読みましょう。これ必須です。

http://ec-cube.github.io/quickstart_update

何はともあれバックアップ

これ基本ですが超大事。とにかくアップデート前の現状は必ずバックアップしておきましょう。
何も考えずにソースコード画像ファイルなどのファイル一式、データベースdumpデータを取ります。

どこがカスタマイズされたかEC-CUBE3のコアの差分を確認する

次に、バックアップしたコードから、コアのどこが改変されているかを確認しましょう。gitなどのバージョン管理システムをちゃんと使っているとコマンド一発で確認できます。

でも、「コマンド打って出てくるdiffフォーマットが見づらい〜」とか、「そもそもgitとか使ってないしわからない」という方はGUIのマージツールを使いましょう。

Windowsであれば日本語もOKな世界で一番使いやすいWinMergeを、Macな方であればDiffMergeがオススメです。

WinMerge
WinMerge
  DiffMerge
DiffMerge

この差分の確認は、必ず現状のサイトで利用しているバージョンのノーマルなカスタマイズ前のコード比較して確認してください。アップデート対象の新バージョンと比べても色々変わっててどこをカスタマイズしたかわかりません。

EC-CUBEの古いバージョンが見つからない!

しかし、EC-CUBE公式サイトからは古いバージョンのコードダウンロードできません。

今回のケースで言えば、カスタマイズ前の3.0.10と稼動しているサイトコード比較したいのに、EC-CUBE公式サイトからは、最新版の3.0.12しかダウンロードできません。
これは困ってしまいましたね。

でも大丈夫!以下のURLから各バージョンの主な変更点の確認と過去バージョンのコードダウンロードできます。
https://github.com/EC-CUBE/ec-cube/releases

ここから現在利用中のバージョンのコードダウンロードしてきて、差分を確認しましょう。

テンプレート等の差分を確認

コアの PHPコード以外に、twigのテンプレートの記述がバージョンにより変更されている場合があります。画像jsもですね。
このあたりもバージョンアップに伴いどう変更されたか、先ほどのURLで確認しておきましょう。

twigテンプレートは/appディレクトリにもある場合があるので、忘れずに確認しましょう。

EC-CUBE3対応!デザインカスタマイズガイドブック

新しくなったEC-CUBE3に対応したデザインカスタマイズブック。2017年1月現在 EC-CUBE3のデザインカスタマイズについて解説されている書籍はこれだけです。とりあえず買いましょう!

プラグインに要注意!一旦無効にしよう

使っているプラグインアップデート対象のバージョンに対応しているとは限りません。念のために全部一旦無効にしておきましょう。
あまりにも古いプラグインの場合、サーバファイルがあるだけで EC-CUBEエラーを起こして何にもできなくなる場合があります。そういったプラグインは一旦アンインストールしてファイルも決しておきましょう。

プラグインアップグレードはコアのアップグデート後です。

コアのコードをどーんと上書き

一通りカスタマイズ箇所の確認等が終わったら、src、venderの中身をドーンとサーバアップロードして上書きします。

カスタマイズしたappディレクトリ等にあるtwigテンプレートファイルの上書き等は後回しでOK。
とりあえずデータベースマイグレーションができる様にします。

vender、autoload.phpにご注意

src、venderなどをFTPソフトなどでアップロードすると、一部のファイルが正常にアップロードできない場合があるので、もしエラー等が発生したらもう一回アップロードし直しましょう。

できれば、サーバ上でcomporserコマンドで更新するのがベストです。

マイグレーション

必要なファイルアップロードしたら、マイグレーションを実行します。
この際、html/install.phpが必要なので、これもアップロードしておきましょう。

データベースマイグレーションとは、バージョンアップに伴い変更になったデータベース構造を変更するものです。

/install.php/migration にアクセスするとマイグレーション画面が表示されるので、マイグレーションを実行します。

実行したら念のため管理画面で各種キャッシュをクリアしておきましょう。

カスタマイズ箇所の反映

マイグレーションが終わったら、いよいよカスタマイズ箇所の反映です。
最初に確認した差分を変更していきましょう。先ほどのdiffツールがとても役に立ちます。git使えるともっと便利です。

ただ、バージョンアップによって利用できるメソッド変数名が変わっている事もあるので、バージョンアップで何がどう変わったかのか?を正確に把握しておく必要があります。
場合によっては施したカスタマイズを捨ててしまいましょう。

この作業はとても面倒くさいし、 結構コアな知識が必要とされる場合があります。こういった作業をしなくても済む様に、EC-CUBE3ではできるだけプラグインでカスタマイズしていくのをオススメします。

プラグインアップデート

プラグインアップデートも忘れずに行いましょう。 EC-CUBE3のコアの新バージョンがリリースされた直後だと、まだプラグインバージョンアップされていないことがありますが、オーナーズストアから入れたものは新しいバージョンが出たら管理画面からアップデートできる様になるので、必ずアップデートしましょう。

古いプラグインを使っていると、動作の不具合障害の原因になったり、セキュリティ問題が発生する場合があります。

最後に管理画面からもろもろキャッシュを削除しましょう。

まとめ

今回は環境の都合でターミナルでの作業が難しかったためにこういったやり方を行いました。あと、個人的にはdiffツールコードを追うときにわかりやすくで好きです。
どうしても自分の目でコードをちゃんと確認しないと安心できないので。

実際は、こういった作業ステージング環境等のテスト環境テストしてから本番に反映させるのですが、サーバによってはsshでのアクセスができなかったりと、どうしてもFTPなどでファイルアップロードしてバージョンアップ作業を行う場合があります。
その場合、データベースに入っている情報は最新のものを利用しないといけないので、ローカルアップデートして本番サーバDBの中身もアップロードして更新するよりも、本番サーバマイグレーションした方が早いケースが多いです。

また、コアがカスタマイズされているEC-CUBE3はやはりある程度プログラミング等の知識がある人間でないとなかなかバージョンアップするのは難しいと思います。できれば詳しい人にお願いしましょう。

EC-CUBE3のバージョンアップや、カスタマイズ等に関しては、公式サイトよりもEC-CUBE3開発ドキュメントの方が詳しく、情報量も多いので必ずこのサイトを確認する様にしましょう。

*1パフォーマンスに関する多くの修正は3.0.11で追加されました

2015-07-28

xross-cube2015-07-28

ロックオン主催のEC-CUBE3の東京勉強会に参加してきました

毎度ご無沙汰しております。株式会社クロスキューブの佐々木です。

先日、EC-CUBE開発元の株式会社ロックオン東京オフィスでEC-CUBE3の勉強会が開催されたので、弊社デザイナー田原と共に参加してきました。

EC-CUBE3東京勉強会風景


先日リリースされたEC-CUBEの新バージョン、EC-CUBE3は、ぱっと見はあまり変わっていませんが裏は大きく変わっています。

PHPフレームワークとしてSilex採用し、PSRのいくつかに準拠した構造となっています。

DB周りはPEAR::DB2からPDOを使うDoctrineに、テンプレートエンジンSmartyからTwigに変わり、多くのSymfonyコンポーネントを利用し、車輪の再発明を極力少なくしました。

Doctrine採用した事により、アプリケーションが吐くSQLも2系よりも素直なものになり、MySQLでのパフォーマンスもだいぶ改善されています。

弊社、株式会社クロスキューブでも、極々微力ですがEC-CUBE3の開発にご協力させて頂きました。*1

今回の勉強会では、中身が大きく変わったEC-CUBE3の現状について、ロックオン足立さんとEC-CUBE責任者の金さんがお話しをされました。

EC-CUBE3のテンプレートファイルはどこいったの?

EC-CUBE2系では、テンプレートファイル

/data/Smarty/templates

にありましたが、EC-CUBE3では

/ec-cube/src/Eccube/Resource/template

にあります。

テンプレートエンジンSmartyからTwigに変わってるので、注意してください。

文法や細かいところは変わりましたが、大きく変わったのは、

<!--{$hoge}-->

が、

{{ hoge }}

<!--{if $hoge}-->

{% if hoge %}

の様に、囲み文字が変わった点ですw

また、2系では、PC用、スマホ用、ガラケー用にそれぞれテンプレートを作成しないといけませんでしたが、EC-CUBE3ではガラケーのサポートは切られ、スマホレスポンシブで対応となったので、フロントテーマファイルは1つで済みます。


オリジナルテーマを作りたい方は、デフォルトテーマを参考に作成されてみてはいかがでしょうか?

テーマ作ってみた方の記事もあります。

EC-CUBE3 用のプレーンな Bootstrap テンプレートをつくってる過程で分かったことなど - Qiita

EC-CUBE3はもう実戦投入して良いレベル?

さて、僕が一番気になったのがこの点です。過去バージョンの状況を見ると、EC-CUBE3も、バージョン3.1.3くらいで安定して使える様になるかなぁ?と思っていたので、現状を聞いてみました。

すると、既に株式会社ロックオンではEC-CUBE3を実案件に利用中との事で、もう大丈夫そうです。

とは言え初めての事バージョンだし、何かしら困ったりバグにハマったりしてんじゃないかな?と思って聞いてみたら、

Symfonyコンポーネントの使い方やPSRの方への対応が慣れていないので、そっち覚える方が大変だった」

との事でした。

やはり、レガシーPHPコードしか書けない人は置いてかれそうです。

しかし、EC-CUBE3は最初からテストありきで開発されていたので、2系に比べればテストが楽になっており、開発もだいぶ安心してできそうです。

セキュリティ大丈夫なの?

EC-CUBE過去にちょいちょい脆弱性が出ています。

クライアント企業の方もここを一番心配されるので、EC-CUBE3ではセキュリティテストは行ったのか?外部のセキュリティチェックは入れたのか?を聞きました。

チェックツール確認済み

ロックオンさん社内ではアプリセキュリティチェックツールを使ってテストしている様なので、とりあえずは大丈夫そうです。

でも、ツールが検出できない脆弱性もあるので、完全に安心しきってはダメですね。ちゃんと自分確認しましょう。

また、とあるセキュリティ会社の高名な方が開発コミュニティにいるらしく、その方が個人的に色々チェックしたりしてくれてるそうです。

これは心強いですね。

勉強会中に試そうとしてMySQLを使おうとしたらインストールコケ

勉強会中に、MySQLインストールしようとしたらコケました。PDOのMySQLドライバーのsocket周りの設定のアレです。*2

EC-CUBE3でMySQL使ってPDOのSQLSTATE[HY000] [2002]でエラーでインストールできない時 - Qiita

毎回忘れるので、メモっておきました。

具体的には、PDOの初期設定のMySQLのsocketのパスと実際のMySQLのsocketのパスが違っており、IPとかでMySQLサーバアドレスを設定しても、間違ったパスのsocketでDB接続しよとして接続できなくてエラーというヤツです。

後でインストーラとか直しておきます。

あと、現時点で同梱されているeccube_install.shにはMySQLインストールする際のバグがありますので、環境によってはこれ使ってコマンドラインインストールできません。

MySQLrootユーザパスワード必要で、MySQLユーザ名とかを指定しても強制的root接続しようとしてコケます。

その他インストールコケたら下記を参照するか開発コミュニティまで。

EC-CUBE3のインストールでこけたら見る記事 - Qiita

EC-CUBE3の機能カスタマイズ方法は?

基本的にEC-CUBE3では2系の様なカスタマイズではなく、全てをプラグインとして実装する設計です。

ちゃんとプラグインとして実装すれば、バージョンアップの際の手間が大幅に減ります。

プラグイン実装方法は次回にでも詳しく書きますが、とりあえず開発元のロックオン高橋さんが書いたQutiaの記事があります。

EC-CUBE3プラグイン機構 - Qiita

[Done]EC-CUBE3のプラグインを2日でつくる - 1日目 - Qiita

[Done]EC-CUBE3のプラグインを2日でつくる - 2日目 - Qiita

こちらを参考に始めてみるのが良いと思います。

EC-CUBE3の決済モジュールは?

既に、GMO-PGさんで作られたそうです。

もうすぐEC-CUBE3向けオーナーズストアがオープンする(2015年9月予定)ので、その時にはいくつか揃っているのではないでしょうか?*3

弊社、株式会社クロスキューブにもEC-CUBE3対応決済モジュールのお問合せが来ていますね。

何はともあれEC-CUBE3を使ってみよう!

使ってみましょう。

使わないと細かいところはわかりませんし、使われる事によってプロダクトの品質は向上していきます。

早く使えば早く知見を得られる事になり、競合他社に対してリードを持てます。

今はすぐ使えませんが、多言語版作るのが楽とか、API実装するのが楽とか、ポテンシャル結構なものです。

EC-CUBE3では正式リリース版以外に、Weekly Buildというものがあり、毎週最新のコードのパッケージがダウンロードできます。

バグ修正もいち早く入っているので、興味がある方は使ってみてください。

EC-CUBEダウンロード | ECサイト構築・リニューアルは「ECオープンプラットフォームEC-CUBE」

弊社、株式会社クロスキューブでも今後はEC-CUBE3をメインに使っているつもりです。

新しいEC-CUBEネットショップ作ってみたい方は、ぜひお問合せください。

*1:実はアプリ構造concrete5と非常に近くなったんですよ

*2:何か毎度これにひっかかってる...

*3:EC-CUBE3の決済モジュール実装に関するドキュメントロックオンさんが決済代行会社に販売しているらしいんですが、それが結構なお値段するらしく、評判がよろしくない...でも、しょうがないんですよ、EC-CUBE無料で使えるから、そういうとこでしかお金稼げないんですよ...きっとちゃんと元取れるから決済代行会社の皆さん、気持ちよく払ってくださいな...

2014-07-08

ECサイトとお金

ECサイトの売上を上げるために必要な事

f:id:xross-cube:20140708055234j:image:w640

ご無沙汰しております。株式会社クロスキューブの佐々木です。

目の前の業務に追われている間にあっという間に前回の記事から3ヶ月が過ぎてしまいました...orz

頑張ります。


さて、今日ネットショップ運営されているオーナー様が一番知りたい事。

どうしたらECサイトの売上が上がるか?」です。

ECサイトの売上を上げるノウハウはたくさんありますが、今回はその中でも最も大切で最も難しい基本中の基本をご紹介します。


家族経営でずっと売上を上げ続けているネットショップお話

私たちはECサイトを作る事が専門で、ネットショップ運営が専門ではありません。

しかし、クライアントにとって価値があるECサイトとは売上が上がるECサイトであり、わたし達も常にその情報収集し、何が今求められているのかを勉強しています。

そういった中で、実際にネットショップ運営されているオーナー様からの生きた情報はとても有用重要です。


私たちのクライアントにある家族経営ショップさんがあります。

取り扱う商品は特異性のある物ではなく、ごくごく一般的趣味に使う商品です。

商品単価も様々で、数百円の物から数十万円の物まであり、総商品点数は10万点を越えます。

その会社組織構成は、

社長
お爺ちゃん(引退しているので実務には不参加)
専務
お父さん
経理その他庶務
お母さん
店舗店長
息子

という構成です。

初めてお話しを頂いた時は僕が独立してすぐの頃(今から6年程前)で、本当にお世話になったクライアントです。

当初から僕はお客さんに恵まれていましたが、このクライアントは特にお世話になっています。


最初お話しを聞いた際の売上は月商1千万円程でした。

これも驚いたのですが、ネットショップは月商500万円がひとつの区切りとされています。

クレジットカード等の決済代行会社さんも儲けが出るのは月商500万円以上のショップさんと言ってましたし、僕の実感でもそんな感じです。

家族経営でこの月商1千万円はすごい事です。

EC-CUBE3対応!デザインカスタマイズガイドブック

新しくなったEC-CUBE3に対応したデザインカスタマイズブック。2017年1月現在 EC-CUBE3のデザインカスタマイズについて解説されている書籍はこれだけです。とりあえず買いましょう!

しかも、当時のネットショップは、お父さんの専務がどこからか調べて買ってきた外国製ホームページビルダーの様なソフトでひとりで作成して運用していました。

データベース管理画面もありません。注文はメールでそのソフトメーカーサーバから届く様になっていました。

正直、サイトのデザインも褒められた物ではなく、テンプレートちょっといじった今は懐かしいフレームを多用した物でした。

独学でそのソフトの使い方やWebの事を勉強し、そこまでサイトを育て上げるのは並大抵の努力ではなかったと思います。

でも、そのサイトで月商1千万円を売り上げていました。

つまり、月商1千万円売り上げるのにサイトシステムとかソフトとかは関係ないという事です。


なので、当時の要件

とにかく管理の手間が凄いので、もっと手間を減らしたい。

でした。

これ、僕一番得意です。


予算やその他もろもろを伺い検討した結果、デザイン等の見た目にはお金を使わずに、POS連携して業務の運用コストを減らしましょうという事になりました。

なのでEC-CUBEオーナーズストアからデザインテンプレートを買ってきて少し変えて作りました

その代わり、POSとの連携に関しては可能な限り人間の手間を減らしてほぼリアルタイムに近い形で自動連携させました。

予算のほとんどはここに使いました。

また、ただのHTMLサイトからデータベース連携したPHPの動的なWebサイトに変わるので、サイトのレスポンス等のパフォーマンスにも注意し、最初から専用サーバを使ってミドルウェアチューニングも行いました。

お客さんには、旧サイトコンテンツ内容の悪い点を伝え、商品説明、商品登録をとにかく頑張ってサイト上の商品数を増やしてください。とお願いしました。


その結果、東日本大震災があろうとリーマンショックがあろうと、着実に売上を伸ばし続け最近では月商2,500万円を超える程に成長しています。

でも、運用体制は変わっていません


さて、この事例からネットショップの売上を上げるためには何が必要だと読み取れるでしょうか?

かっこいいデザインのサイトでも人手でもありません。


ECサイトの売上を上げる為に必要なのは熱意

これです。一番重要なのはこれです。

「これからはネットだ!」という認識の元に、自分で調べて勉強してサイトを作って運営する。

この熱意です。

作るだけじゃないんです。その熱意を持ってサイト運営し続けています。

だから売上が上がっているんです。


自分たちにできる事をできる範囲で可能な限りやる。

これができれば専門的な知識やスキルが無くてもネットショップ成功します。

商売の基本を忠実に守る

  • 初心を忘れない
  • 基本を忠実に守る

どんな仕事でもこれが一番大切です。

僕は定期的にこのお客さんの事を思い出して自分の身を引き締めています。

当たり前の事をきちんとやり続ける。僕にはとても難しい事です。

安く仕入れる

どんな商売でも基本中の基本です。

このショップさんではメーカー問屋との関係性も合わせて上手くお付き合いをされています。

きっと、メーカー担当が困った時など多少高めに仕入れたりもしていると思います。

そういう、持ちつ持たれつ、三方良し精神で商売をされているお客様です。

可能な限り高く売る

これは高い値付けをするということではありません。

実際、このショップさんは他のショップに比べてかなり安い値付けをしており、激安の部類に入ります。

「儲かってますねー」と僕が言っても、「いや、薄利多売だからそんなに儲かってないんだよ...」と仰ってました。

ただ、そういった中で、販売数と利益率、競合の値付けとにらめっこして日に何度も販売価格を変更するなど、かなり価格設定には気をつかってます。

4PひとつでもあるPrice(価格)を非常に重視されているという事です。

ちゃんと納品する

これも当たり前の事です。

注文が来たらちゃんと約束した通りに納品する。

CS最初の一歩、基本中の基本です。

ただ、意外にこれがちゃんとできていないショップが多いんです。

宣伝をする

ネットだけではありません。

と言うか、このショップではネット広告をほぼ出していません。

それよりも専門雑誌への広告イベントへの賞品の提供など、ターゲットをよく分析し、コストパフォーマンスの高い宣伝を行っています。

ネットショップだからネット広告という安直な考えではなく、ちゃんと広告宣伝を考えて実行しています。

IT世界にいるとネット広告が一番費用対効果が高いと思いがちですが、リアル広告はかなり効きます。

これだけネット社会になっても尚、昔からある媒体存在し続ける理由がここにあります。

特に、宣伝効果だけを考えればテレビ最強です。

あと、新聞の折り込み広告費用対効果が意外と高いので僕は好きです。

特に日経


まとめ

こうやって見ると、このショップでは見事にマーケティングの基本の4P(Product.Price.Place.Promotion)が守られています。

そう、ECサイトが売上を上げるために必要な事、それは基本を守る事です。

これはどんなショップにも当てはまります。

そしてとても難しい事です。

この基本を実行した後に、モバイルファーストやらUIシステムがどうとかというIT世界の話になってきます。

じゃないと、一所懸命に良いECサイトを作っても売上が上がらないんです。
作る方としても残念でなりません。

このシステムを入れたら確実に売上が増えるとかそんなのありません。


この記事を読まれたショップオーナーの方には、ぜひこの商売の基本と初心を忘れない様にして頂きたいと思います。

そして利益を上げ、予算潤沢なお仕事をご依頼頂ける事を切に願いますw

2014-03-19

EC-CUBEのデータベース定義書

EC-CUBEのドキュメントはどこに?

昨日の記事、グロースハックってなに?の評判が良かったので、調子に乗って今日も書きます。


EC-CUBEを使ってネットショップを構築する場合、よくドキュメントの話になります。

こういったオープンソースのパッケージの場合、特に日本語ドキュメントが少ないのがよく問題になります。

DB定義書仕様書コーディングガイドラインなど、あると開発がスムーズに進みます。

さて、EC-CUBEのこれらのドキュメントはどこにあるのでしょうか?

公式サイトにも記載がなく、慣れていない方は探すのに苦労すると思うのでご紹介です。

実はソースコードに同梱されています。

EC-CUBEダウンロードして展開すると、docsというディレクトリができます。

実はこの中にドキュメントが入っています。

f:id:xross-cube:20140319110411p:image:w640

EC-CUBEのテーブルに独自のカラムを追加したり、新しいテーブルを追加する場合はこれらのドキュメントに追加して管理しておくと何かと便利です。

ソースコードに同梱されていないドキュメント

実はEC-CUBEには、カスタマイズする上で指標となるドキュメント存在しています。

これらはEC-CUBEの開発Trac( http://svn.ec-cube.net/open_trac/ )上にあります。

カスタマイズされる方はぜひ一度目を通してください。

技術情報

増えましたねー。

昔はこんな便利なドキュメントありませんでした...皆自分たちで一所懸命作っていました。

あと、EC-CUBEは専門の書籍が何冊か出版されています。

これらの書籍も役に立つと思いますが、本によっては内容が古くてあまり使い物にならない事が多いので注意が必要です。

以下に比較最近の本を挙げておきます。これらの本も一部内容が古くて最新版のEC-CUBEではそのまま適用できない点があるので注意してください。

 

EC-CUBE3対応!デザインカスタマイズガイドブック

新しくなったEC-CUBE3に対応したデザインカスタマイズブック。2017年1月現在 EC-CUBE3のデザインカスタマイズについて解説されている書籍はこれだけです。とりあえず買いましょう!

余談ですが、最近EC-CUBEではテスト駆動開発ちっくな事もやっており、テストカバレッジを上げる事に尽力しています。

皆さんも、もし「EC-CUBEがあってよかったなー」と思って頂けたらテストを書いたりとか、EC-CUBE本体の開発にご協力をお願いします。

2014-03-18

魔法の杖

グロースハックってなに?

最近香ばしい感じで「グロースハック」という言葉をまわりで良く聞きます。

ハックという単語が入る言葉には「ライフハック」「ハッカソン」など色々ありますが、「グロース」をハックするとは初耳です。
そもそも「グロース」ってなんぞや?

新し物好きなので、調べてみました。

直訳すると「成長ハッキング

訳せてないじゃん!」というツッコミは置いといて、グロースハックの「グロース」とは英語で書くと

Growth

日本語に訳すと、

  • 成長
  • 育成
  • 発展

です。

いや困った、「成長をハック」ってどういう意味なんだろ?

ググると難しい単語が並んだ色々な事例の紹介などの記事がヒットします。

でもどれを読んでもいまいちスッキリしない。

よくわからない事をなんとなくで知ったかぶりしたくないので、専門家の方に聞いてみました。

イノーバの佐藤さーん!グロースハックって何か教えて!!

弊社でコミットしている汎用CMSconcrete5ユーザグループに、concrete5を使ってグロースハック!というお仕事をされている、最近イケイケな株式会社イノーバ佐藤さんという方がいまして、この疑問をスッキリさせてくれるだろうとfacebookで聞いてみました。

そしたら社長宗像さんまで解説してくれて非常に勉強になりました。

以下その時の会話(コメント)を記載します。

佐藤さん、グロースハックってわかりやすく言うと何ですか?

webマーケティングエンジニア担当することになりました

なんだいつものかw

そうなんですよw

想像ですが、アメリカだと職種の専門性が高いし、マーケティング概念実践も行われているので、エンジニアは口を出せなかったのかもしれません。(日本比較して)
なので注目されましたと。
日本フリーランスエンジニアとか、エンジニア社長からしてみれば、いつものやつです。

面白いので宗像さんにも聞いてみたいけど、見えるかな?
宗像さん、あってます?

うーん、合ってるといえば合ってますし、合ってないと言えば合ってない。

グロースハックは、横串の組織担当者)なのがポイントなんだと思います。

製品開発からマーケティングまで全部の領域に口を出す。定量的最適化と、定性的最適化のバランスを取りながら、ユーザー数の最大化を目指す。

エンジニア担当する事が多いのもまた事実ですが、テックに詳しい文系の人が担当するのも可なりです。(ただ、あまり後者が居ないので、エンジニアがやっているのだろうと理解しています)

えええと、わかりやすく言うと
製品の企画、開発段階から音頭取る人がいて、各部署の思惑や都合による妥協とかブレを無くして、目標のために最適な行動だけする様にする。
って事ですか?
で、そのためにはエンジニアリングマーケティングをよくわかってないといけなくて、マーケッターのほとんどがエンジニアリングわかんないから結局エンジニアがやってると

もう少し、視点ユーザーよりな気がします。

ユーザー視点で、そもそも、どういう経路でサービス存在を知って、サービスを使いながら定着して、友達を招待していって、

という一連のプロセス最適化していく事で、お金をかけずにユーザー数を伸ばしていこうっていう感じかと。

なるほど。
今までやってきた一連の流れに名前が付いた感じなんですね。

うーんと例えばですが、ユーザー獲得っていうのは、マーケティングに任せると、リスティングを大量に買ったり、SEOやったりとか、LP改善ぐらいしか出来ないのですが、開発面にも口を出すとすると、ソーシャルでの友人招待、ユーザーアドレス帳連携、みたいな機能機能的な部分でのユーザー獲得も進められる感じです。

あー、そうです。名前が付いただけです。

ありがとうございます
スッキリしました!

名前がついたのと、全体が絵になって、フレームワーク化された感じでしょうか。

ありがとうございます
勉強になります!

あと、有名な例だと、airBnBが、craiglistっていう外部の掲示版サイト自動投稿する仕組みを作って、ユーザー獲得をしたりもしてまして、こういうtipsというか、ハッキング的なものも含むようです。

いえいえー。

いつもお世話になっておりますので!!

こちらこそです!
今後も何かと佐藤さんをお借りすると思いますが、よろしくお願いします!w

議論がすげー伸びてるw

これテックブログにした方がいいんじゃないか説w

宗像さん、ブログに書いていいですか?w

いいです!

ありがとうございます < イマココ


と言うわけで非常に貴重な事を教えてもらいました。

持つべき物はグロースハッカーの友人ですねw

「聞くは一時の恥、聞かぬは一生の恥」昔の人はいい事を言うもんです。

グロースハックをまとめると

ここまで読んで「なんだ名前が付いただけか」と思われた方もいるかもしれません。

でも名前が付くという事は、方法論が確立され、ぼんやりしていた物がはっきりとわかりやすい形になるという事です。

有名な「PDCAサイクル」も、ウォルター・シューハート提唱する前からあったハズです。こういうものはある日突然沸いてきたりしません。

大切な事はこういった言葉に踊らされずに本質を見極める事です。


最近思うのは、Webのプロフェッショナルな人達に求められるスキルセットの幅がどんどん広がってるなーという事です。

特に今まで「文系マーケッター」「理系=エンジニア」というなんとなくの区分けが無くなってきてると思います。

得手不得手はあると思いますが、目的を達成するために得意な事だけやっていれば良いという時代ではなくなってきたのを感じます。


グロースハックはこのPDCAWebサービスモバイルアプリなどのIT関連のプロダクトに特化したかたちで落とし込み、わかりやすく使いやすくした物だと言えると思います。

せっかくわかりやすくしてくれたんですから存分に学んで使い倒しましょう!

特に、目的目標が明確なECサイトでは応用が効き効果も確認しやすいと思います。

最後に本題ですがw ぜひ私たちと一緒にグロースハックしましょう!

レッツ!グロースハック!

2013-09-25

EC-CUBEの消費税率変更の対応について

EC-CUBE勉強会の録画

東京オリンピックも決まり、身の回りでもチラホラと景気の良い話が聞こえる様になってきました。*1

来年4月に予定されている、消費税率の5%から8%への増税もいよいよ現実味を増してきました。
もうほぼ確定でしょう。


先日、EC-CUBEも新バージョン、2.13.0がリリースされ、この税率変更に正式に対応しました。

今までも管理画面から消費税率は設定できたのですが、これではオープン後の税率変更に問題が出てしまいます。

その辺の事を、毎月下北沢オープンソースカフェで行っているEC-CUBE東京ユーザグループ勉強会でやってきたので、今日はこの消費税率変更について書きます。


バージョンだと、どのような不具合があるのか?

先日リリースされたEC-CUBEの新バージョン、2.13.0では税率変更対応がなされています。*2

ただ、受注メールテンプレート等に細かいバグがあり、その辺を修正した2.13.1が10月ごろにリリースされる見込みです。

では、2.13.0より前のバージョンでは税率変更をした場合にどの様な不具合が起きるのでしょう?


マイページでの過去の注文の金額表示がおかしくなる

f:id:xross-cube:20130925075048p:image

この画像マイページの注文履歴の詳細画面です。

5%の時に注文した情報ですが、管理画面から税率を8%に変更すると、商品単価と商品小計が新しい税率で計算されてしまっています。
合計金額は正しい金額で表示されています。


管理画面で受注情報編集すると、新しい税率で再計算されてしまう

f:id:xross-cube:20130925080020p:image

管理画面で税率変更前の受注情報詳細を見ると、マイページと同様に新しい税率で商品単価が計算されてしまっています。

このまま何も変えずに登録すると、新しい税率で再計算され、合計金額まで変わってしまいます。

f:id:xross-cube:20130925080041p:image


カード決済等の決済金額が変わる

これは2.13でも起こりうる事なのですが、決済モジュールによっては、翌日に決済の確定通知を送ってくる物があります。

売上をどのタイミングで計上するか?という会計上のルール関係してくるのですが、決済が確定した場合や発送時に売上を立てる場合、消費税率が5%で注文を受け8%の時に決済確定や発送をすると、3%分金額がおかしくなってしまいます。

決済モジュールの付加機能死ぬ

これは2.13で発生する不具合ですが、現在各決済代行会社さんから提供されている決済モジュールには、定期購入やワンクリック購入など、決済以外の追加機能付属している場合があります。

2.13.0以降では、消費税の計算方法が変わったため、この付属機能が軒並み使えなくなる様です。

これはもう決済代行会社さんに早急にモジュールを修正してもらうしかありません。


対応策は?

さて、色々問題があり頭が痛い問題ですが、どう対応すれば良いのでしょうか?

大きく分けて3つです。


2.13系にアップグレードする

まずコレが思いつきます。
最も確実で間違いのない方法です。

ただ、EC-CUBEを利用しているサイトは、機能的なカスタマイズをしていることが多いです。

また、バージョン毎にテンプレートの作りも細かく違ったりするので、結局ほとんど作り直すのと同様の費用と時間がかかるケースがあります。

サイトを構築してからある程度期間が経っているサイトであれば、これを機にリニューアルされても良いかもしれません。


2.13.0と同様の消費税率変更機能を独自に追加実装する

バージョンアップは大変だから...」と、今のサイトに2.13系と同様の消費税率変更機能を実装するというものです。

ただ、今回の問題になっている消費税計算関数は、EC-CUBE内のいたる所で使われているので、改修範囲が多岐にわたりこれもそれなりの費用がかかります。


税率を0%に設定してしまう

最もお手軽だと思われる方法がこれです。

改修作業はせずに、EC-CUBE内の消費税率を0%に設定し、商品単価を税抜きの金額から税込みの金額に変更します。

これならコードの変更は無いですし、商品単価の変更はSQL文一発で変更できるので時間もかかりません。

ただ、過去の受注データの金額も税込み金額に書き換える必要があるので、受注履歴が大量にあるサイトではその作業が大変そうです。


とにかく準備は早めに!!

消費税率変更時の切り替え時期は6ヶ月の猶予期間があり、また売上をどのタイミングで計上するか?などの会社ごとの会計ルールによって変わる部分も多くあります。

その為、会社の経理や税理士さんと相談し、社内でどういうルールで運営するか?を決め、それに沿って対応する必要があります。


改修やリニューアルであればそれなりの時間と費用必要になります。

変更までもう半年しかありませんし、年末年始も挟みます。

3月決算とかであれば、ちょうど期の切り替わりの時期なので、税率変更の時期はただでさえ忙しい時期です。

どういう方法対応するにせよ、早い段階からの準備が必要になってきます。


弊社クロスキューブでも集中的にご対応しようと思っていますので、ご興味のある方はぜひお問い合わせください。

*1:僕には来ませんが...

*2:それ以外にもMySQLでのセッション不具合や「決済処理中」の時のポイント在庫不具合など、いくつか不具合の修正がされているので、http://svn.ec-cube.net/open_trac/query?group=status&milestone=EC-CUBE2.13.0 をぜひご確認ください。

Connection: close