ESGAROTHPRIVATE AD NETWORK
Integration Guide

導入ガイド

メディア様(掲載側)

管理画面の案件一覧から提携を申し込むと、案件ごとの計測リンクが発行されます。 記事・SNS投稿・バナーの遷移先をこのリンクにするだけで計測が始まります。

https://app.esgarothad.org/r/リンクコード
https://app.esgarothad.org/r/リンクコード?sub=post123   ← subパラメータで投稿単位の内訳計測も可能

アフィリエイトリンクとして掲載する場合は、ページ内に「広告(PR)を含む」旨の表記と、 リンクへの rel="sponsored" の付与を必ず行ってください(景品表示法・ステマ規制対応)。

Next.js のサイトであれば、配信枠コンポーネント AdSlot を1ファイル置くだけで、 PR表記・rel属性・インプレッション計測まで込みのネイティブ枠を設置できます。外部JSは読み込みません。

import AdSlot from "@/components/AdSlot";

<AdSlot zone="zhou-article-foot" sub={article.slug} />

WordPressや静的HTMLなどNext.js以外のメディア様は、代わりに1行の埋め込みタグで同じ枠を配信できます (配信エッジ側で審査済み・配信中の案件のみを返し、bot・Referer空・連打は無効クリックとして除外します)。

<script src="https://edge.esgarothad.org/tag.js?zone=枠ID"></script>

広告主様(出稿側)— 成果計測の実装

計測リンク経由の訪問には、LPのURLに esg_cid(クリックID)が付与されます。 成果地点(申込完了・購入完了)で、このIDを添えてポストバックを送信してください。

成果キーはサーバー側にのみ置いてください。ブラウザのJavaScriptから送信する実装にすると、キーがページのソースから読み取れてしまい、 第三者に偽の成果を作られます。当方はブラウザ実装の手順を提供していません。

1. LP側: クリックIDを自社のセッション/注文レコードに保存

// 例: LP着地時にサーバー側でセッションへ格納
const cid = new URL(req.url).searchParams.get("esg_cid");
if (cid) session.esg_cid = cid;   // 注文確定時まで持ち回す

2. 成約確定時: サーバーからポストバック(POST推奨)

await fetch("https://app.esgarothad.org/api/postback", {
  method: "POST",
  headers: {
    "content-type": "application/json",
    "authorization": "Bearer " + process.env.ESG_POSTBACK_KEY, // 案件ごとに発行
  },
  body: JSON.stringify({ cid: order.esg_cid, amount: order.total }),
});

amount は成果報酬型なら報酬額、売上シェア型なら売上額です。 案件ごとに1成果あたりの計上上限を設定しており、上限を超える値は上限にクランプして記録します。 同一クリックの二重計上は自動で排除されます(同じcidで再送しても増えません)。

返り値は { ok: true, amount, status: "pending" }。 成果は未確定で計上され、承認をもって確定・支払対象になります。

店舗・来店ビジネスの方へ

オンライン決済のないお店でも使えます。計測リンクの遷移先をLINE公式アカウントや電話番号にすれば、 「記事からLINEに進んだ数」「電話をタップした数」を計測できます。 来店・予約などの成果は、お店からの報告をもとに運営がレポートへ計上します(数字の根拠はすべて開示します)。 手動で計上した成果は、クリック数には混ぜず「手動計上」として区別して表示します。

数字の扱い(全案件・全メディア共通)

  • クリックは、既知のbot・クローラのUA、Refererが空のアクセス(UA偽装したリンクスキャナ・自動巡回の典型的な特徴)、および同一利用者による30秒以内の連打を無効として集計から外します。基準は案件ごとに変えません。
  • 無効クリックからは成果を受け付けません(ポストバックは409で拒否されます)。
  • 成果は発生時点で「未確定」。承認で「確定」、却下の場合は理由を必ず記録し、レポートから確認できます。
  • IPアドレスは保存しません。ソルトと日付を混ぜたハッシュのみを不正検知に使い、日をまたいだ追跡はできない形にしています。
  • クリック数・成果数・報酬は管理画面でリアルタイムに確認できます。集計の遅延・丸めは行いません。