本文へスキップ

「ExoClickとAgeGOを統合する方法

このガイドの目的は、その説明である:

  • AgeGOへのサイトの登録方法。
  • 年齢認証パラメータをExoClickに渡し、広告ゾーンで広告をブロックする方法。
  • AgeGOとExoClick広告ゾーンを統合し、年齢確認前のユーザーにSFW広告を表示する方法。

AgeGOへのサイト登録方法

AgeGOにサイトを登録するには、AgeGOダッシュボードにログインしてください。次に、"My Sites "に行き、"New Site "をクリックしてください:

ExoClick AgeGO 1

これらの設定から、少なくとも名前トップレベルドメインを追加する必要があります。これらの設定が完了したら、「作成」をクリックします。サイトがアカウントに追加されます。

デフォルトでは、すべてのサイトは作成時に "Ready "ステータスになります。しかし、これはあなたのサイトがまだAgeGOを使用できるという意味ではありません。あなたのサイトでAgeGOを有効にするには、AgeGOのお問い合わせフォームからお問い合わせいただき、あなたのサイトに対応するサイトIDをお知らせいただく必要があります

サイトIDは、サイト名の横に記載されています:

ExoClick AgeGO 2

あなたのサイトが承認されると、ステータスは "実行中 "に変わり、統合手順に従ってあなたのサイトにAgeGOを統合することができるようになります。このソリューションでは現在、Modal (simple or advanced)S2Sの2つの方法を提供しており、各方法のセットアップ手順はAgeGOダッシュボードでご覧いただけます。このガイドでは、Modalメソッドについて説明します。

年齢認証をパスしてSFW広告を配信する方法

年齢認証システム(AgeGOまたは他のプロバイダー)を使用している場合、あらゆるユーザー(年齢認証をしなかったユーザーとしたユーザー)に広告を表示し続けたいと思うかもしれません。

年齢認証を通過した(または通過していない)ユーザーを識別するには、広告ゾーンで data-ex_av パラメータを使用します。このパラメータでは3つの値を指定できます:

  • "0":年齢確認なし(未定義)
  • "1":年齢確認 - 確認済み
  • "2":年齢確認 - 未確認

次に、特定のユーザー(この文脈では、年齢を確認しなかったユーザー)に対する広告をブロックするには、data-block-ad-typesパラメーターを使用する。このパラメータは複数の値を指定できるが、このガイドでは値 101 のみを使用する。

したがって、SFWの広告を配信し、そのユーザーをまだ年齢を確認していない人物として識別したい場合は、このようにパラメーターを統合することになる:

  • 非同期広告フォーマット(バナー、FPI、マルチフォーマットなど):
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script> 
<ins class="eas6a97888e2" data-zoneid="XXXXXXXX" data-ex_av="2" data-block-ad-types="101"></ins>
<script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>

注意:注意:SFW広告を配信する際には、data-ex_avdata-block-ad-typesの両方を使用する必要があります。

そして、認証されたユーザーにあらゆる種類の広告を配信したい場合は、このように配信することになる:

  • *非同期広告フォーマット(バナー、FPI、マルチフォーマットなど)***:
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script> 
<ins class="eas6a97888e2" data-zoneid="XXXXXXX" data-ex_av="1"></ins>
<script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>

SFW体験の作り方

以下のチュートリアルでは、"SFW-experience "を作成する方法、つまり、ユーザーがまだ年齢認証を行っていない場合にSFW広告のみを配信する方法を説明します。この方法は単なる推奨であり、異なるユーザーフローに従う必要がある場合は設定を変更できることに注意してください。

このセットアップのためには、別のスクリプト・ファイルを作成する必要がある。この例では、main.jsと呼んでいる:

function getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
}

