(57)【要約】【課題】送信関数定義プログラムの更新に伴う広告主の負担を増大させることなく、ユーザ端末から広告配信サイトにアイテム情報を送信させる。【解決手段】本発明によるプログラムは、１以上の表示用アイテムを含むＷｅｂページを記述するページプログラムを広告主サーバからダウンロードしたユーザ端末が該ページプログラムに含まれるアドレス情報に基づいてタグ管理サーバからダウンロードして実行するリターゲティング広告用のプログラムであって、ページプログラム内に含まれる表示用アイテムを示すアイテム情報を、広告配信サーバが処理可能なページ内容特定情報に変換するステップをユーザ端末に実行させる部分プログラムＰ４と、ページ内容特定情報を広告配信サーバに対して送信するステップをユーザ端末に実行させる部分プログラムＰ５と、を含む。【選択図】図３
2018181079.tif 000002
【特許請求の範囲】
【請求項１】
１以上の表示用アイテムを含むＷｅｂページを記述するページプログラムを広告主サーバからダウンロードしたユーザ端末が該ページプログラムに含まれるアドレス情報に基づいてタグ管理サーバからダウンロードして実行するリターゲティング広告用のプログラムであって、
前記ページプログラム内に含まれる前記表示用アイテムを示すアイテム情報を、広告配信サーバが処理可能なページ内容特定情報に変換するステップと、
前記ページ内容特定情報を前記広告配信サーバに対して送信するステップと、
を前記ユーザ端末に実行させるプログラム。
【請求項２】
前記アイテム情報は、それぞれ複数の第１のプロパティを含む１以上の商品情報を含み、
前記ページ内容特定情報は、複数の第２のプロパティを含み、
前記変換するステップは、前記１以上の商品情報それぞれの前記複数の第１のプロパティの少なくとも一部の内容に基づいて前記複数の第２のプロパティの内容を生成することにより、前記アイテム情報を前記ページ内容特定情報に変換する、
請求項１に記載のプログラム。
【請求項３】
前記変換するステップはさらに、前記ページプログラム内に含まれる前記Ｗｅｂページの種別を特定するページ情報を、前記広告配信サーバが処理可能なページ種別特定情報に変換し、
前記送信するステップは、前記ページ種別特定情報を前記広告配信サーバに対してさらに送信する、
請求項２に記載のプログラム。
【請求項４】
前記送信するステップは、前記広告主サーバを特定する広告主ＩＤ、前記Ｗｅｂページにアクセスがあったことを示すページビュー情報、及び、前記ユーザ端末を特定するユーザ端末特定情報を前記広告配信サーバに対してさらに送信する、
請求項３に記載のプログラム。
【請求項５】
請求項１乃至４のいずれか一項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リターゲティング広告用のプログラム及びコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
近年、ウェブ広告の分野においてリターゲティング広告が注目されている。リターゲティング広告は、広告主のサイト（例えば、個人商店の商品販売サイト。以下、「広告主サイト」という）を訪れたことのあるユーザに対し、広告主サイトとは異なるサイト（例えば、Ｆａｃｅｂｏｏｋ（登録商標）など。以下、「広告配信サイト」という）において広告主の商品のバナー広告を表示することを可能にするもので、見込み客にターゲットを絞って広告を打てることから、近年利用が急増している。
【０００３】
リターゲティング広告を行うためには、広告配信サイトの管理者（以下、「広告配信者」という）が提供している規定のプログラム（例えば、非特許文献１に記載の「Ｆａｃｅｂｏｏｋ（登録商標）ピクセル」）を、広告主サイトの各Ｗｅｂページのソースコードに埋め込んでおく必要がある。このプログラムは、ユーザ端末のブラウザが広告配信サイトへ向けて所定の情報を送信するために用いる送信関数（例えば、Ｆａｃｅｂｏｏｋ（登録商標）ピクセルのケースではｆｂｑ関数）を定義するものであるので、以下では「送信関数定義プログラム」と称する。
【０００４】
広告主サイトの各ページには、送信関数定義プログラムの他、送信関数定義プログラムによって定義される送信関数自体も埋め込む必要がある。ユーザ端末のブラウザは、広告主サイトのＷｅｂページにアクセスした際に、該Ｗｅｂページのソースコードから上記送信関数定義プログラム及び送信関数を読み込む。そして、読み込んだ送信関数を実行することによって、広告配信サイトへの情報の送信を行う。
【０００５】
送信関数によって送信される情報には、広告配信サイト側で広告主を特定するための広告主サイトの識別情報（以下、「広告主ＩＤ」という）、そのＷｅｂページへのアクセスがあったことを示すページビュー情報、広告配信サイト側でユーザ端末を特定するためのユーザ端末特定情報（例えば、ユーザ端末内に作成されたクッキーの識別情報）などが含まれる。広告配信サイトは、ユーザ端末から受信した情報を、ユーザ端末特定情報に対応付けて記憶するよう構成される。そして、そのユーザ端末から広告配信サイトの提供するＷｅｂページに対するアクセスがあった際、広告配信サイトは、記憶した情報に基づいてそのユーザに適した広告を作成し、Ｗｅｂページ内に埋め込んで表示する。なお、このとき作成される広告の基になるデータは、広告主が予め広告配信サイトに設定しておく必要がある。
【０００６】
しかしながら、広告主サイトには通常、商品一覧ページ、商品詳細ページ、ショッピングカートページ、購入完了ページなど多数のＷｅｂページがあり、これらのすべてに送信関数定義プログラム及び送信関数を埋め込むことは、広告主にとって物理的かつコスト的に困難な作業となる。まして、送信関数定義プログラム（送信関数の引数の形式を含む）は更新される場合があり、その都度、全Ｗｅｂページに新たな送信関数定義プログラム及び送信関数を埋め込み直す作業を行うのは、ほとんど不可能である。
【０００７】
そこで近年では、タグマネージャと呼ばれる埋め込み代行サービスが登場している（例えば、非特許文献２を参照）。このサービスでは、送信関数定義プログラム及び送信関数の本体は、プログラムファイルとしてタグ管理サーバ内に配置される。そして、広告主サイトの各Ｗｅｂページには、このプログラムファイルのタグ管理サーバ内における格納場所を示すアドレス情報（ＵＲＬ）のみが埋め込まれる。これによれば、広告配信者が送信関数定義プログラムを更新したとしても、タグ管理サーバ内でプログラムファイルを更新するだけで足り、広告主サイトの各Ｗｅｂページに新たな送信関数定義プログラム及び送信関数を埋め込み直す必要がなくなるので、送信関数定義プログラムの更新に伴う広告主の負担が大きく軽減される。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】「Ｆａｃｅｂｏｏｋ（登録商標）ピクセル」、［平成２９年２月２４日検索］、インターネット＜ＵＲＬ：https://www.facebook.com/business/help/952192354843755＞
【非特許文献２】「Ｇｏｏｇｌｅ（登録商標）タグマネージャ」、［平成２９年２月２４日検索］、インターネット＜ＵＲＬ：https://www.google.com/intl/ja/tagmanager/＞
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ところで、本願の発明者は、送信関数によってユーザ端末から広告配信サイトに送信される情報に、ユーザがアクセスしているＷｅｂページの種類（商品一覧ページ、商品詳細ページ、ショッピングカートページ、購入完了ページなど）を特定する情報（以下、「ページ情報」という）や、そのＷｅｂページに含まれる１以上の表示用アイテム（例えば、商品一覧ページに掲載されている商品）を示す情報（以下、「アイテム情報」という）を含めることを検討している。しかしながら、検討を進めた結果、ユーザ端末にこれらの情報を送信させようとすると、タグマネージャを用いる場合であっても、送信関数定義プログラムの更新に伴う広告主の負担が大きくなってしまうことが判明した。以下、詳しく説明する。
【００１０】
ページ情報及びアイテム情報を送信関数によって送信するためには、広告主サイトのＷｅｂページ内に、広告配信サーバが処理可能な形式（すなわち、送信関数の引数の形式）でページ情報及びアイテム情報を記述しておく必要がある。以下、広告配信サーバが処理可能な形式で記述されたページ情報を「ページ種別特定情報」と称し、送信関数が認識できる形式で記述されたアイテム情報を「ページ内容特定情報」と称する。
【００１１】
ページ種別特定情報及びページ内容特定情報を広告主サイトのＷｅｂページ内に記述しておくということは、広告配信者の意思によって変更され得る情報を広告主サイトの各Ｗｅｂページ内に記述しておかなければならないことを意味する。広告配信者が送信関数定義プログラムの内容を更新し、その更新が送信関数の引数の形式変更を伴うものであった場合には、広告主サイトの全Ｗｅｂページにおいてページ種別特定情報及びページ内容特定情報の記述内容を変更しなければならなくなり、しかもこの変更はタグマネージャの利用の有無にかかわらず必要なものとなるので、タグマネージャを用いる場合であっても、送信関数定義プログラムの更新に伴う広告主の負担が大きくなってしまうことになる。
【００１２】
このような課題を解決するために考えられる一つの方法として、ページ種別特定情報及びページ内容特定情報をプログラムファイル内に記述しておくことが挙げられる。そうすれば、送信関数の引数の形式が変更されたとしても、広告主サイト側での変更は不要となる。しかしながら、この方法では、広告主サイトのＷｅｂページごとにプログラムファイルを用意する必要が生じ、そのこと自体が広告主の作業負担となる。また、送信関数の引数の形式が変更された場合、タグマネージャ内で、広告主サイトの全Ｗｅｂページ分のプログラムファイルを変更しなければならないことになる。したがって、結局のところ、この方法によっても送信関数定義プログラムの更新に伴う広告主の負担を減らすことは難しいと言える。
【００１３】
したがって、本発明の目的の一つは、送信関数定義プログラムの更新に伴う広告主の負担を増大させることなく、ユーザ端末から広告配信サイトにアイテム情報を送信させることのできるリターゲティング広告用のプログラム及びコンピュータ読み取り可能な記録媒体を提供することにある。
【００１４】
また、本発明の目的の他の一つは、送信関数定義プログラムの更新に伴う広告主の負担を増大させることなく、ユーザ端末から広告配信サイトにページ情報も送信させることのできるリターゲティング広告用のプログラム及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１５】
本発明によるプログラムは、１以上の表示用アイテムを含むＷｅｂページを記述するページプログラムを広告主サーバからダウンロードしたユーザ端末が該ページプログラムに含まれるアドレス情報に基づいてタグ管理サーバからダウンロードして実行するリターゲティング広告用のプログラムであって、前記ページプログラム内に含まれる前記表示用アイテムを示すアイテム情報を、広告配信サーバが処理可能なページ内容特定情報に変換するステップと、前記ページ内容特定情報を前記広告配信サーバに対して送信するステップと、を前記ユーザ端末に実行させるプログラムである。
【００１６】
本発明によれば、広告主サイトのＷｅｂページ内及びプログラムファイル内のいずれにも、ページ内容特定情報を記述しておくことが不要となる。また、送信関数定義プログラムの更新に伴ってページ内容特定情報の形式が変更されたとしても、変換するステップにかかる処理の記述をタグ管理サーバ内で書き換えるだけで対応できる。したがって、送信関数定義プログラムの更新に伴う広告主の負担を増大させることなく、ユーザ端末から広告配信サイトにアイテム情報を送信させることが可能になる。
【００１７】
上記プログラムにおいて、前記アイテム情報は、それぞれ複数の第１のプロパティを含む１以上の商品情報を含み、前記ページ内容特定情報は、複数の第２のプロパティを含み、前記変換するステップは、前記１以上の商品情報それぞれの前記複数の第１のプロパティの少なくとも一部の内容に基づいて前記複数の第２のプロパティの内容を生成することにより、前記アイテム情報を前記ページ内容特定情報に変換する、こととしてもよい。これによれば、変換するステップにより、アイテム情報をページ内容特定情報に好適に変換することが可能になる。
【００１８】
上記プログラムにおいて、前記変換するステップはさらに、前記ページプログラム内に含まれる前記Ｗｅｂページの種別を特定するページ情報を、前記広告配信サーバが処理可能なページ種別特定情報に変換し、前記送信するステップは、前記ページ種別特定情報を前記広告配信サーバに対してさらに送信する、こととしてもよい。これによれば、アイテム情報の場合と同様に、送信関数定義プログラムの更新に伴う広告主の負担を増大させることなく、ユーザ端末から広告配信サイトにページ情報を送信させることが可能になる。
【００１９】
上記プログラムにおいて、前記送信するステップは、前記広告主サーバを特定する広告主ＩＤ、前記Ｗｅｂページにアクセスがあったことを示すページビュー情報、及び、前記ユーザ端末を特定するユーザ端末特定情報を前記広告配信サーバに対してさらに送信する、こととしてもよい。
【００２０】
また、本発明によるコンピュータ読み取り可能な記録媒体は、上記各プログラムのいずれかを記録したものであることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、送信関数定義プログラムの更新に伴う広告主の負担を増大させることなく、ユーザ端末から広告配信サイトにアイテム情報を送信させることが可能になる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態によるリターゲティング広告システム１の構成を示す図である。
【図２】広告配信サーバ４、広告主サーバ３、タグ管理サーバ２、及びユーザ端末５それぞれのハードウェア構成を示す図である。
【図３】ｊｓファイル６の一例を示す図である。
【図４】ページプログラム７の一例を示す図である。
【図５】ページ種別特定情報及びページ内容特定情報の一例を示す図である。
【図６】リターゲティング広告システム１のシーケンスを示す図である。
【発明を実施するための形態】
【００２３】
以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
【００２４】
図１は、本実施の形態によるリターゲティング広告システム１の構成を示す図である。同図に示すように、リターゲティング広告システム１は、それぞれが独立したコンピュータであるタグ管理サーバ２、広告主サーバ３、広告配信サーバ４、及びユーザ端末５を含んで構成される。
【００２５】
図２は、タグ管理サーバ２、広告主サーバ３、広告配信サーバ４、及びユーザ端末５それぞれのハードウェア構成を示す図である。同図に示すように、タグ管理サーバ２、広告主サーバ３、広告配信サーバ４、及びユーザ端末５はそれぞれ、プロセッサ１０、記憶装置１１、通信装置１２、入力装置１３、出力装置１４、及びバス１５を有して構成される。
【００２６】
プロセッサ１０は、記憶装置１１に記憶されるプログラムを読み出して実行する中央処理装置である。タグ管理サーバ２、広告主サーバ３、広告配信サーバ４、及びユーザ端末５が行う処理として後述する各処理は、それぞれのプロセッサ１０がそれぞれの記憶装置１１に記憶されるプログラムを読み出して実行することによって、実現されるものである。プロセッサ１０は、バス１５を介して当該コンピュータ内の各部と通信可能に構成されており、実行するプログラムの記述に応じて、各部の制御や記憶装置１１に記憶されるデータの処理などを行う。
【００２７】
記憶装置１１は、各種プログラム及び各種データを記憶する装置である。記憶装置１１は通常、ＤＲＡＭ(Dynamic Random Access Memory)やＳＲＡＭ(Static Random Access Memory)などによって構成される主記憶装置、ハードディスクやＳＳＤ(Solid State Srive)などによって構成される補助記憶装置など、複数の記憶装置の組み合わせによって構成される。
【００２８】
タグ管理サーバ２、広告主サーバ３、及び広告配信サーバ４の記憶装置１１には、リターゲティング広告システム１に関するデータを管理するためのデータベースが構築される。図１に示したｊｓファイル６、ページプログラム７、及び製品リスト８、並びに、広告配信サーバ４がユーザ端末５から受信する情報は、対応するサーバ内において、このデータベースによって管理される。なお、図１には、広告配信サーバ４がユーザ端末５から受信する情報を管理するためのデータベース４ａを明示しているが、これは広告配信サーバ４の動作説明の便宜のために示したもので、実際には広告配信サーバ４の記憶装置１１内に構築される。
【００２９】
図２に戻り、通信装置１２は、プロセッサ１０の制御に応じて、外部の通信装置との間での通信を実行する装置である。通信装置１２が行う通信の方式は特に限定されないが、一例としてＴＣＰ／ＩＰ通信が挙げられる。
【００３０】
入力装置１３は、ユーザからの入力を受け付ける装置であり、マウスやキーボードなどの各種入力手段を含む。入力装置１３が受け付けたユーザ入力の内容は、バス１５を介してプロセッサ１０に伝達される。
【００３１】
出力装置１４は、プロセッサ１０の制御に応じてユーザに対する出力を行う装置であり、ディスプレイやスピーカなどの各種出力手段を含む。
【００３２】
以下、タグ管理サーバ２、広告主サーバ３、広告配信サーバ４、及びユーザ端末５の本実施の形態にかかる動作及びその動作を実現するためのプログラムについて、図１及び図３〜図５を参照しながら説明する。
【００３３】
リターゲティング広告を実現するためにまず実施されるのは、図１に丸数字１〜３で示したように、タグ管理サーバ２、広告主サーバ３、広告配信サーバ４のそれぞれに、ｊｓファイル６、ページプログラム７、製品リスト８を格納する処理である。以下、それぞれについて詳しく説明する。
【００３４】
タグ管理サーバ２内に格納されるｊｓファイル６は、上述したプログラムファイルの一種であり、背景技術で用いられるプログラムファイルと同様、広告配信者から提供される広告主ＩＤ及び送信関数定義プログラムと、送信関数定義プログラムによって定義される送信関数とを含んで構成される。また、本実施の形態によるｊｓファイル６は、これらに加え、後述するページプログラム７内に含まれるページ情報及びアイテム情報のそれぞれを、広告配信サーバ４が処理可能なページ種別特定情報及びページ内容特定情報に変換するための変換プログラムをさらに含んで構成される。
【００３５】
図３は、ｊｓファイル６の一例を示す図である。同図に示すように、本実施の形態によるｊｓファイル６は、プログラミング言語の一種であるＪａｖａＳｃｒｉｐｔ（登録商標）の即時関数の形式で記述される。ただし、その他の形式でｊｓファイル６を記述してもよいのは勿論である。
【００３６】
図３に示すように、ｊｓファイル６は、５つの部分プログラムＰ１〜Ｐ５を含んで構成される。部分プログラムＰ１は送信関数定義プログラムであり、本実施の形態による送信関数であるｆｂｑ関数の定義を含んで構成される。部分プログラムＰ１の具体的な内容は、広告配信者によって指定される。
【００３７】
部分プログラムＰ２は、広告配信者から広告主に割り当てられる広告主ＩＤと、該広告主ＩＤを送信するための送信関数とを含んで構成される。図３の例では、数値列「７１３３４００２８７５３８４４」が広告主ＩＤである。部分プログラムＰ３は、Ｗｅｂページへのアクセスがあったことを示すページビュー情報を送信するための送信関数を含んで構成される。図３の例では、「ＰａｇｅＶｉｅｗ」がページビュー情報に相当する。
【００３８】
部分プログラムＰ４は、上述した変換プログラムである。図３の例による部分プログラムＰ４は、後述する図４に示すオブジェクトｒａｋｕｒａｋｕ＿ｔａｇの内容からページ情報及びアイテム情報を取得し、それぞれをページ種別特定情報及びページ内容特定情報に変換するプログラムとなっている。同プログラムにおいて、ページ情報及びアイテム情報は、配列ｉｔｅｍ＿ｉｎｆｏ［  ］の中に含まれる。また、ページ種別特定情報は変数ｐａｇｅ＿ｎａｍｅに含まれ、ページ内容特定情報は３つの変数ｉｔｅｍ＿ｎａｍｅ，ｔｏｔａｌ＿ｐｒｉｃｅ，ｉｔｅｍ＿ｃｏｕｎｔと１つの配列ｉｄｓ［  ］とに分散して含まれる。
【００３９】
部分プログラムＰ５は、ページ種類特定情報及びページ内容特定情報を送信するための送信関数を含んで構成される。部分プログラムＰ５は、ｓｗｉｔｃｈ−ｃａｓｅ文を用いる分岐の形式で記述されており、各選択枝が１つのページ種類特定情報に対応している。一例を挙げると、図３に符号Ａで示した選択枝には、「Ｐｕｒｃｈａｓｅ（購入）」ページを特定するページ種類特定情報と、６つのプロパティｃｏｎｔｅｎｔ＿ｉｄｓ，ｃｏｎｔｅｎｔ＿ｎａｍｅ，ｖａｌｕｅ，ｃｕｒｒｅｎｃｙ，ｎｕｍ＿ｉｔｅｍｓ，ｃｏｎｔｅｎｔ＿ｔｙｐｅ（第２のプロパティ）からなるページ内容特定情報とを送信するための送信関数が記述されている。各選択枝の分岐は、部分プログラムＰ４で取得した変数ｐａｇｅ＿ｎａｍｅに基づいて実行される。また、上記６つのプロパティのうちのプロパティｃｏｎｔｅｎｔ＿ｉｄｓには、部分プログラムＰ４で取得した配列ｉｄｓ［  ］の内容が設定され、プロパティｃｏｎｔｅｎｔ＿ｎａｍｅ，ｖａｌｕｅ，ｎｕｍ＿ｉｔｅｍｓには、それぞれ部分プログラムＰ４で取得した変数ｉｔｅｍ＿ｎａｍｅ，ｔｏｔａｌ＿ｐｒｉｃｅ，ｉｔｅｍ＿ｃｏｕｎｔの内容が設定される。一方、プロパティｃｕｒｒｅｎｃｙ，ｃｏｎｔｅｎｔ＿ｔｙｐｅには、それぞれ「ＪＰＹ（日本円）」「Ｐｒｏｄｕｃｔ（製品）」が固定的に設定される。
【００４０】
図１に戻る。広告主サーバ３内に格納されるページプログラム７は、１以上の表示用アイテム（例えば、商品に関する情報）を含むＷｅｂページを記述するプログラムであり、例えばＨＴＭＬ(HyperText Markup Language)、ＣＧＩ(Common Gateway Interface)、ＰＨＰなどのプログラミング言語によって記述される。ページプログラム７には、Ｗｅｂページの種別（例えば、商品一覧ページ、商品詳細ページ、ショッピングカートページ、購入完了ページなど）を特定するページ情報、上記１以上の表示用アイテムを示すアイテム情報、及び、対応するｊｓファイル６のインターネット上の位置を示すアドレス情報（具体的には、ＵＲＬ）が含まれる。
【００４１】
図４は、ページプログラム７の一例を示す図である。本実施の形態によるページプログラム７はＨＴＭＬによって記述されており、同図には、ＨＴＭＬタグ＜ｈｅａｄ＞によって示されるヘッダ部分の一部のみを示している。同図に示すように、ページプログラム７は、２つの部分プログラムＰ１０，Ｐ１１を含んで構成される。
【００４２】
初めに部分プログラムＰ１１は、図４ではＪａｖａＳｃｒｉｐｔ（登録商標）のオブジェクトｒａｋｕｒａｋｕ＿ｔａｇとして記述されており、上述したページ情報及びアイテム情報を含んで構成される。具体的には、オブジェクトｒａｋｕｒａｋｕ＿ｔａｇは要素として変数ｐａｇｅ及び配列ｉｔｅｍ＿ｉｎｆｏ［  ］を含み、変数ｐａｇｅがページ情報に、配列ｉｔｅｍ＿ｉｎｆｏ［  ］がアイテム情報にそれぞれ相当する。
【００４３】
配列ｉｔｅｍ＿ｉｎｆｏ［  ］は、１以上の商品情報のそれぞれを１つの要素として含む配列である。なお、この配列ｉｔｅｍ＿ｉｎｆｏ［  ］は、図３の部分プログラムＰ４で用いた配列ｉｔｅｍ＿ｉｎｆｏ［  ］とは異なる配列である。各商品情報は、図４に示すように、４つのプロパティｉｄ，ｎａｍｅ，ｃｏｕｎｔ，ｐｒｉｃｅ（第１のプロパティ）によって構成される。
【００４４】
次に部分プログラムＰ１０は、図４ではＪａｖａＳｃｒｉｐｔ（登録商標）の即時関数の形式で記述されており、上述したアドレス情報と、部分プログラムＰ１１を特定する情報（図４では「ｒａｋｕｒａｋｕ＿ｔａｇ」と記述されている部分）とを含む。部分プログラムＰ１０は、アドレス情報により示される位置からｊｓファイル６をダウンロードし、部分プログラムＰ１１を読み込みつつｊｓファイル６を実行するという処理をコンピュータ（具体的には、ユーザ端末５）に実行させる役割を果たす。
【００４５】
図１に戻る。広告配信サーバ４内に格納される製品リスト８は、広告主によって広告の対象とされた製品を列挙したものであり、広告として表示すべき広告情報を製品ごとに含んでいる。広告情報には、例えば製品の画像、名称、価格などが含まれる。広告配信サーバ４は、製品リスト８を提出した広告主の広告主ＩＤと対応付けて、その製品リスト８を記憶する。
【００４６】
ｊｓファイル６、ページプログラム７、製品リスト８を各サーバに格納した後には、図１に丸数字４〜８で示すユーザ情報の収集処理が実行される。具体的に説明すると、まず、ユーザがユーザ端末５で実行中のブラウザを用いて、広告主サーバ３に格納されているページプログラム７にアクセスする（丸数字４）。すると、広告主サーバ３からユーザ端末５に対して、ページプログラム７が送信される（丸数字５）。ユーザ端末５は、こうして受信されるページプログラム７を実行することにより、ユーザに対して広告主サイトの内容を提示する。
【００４７】
ページプログラム７を実行する際、ユーザ端末５は、その中に含まれる部分プログラムＰ１０（図４参照）を実行することにより、タグ管理サーバ２からｊｓファイル６をダウンロードし（丸数字６）、その内容を記述順に実行する。これにより、図１に示すように、広告主ＩＤ、ページビュー情報、ページ種別特定情報、ページ内容特定情報がユーザ端末５から広告配信サーバ４に向けて送信される（丸数字７）。このときユーザ端末５は、ユーザ端末５を特定するユーザ端末特定情報についても、広告配信サーバ４に対して送信する。ユーザ端末特定情報の具体的な種類は特に限定されないが、例えば、ユーザ端末５内に作成されたクッキーの識別情報や、ユーザ端末５に割り当てられたアドレス（ＩＰアドレス又はＭＡＣアドレスなど）を示す情報である。
【００４８】
ユーザ端末５によるｊｓファイル６の実行について、具体的に説明する。ユーザ端末５は、まず初めに、部分プログラムＰ１（送信関数定義プログラム）を実行する。これにより、送信関数の定義がインポートされる。次いで、ユーザ端末５は、部分プログラムＰ２，Ｐ３を構成する送信関数を順次実行することにより、広告配信サーバ４に対して広告主ＩＤ及びページビュー情報を順次送信する。
【００４９】
次にユーザ端末５は、部分プログラムＰ４（変換プログラム）を実行することにより、ページプログラム７内に記述されるページ情報及びアイテム情報（図４の部分プログラムＰ１１）を、広告配信サーバ４が処理可能なページ種別特定情報及びページ内容特定情報に変換する処理を行う。具体的には、図４に示した変数ｐａｇｅの内容に基づいて、図３に示した部分プログラムＰ５で分岐処理のために用いられる変数ｐａｇｅ＿ｎａｍｅを生成することにより、ページ種別特定情報を生成する。また、図４に示した配列ｉｔｅｍ＿ｉｎｆｏ［  ］の各要素それぞれの４つのプロパティｉｄ，ｎａｍｅ，ｃｏｕｎｔ，ｐｒｉｃｅの少なくとも一部の内容に基づいて、図３に示したプロパティｃｏｎｔｅｎｔ＿ｉｄｓ，ｃｏｎｔｅｎｔ＿ｎａｍｅ，ｖａｌｕｅ，ｎｕｍ＿ｉｔｅｍｓの内容（すなわち、図３に示した配列ｉｄｓ［  ］及び変数ｉｔｅｍ＿ｎａｍｅ，ｔｏｔａｌ＿ｐｒｉｃｅ，ｉｔｅｍ＿ｃｏｕｎｔ）を生成することにより、ページ内容特定情報を生成する。
【００５０】
続いてユーザ端末５は、部分プログラムＰ５を実行することにより、広告配信サーバ４に対してページ種別特定情報及びページ内容特定情報を送信する処理を行う。具体的には、部分プログラムＰ４の実行により生成した変数ｐａｇｅ＿ｎａｍｅに基づいて複数の選択肢の中から１つの選択肢を選択し、その中に記述される送信関数のプロパティに部分プログラムＰ４の実行により生成した内容を設定することにより、ページ種別特定情報及びページ内容特定情報の送信を行う。
【００５１】
図５は、ユーザ端末５から広告配信サーバ４に対して送信されるページ種別特定情報及びページ内容特定情報の一例を示す図である。同図に示す内容は、図４に示したページプログラム７の内容及び図３に示したｊｓファイル６の内容と一致しているので、以下、同図に示す例を参照しながら、ｊｓファイル６を実行することによってユーザ端末５が行う処理について、図４及び図３も参照しながら、さらに具体的に説明する。
【００５２】
ユーザ端末５はまず、ｊｓファイル６内の部分プログラムＰ４（変換プログラム）を実行することにより、図４に示した変数ｐａｇｅの内容「Ｐｕｒｃｈａｓｅ」を、図３に示した変数ｐａｇｅ＿ｎａｍｅに設定する。同様に、図４に示した変数ｉｄの内容「ｉｔｅｍ＿１００１」及び「ｉｔｅｍ＿２０２０」のそれぞれを、図３に示した配列ｉｄｓ［  ］の要素として設定し、図４に示した配列ｉｔｅｍ＿ｉｎｆｏ［  ］の１つ目の要素のプロパティｎａｍｅの内容「ペンスタンド」を、図３に示した変数ｉｔｅｍ＿ｎａｍｅに設定し、図４に示した配列ｉｔｅｍ＿ｉｎｆｏ［  ］内に存在する各要素の変数ｃｏｕｎｔと変数ｐｒｉｃｅを乗じた結果（１×１９８０，２×９８０）を合計してなる値３９４０（＝１×１９８０＋２×９８０）を、図３に示した変数ｔｏｔａｌ＿ｐｒｉｃｅに設定し、図４に示した配列ｉｔｅｍ＿ｉｎｆｏ［  ］内に存在する各要素の変数ｃｏｕｎｔ（１，２）を合計してなる値３（＝１＋２）を、図３に示した変数ｉｔｅｍ＿ｃｏｕｎｔに設定する。
【００５３】
続いてユーザ端末５は、ｊｓファイル６内の部分プログラムＰ５を実行する。その中でユーザ端末５は、変数ｐａｇｅ＿ｎａｍｅに応じて選択肢「Ｐｕｒｃｈａｓｅ」を選択し、さらに、その中に記述された送信関数の２つ目のパラメータに「Ｐｕｒｃｈａｓｅ」を設定する。また、ユーザ端末５は、同送信関数のプロパティｃｏｎｔｅｎｔ＿ｉｄｓに配列ｉｄｓ［  ］の内容「ｉｔｅｍ＿１００１」及び「ｉｔｅｍ＿２０２０」を設定し、プロパティｃｏｎｔｅｎｔ＿ｎａｍｅに変数ｉｔｅｍ＿ｎａｍｅの内容「ペンスタンド」を設定し、プロパティｖａｌｕｅに変数ｔｏｔａｌ＿ｐｒｉｃｅの内容「３９４０」を設定し、プロパティｎｕｍ＿ｉｔｅｍｓに変数ｉｔｅｍ＿ｃｏｕｎｔの内容「３」を設定する。ユーザ端末５はさらに、同送信関数のプロパティｃｕｒｒｅｎｃｙ，ｃｏｎｔｅｎｔ＿ｔｙｐｅに、それぞれ「ＪＰＹ」「Ｐｒｏｄｕｃｔ」という固定値を設定する。
【００５４】
ユーザ端末５は、ｊｓファイル６内の部分プログラムＰ５をさらに実行することにより、以上の設定内容を引数として含む送信関数を実行する。これにより、図５に示したページ種別特定情報及びページ内容特定情報が、ユーザ端末５から広告配信サーバ４に対して送信されることになる。
【００５５】
図１に戻る。ユーザ端末５から上記各情報を受信した広告配信サーバ４は、その中に含まれるユーザ端末特定情報と対応付けて、受信した各情報をデータベース４ａに記憶する（丸数字８）。ここまでの処理により、ユーザ情報の収集処理が終了する。なお、この収集処理は、ユーザが広告主サーバ３にサイトアクセス（丸数字４）を行う都度実行され、データベース４ａには、ユーザ端末５からの受信情報が蓄積されていくことになる。
【００５６】
ユーザ情報の収集処理が一通り完了した後には、図１に丸数字９〜１１で示す広告配信処理が実行される。具体的に説明すると、まず、ユーザがユーザ端末５で実行中のブラウザを用いて、広告配信サーバ４が提供する広告配信サイトへのアクセス（丸数字９）を行う。このアクセスでは、ユーザ端末５から広告配信サーバ４に対し、上述したユーザ端末特定情報が送信される。
【００５７】
広告配信サーバ４は、ユーザ端末５から受信されるユーザ端末特定情報に対応する情報をデータベース４ａから読み出し（丸数字１０）、読み出した情報に基づいて、製品リスト８から１以上の広告情報を読み出す。なお、データベース４ａから読み出した情報に基づく製品リスト８からの広告情報の読み出しは、例えばＡＩ(Artificial Intelligence)によるマッチングを用いて行うこととしてもよい。
【００５８】
続いて広告配信サーバ４は、読み出した１以上の広告情報を含むページプログラムを生成し、ユーザ端末５に返送する（丸数字１１）。ユーザ端末５は、こうして受信されるページプログラムを実行することにより、広告配信サイトの内容をユーザに対して提示する。これにより、広告配信サーバ４によって製品リスト８から読み出された１以上の広告情報がユーザに提示され、広告配信処理が終了する。以上の広告配信処理は、ユーザが広告配信サーバ４にサイトアクセス（丸数字９）を行う都度実行される。
【００５９】
次に、リターゲティング広告システム１のシーケンスを参照しながら、広告配信サーバ４、広告主サーバ３、タグ管理サーバ２、及びユーザ端末５が行う動作について、再度より詳しく説明する。
【００６０】
図６は、リターゲティング広告システム１のシーケンスを示す図である。同図に示すように、リターゲティング広告システム１において実行される処理は、大きく分けると、事前準備ステップＳ１、ユーザ情報収集ステップＳ２、広告配信ステップＳ３の３つに分けることができる。以下、それぞれについて説明する。
【００６１】
事前準備ステップＳ１では、送信関数定義プログラム、変換プログラム、及び送信関数を含むｊｓファイル６がタグ管理サーバ２内に格納される（ステップＳ１０）。ｊｓファイル６の具体的な内容は、図３を参照して説明した通りである。こうして格納したｊｓファイル６の内容は、後に何度でも更新することができる（ステップＳ１１）。
【００６２】
また、広告主サーバ３内に、ｊｓファイル６のアドレス情報（ＵＲＬ）を含むページプログラム７が格納される（ステップＳ１２）。ページプログラム７は、１以上の表示用アイテムを含むＷｅｂページを記述するプログラムであり、図４を参照して説明したように、ｊｓファイル６のアドレス情報の他に、Ｗｅｂページの種別を特定するページ情報と、１以上の表示用アイテムを示すアイテム情報とを含んで構成される。図示していないが、ページプログラム７の内容も、後に何度でも更新することができる。
【００６３】
さらに、広告配信サーバ４内に、１以上の広告情報を含む製品リスト８が格納される（ステップＳ１３）。製品リスト８は、広告主ＩＤと対応付けて、広告配信サーバ４内に格納される。図示していないが、製品リスト８の内容も、後に何度でも更新することができる。
【００６４】
次にユーザ情報収集ステップＳ２では、まず、ユーザ端末５から広告主サーバ３に対するサイトアクセスが実行され（ステップＳ２１）、これに応じて広告主サーバ３からユーザ端末５に対してページプログラム７が送信される（ステップＳ２２）。ユーザ端末５は、こうして受信されるページプログラム７を実行することにより、図２に示した出力装置１４を介してユーザに広告主サイトの内容を提示するとともに、タグ管理サーバ２に対しバックグラウンドでｊｓファイル６を要求する（ステップＳ２３）。このときアクセスすべきタグ管理サーバ２のアドレス情報は、ページプログラム７内に記述されるｊｓファイル６のアドレス情報に含まれる。タグ管理サーバ２は、この要求に応じ、ユーザ端末５に対してｊｓファイル６を送信する（ステップＳ２４）。
【００６５】
ｊｓファイル６を受信したユーザ端末５は、受信したｊｓファイル６を実行することにより、ページプログラム７内に記述されているページ情報及びアイテム情報を送信関数の引数の形式（すなわち、広告配信サーバが処理可能なページ種別特定情報及びページ内容特定情報）に変換する（ステップＳ２５）。そして、ｊｓファイル６内の送信関数を実行することにより、ユーザ端末５を特定するユーザ端末特定情報とともに、広告主ＩＤ、ページビュー情報、ページ種別特定情報、及びページ内容特定情報を広告配信サーバ４に対して送信する。広告配信サーバ４は、こうして受信した各情報を、ユーザ端末特定情報に対応付けてデータベース４ａ（図１参照）に格納する。ここまでの処理で、ユーザ情報収集ステップＳ２は終了する。なお、このユーザ情報収集ステップＳ２は、ユーザ端末５による広告主サーバ３へのサイトアクセス（ステップＳ２１）が実行される都度、何度でも繰り返される。
【００６６】
次に広告配信ステップＳ３では、まず、ユーザ端末５から広告配信サーバ４に対するサイトアクセスが実行される（ステップＳ３０）。このサイトアクセスには、ユーザ端末５を特定するユーザ端末特定情報が含まれる。サイトアクセスを受けた広告配信サーバ４は、その中に含まれるユーザ端末特定情報に基づき、データベース４ａ内に記憶した情報を読み出す。そして、読み出した情報に基づいて、製品リスト８から１以上の広告情報を選択する（ステップＳ３１）。このとき広告配信サーバ４が参照する製品リスト８は、ユーザ端末特定情報に対応付けてデータベース４ａ内に記憶されている広告主ＩＤに基づいて決定される。
【００６７】
次に広告配信サーバ４は、選択した１以上の広告情報を含むページプログラムを作成し（ステップＳ３２）、ユーザ端末５に向けて送信する（ステップＳ３３）。ここで作成されるページプログラムにより実現されるＷｅｂページの典型的な例としては、検索サイトのトップページやソーシャルサイトの個人用トップページなどが挙げられる。これにより、検索サイトのトップページやソーシャルサイトの個人用トップページなど、広告主サイトとは直接関係のない著名サイトに、広告主の広告情報を表示することが可能になる。
【００６８】
以上説明したように、本実施の形態によるｊｓファイル６内のプログラムによれば、ページプログラム７内及びｊｓファイル６内のいずれにも、広告配信サーバ４が処理可能な形式のページ内容特定情報を記述しておくことが不要となる。また、送信関数定義プログラムの更新に伴ってページ種別特定情報又はページ内容特定情報の形式が変更されたとしても、図３に示した部分プログラムＰ４の内容をタグ管理サーバ２内で書き換えるだけで対応できる。したがって、送信関数定義プログラムの更新に伴う広告主の負担を増大させることなく、ユーザ端末５から広告配信サーバ４にアイテム情報を送信させることが可能になる。
【００６９】
また、アイテム情報に含まれる１以上の商品情報それぞれの複数の第１のプロパティ（例えば、図４に示したプロパティｉｄ，ｎａｍｅ，ｃｏｕｎｔ，ｐｒｉｃｅ）の少なくとも一部の内容に基づいてページ内容特定情報に含まれる複数の第２のプロパティ（例えば、図４に示したプロパティｃｏｎｔｅｎｔ＿ｉｄｓ，ｃｏｎｔｅｎｔ＿ｎａｍｅ，ｖａｌｕｅ，ｎｕｍ＿ｉｔｅｍｓ）の内容を生成することによって、アイテム情報をページ内容特定情報に変換するように変換プログラムを構成しているので、ユーザ端末５は、アイテム情報をページ内容特定情報に好適に変換することが可能になる。
【００７０】
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【００７１】
例えば、上記実施の形態では、部分プログラムＰ１〜Ｐ５，Ｐ１０，Ｐ１１をＪａｖａＳｃｒｉｐｔ（登録商標）によって記述したが、他の言語でこれらを記述しても構わない。
【００７２】
また、上記実施の形態では、タグ管理サーバ２、広告主サーバ３、広告配信サーバ４、及びユーザ端末５を１台ずつ含むリターゲティング広告システム１を例示したが、リターゲティング広告システム１内に、これらのうちの一部又はすべてを複数台ずつ含むこととしてもよい。
【符号の説明】
【００７３】
１                          リターゲティング広告システム
２                          タグ管理サーバ
３                          広告主サーバ
４                          広告配信サーバ
４ａ                        データベース
５                          ユーザ端末
６                          ｊｓファイル
７                          ページプログラム
８                          製品リスト
１０                        プロセッサ
１１                        記憶装置
１２                        通信装置
１３                        入力装置
１４                        出力装置
１５                        バス
Ｐ１〜Ｐ５，Ｐ１０，Ｐ１１  部分プログラム
【図１】
2018181079.tif 000003
【図２】
2018181079.tif 000004
【図３】
2018181079.tif 000005
【図４】
2018181079.tif 000006
【図５】
2018181079.tif 000007
【図６】
2018181079.tif 000008