function verifier(event, container) {
window.AGEGO = window.AGEGO || function () {
(AGEGO.e = AGEGO.e || []).push(arguments)
};
AGEGO('configure', {
siteId: XXXXXXX, // Site ID of your site in AgeGo
autoBlur: true,
verifyMode: 'inline',
requireAgeVerification: true,
allowDirectContinue: false,
overlay: {
logo: 'wlogo.png', // Logo of your site
theme: 'auto'
},
events: {
onVerificationFlowEnd() {
console.log("Verification successfull");
window.location.reload();
},
onVerificationFlowFailed() {
console.log("Verification failed with errorcode:" + error);
},
onAgeVerify() {
console.log("Begin Age Verification process");
},
onDirectContinue() {
console.log("DirectContinue action");
},
onUnderageSkip() {
console.log("Skipped");
},
onVerifiedBefore() {
console.log("Verified Before");
}
}
}
);

var n = document.createEvent("Event");
n.initEvent("DOMContentLoaded", !0, !0),
document.dispatchEvent(n);
}

const TARGET_SELECTOR = '.main, .footer; // replace with classes where click will be intercepted

function intercept(e) {
const container = e.target.closest(TARGET_SELECTOR);
if (!container) return;

e.preventDefault();
e.stopImmediatePropagation();
e.stopPropagation();

verifier(e, container);
}

このファイルには、クッキーを検出する関数、AgeGOオーバーレイをロードする関数、特定のクラスのクリックを検出する関数の3つの関数が含まれています。この場合、クラス .main.footer を使用しています。

そして、あなたのサイトのHTMLに次のように記述する:

<!--Code from AgeGo-->
<script src="https://verifycdn.agego.com/v1/verify.js"></script>

<!-- Code with custom functions-->
<script src="main.js"></script>

<!-- Ad provider code-->
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>

<!-- Ad zones. XXXX and YYYYY correspond to the class and zone IDs provided by the Admin Panel. -->
<div id="videontv">
<ins class="XXXXXX" data-zoneid="YYYYYY" data-block-ad-types="101" data-ex_av="2"></ins>
<ins class="XXXXXX" data-zoneid="YYYYYY" data-block-ad-types="101" data-ex_av="2"></ins>
</div>

<!-- Code to serve ads with the right params-->
<script>
const agegoValue = getCookie("agego_aver");
if (agegoValue === "yes") {
console.log("user verified");
const adInsElements = document.querySelectorAll("ins");
adInsElements.forEach(ins => {
ins.setAttribute("data-ex_av", "1");
ins.setAttribute("data-block-ad-types", "0");
});
}
else {
console.log("user not verified");
['pointerdown', 'click', 'touchstart'].forEach(type => {
document.addEventListener(type, intercept, { capture: true });
});
}
(AdProvider = window.AdProvider || []).push({"serve": {}});
</script>

この例では、ユーザーが年齢を確認するまで、広告はデフォルトでSFWです。ユーザーが前に述べた選択したクラスをクリックすると、AgeGOオーバーレイが表示されます。ユーザーが年齢を確認した後、ページは通常通りロードされ、今度は広告はブロックされません


このチュートリアルに関するいくつかの注意事項がある:

  1. この設定はAgeGOによって設定されたagego_averクッキーに依存しています。AgeGOスクリプトのイベントを使用してlocalStorageに値を設定し、その値に基づいて表示する広告を決定することができます。
  2. どちらの方法も、広告配信のみに焦点を当てています。このコードでは、動画のサムネイルやその他のウェブサイトのコンテンツは考慮されません。
  3. 現在のところ、AgeGOには国の検出機能は組み込まれていません。このコードを表示するタイミングを決める必要があります。

data-ex_avdata-block-ad-types`をお好みのイベントに基づいて設定したい場合は、他のチュートリアルをご覧ください:広告タイプを動的にブロックする, インストリーム広告ゾーンで広告タイプを動的にブロックする

最後に、年齢認証ソリューションとより一般的な広告ゾーンの統合については、この他のチュートリアルを参照してください。