ãã®è¨äºã§ã¯ã帰å±ããªã¬ã¼ãç»é²ããæ¹æ³ã«ã¤ãã¦èª¬æãã¾ãã
åºæ¬çãªææ³å¸°å±ã½ã¼ã¹ãç»é²ãããã帰å±ããªã¬ã¼ãç»é²ããå¿ è¦ãããã¾ããããã¯ãã³ã³ãã¼ã¸ã§ã³ã測å®ããããµã¤ãã§ã®æä½ã§ãï¼ä¾ãã°ãåºå主ã®ãµã¤ãã§ãè³¼å ¥ããã¿ã³ãã¯ãªãã¯ããã¨ãã³ã³ãã¼ã¸ã§ã³ãçºçããå¯è½æ§ããããã¨ã示ããã¨ãã§ãã¾ãï¼ããã®å¾ããã©ã¦ã¶ã¼ã¯ããã©ã¤ãã¼ããã¼ã«ã«ã¹ãã¬ã¼ã¸åºç»ã«æ ¼ç´ããã¦ãã帰å±ã½ã¼ã¹ã®é ç®ã¨å¸°å±ããªã¬ã¼ãç §åããä¸è´ãããã®ãè¦ã¤ãã£ãå ´åã¯ã¬ãã¼ããçæãã¾ãã
帰å±ããªã¬ã¼ã®ç¨®é¡ãç°ãªãã¨ããã®ç»é²æ¹æ³ãç°ãªãã¾ãã詳細ã«ã¤ãã¦ã¯ãä¸è¨ã®ãHTML ãã¼ã¹ã®å¸°å±ããªã¬ã¼ãããã³ãJavaScript ãã¼ã¹ã®å¸°å±ããªã¬ã¼ãã®ç¯ãåç §ãã¦ãã ããã
ãã ããããªã¬ã¼ã®ç»é²ãç §åãªã©ããã®èå¾ã§è¡ãããå¦çã¯ããã¹ã¦ã®å ´åã§åãã§ãã
ãã¹ã¦ã®ç¨®é¡ã®ããªã¬ã¼ã¯ããªã¯ã¨ã¹ãæã« Attribution-Reporting-Eligible
ãããã¼ãéä¿¡ãã¾ããããã¯ãã¬ã¹ãã³ã¹ãããªã¬ã¼ã®ç»é²å¯¾è±¡ã§ãããã¨ã示ãã¾ããä¾ãã°æ¬¡ã®ããã«ãªãã¾ãã
Attribution-Reporting-Eligible: trigger
ãµã¼ãã¼ã Attribution-Reporting-Eligible
ãããã¼ãå«ããªã¯ã¨ã¹ããåä¿¡ããã¨ãã¬ã¹ãã³ã¹ã« Attribution-Reporting-Register-Trigger
ãå«ãããã¨ãããã¾ãããã®å¤ã¯ãããªã¬ã¼ã® IDãåªå
度ãéè¤æé¤å¤ãªã©ãçæãããã¬ãã¼ãã«å«ãããã¨ãã§ãããã¼ã¿ãå«ã JSON æååã§ãã
次ã®ä¾ã¯ãã¤ãã³ãã¬ãã«ã¬ãã¼ã帰å±ã½ã¼ã¹ã¨ç §åããããã®ãã®ã§ãã
res.set(
"Attribution-Reporting-Register-Trigger",
JSON.stringify({
event_trigger_data: [
{
trigger_data: "4",
priority: "1000000000000",
deduplication_key: "2345698765",
},
],
debug_key: "1115698977",
}),
);
ããã§æå®ããã¦ãããã£ã¼ã«ãã¯æ¬¡ã®ã¨ããã§ãã
"event_trigger_data"
: ããªã¬ã¼ã«é¢ãããã¼ã¿ã表ããªãã¸ã§ã¯ããããã«ã¯ä»¥ä¸ã®ãã®ãå«ã¾ãã¾ãã
"trigger_data"
: ããªã¬ã¼ã«é¢é£ä»ãããããã¼ã¿ãé常ããã¦ã¼ã¶ã¼ãã·ã§ããã³ã°ã«ã¼ãã«ååã追å ãããããã¦ã¼ã¶ã¼ãã¡ã¼ãªã³ã°ãªã¹ãã«ç»é²ããããªã©ã®ã¤ãã³ãã示ãããã«ä½¿ç¨ããã¾ãããã®å¤ã¯ãçæãããã¬ãã¼ãã«å«ã¾ãã¾ãããé¢é£ä»ããããã½ã¼ã¹ã® "trigger_data_matching"
ãã£ã¼ã«ãã«åºã¥ãã¦å¤æ´ãããå ´åãããã¾ãã
ã¡ã¢: ããããã®ã¤ãã³ãã表ãå¤ãããã³é åã®è¦ç´ æ°ã¯å®å ¨ã«ä»»æã§ãããéçºè ãå®ç¾©ãã¾ããé åã«ã¯ä½¿ç¨ãããªãå¤ãå«ãããã¨ãã§ãã¾ãããããªã¬ã¼ãç»é²ãããã¨ãã«ãã©ã¦ã¶ã¼ãã½ã¼ã¹ã«å±æ§ãä»ä¸ããã«ã¯ãé åã«å¤ãåå¨ãã¦ããå¿ è¦ãããã¾ãã
"priority"
: 帰å±ããªã¬ã¼ã®åªå
度å¤ã表ãæååã詳細ã«ã¤ãã¦ã¯ãã¬ãã¼ãã®åªå
é ä½ã¨å¶éãåç
§ãã¦ãã ããã"deduplication_key"
: é¢é£ä»ãã®éè¤ãé²ãããã«ä½¿ç¨ã§ãã䏿ã®ãã¼ã表ãæååãä¾ãã°ãã¦ã¼ã¶ã¼ãåãã¢ã¤ãã ãã·ã§ããã³ã°ã«ã¼ãã«è¤æ°å追å ããå ´åãªã©ã§ãã詳細ã«ã¤ãã¦ã¯ãã¬ãã¼ãã§ã®éè¤ã®é²æ¢ï¼è±èªï¼ãã覧ãã ããã"debug_key"
: ãããã°ãã¼ãè¡¨ãæ°å¤ãé¢é£ä»ãããã帰å±ã¬ãã¼ãã®æ¨ªã«ãããã°ã¬ãã¼ããçæãããå ´åã«è¨å®ãã¾ããå©ç¨å¯è½ãªãã¹ã¦ã®ãã£ã¼ã«ãã®è©³ç´°ã«ã¤ãã¦ã¯ãAttribution-Reporting-Register-Trigger
ãåç
§ãã¦ãã ããã
æ¦è¦ã¬ãã¼ã帰å±ã½ã¼ã¹ã¨ä¸è´ããããã«æå³ãããããªã¬ã¼ã«ã¯ãä¸è¨ã«ç¤ºããã£ã¼ã«ããè¦æ±ããã¾ãã
res.set(
"Attribution-Reporting-Register-Trigger",
JSON.stringify({
aggregatable_trigger_data: [
{
key_piece: "0x400",
source_keys: ["campaignCounts"],
},
{
key_piece: "0xA80",
source_keys: ["geoValue", "nonMatchingKeyIdsAreIgnored"],
},
],
aggregatable_values: {
campaignCounts: 32768,
geoValue: 1664,
},
debug_key: "1115698977",
}),
);
ãã®ä¾ã§ã®ãã£ã¼ã«ãã¯æ¬¡ã®ã¨ããã§ãã
"aggregatable_trigger_data"
: ãªãã¸ã§ã¯ãã®é
åãããããã®ãªãã¸ã§ã¯ãã¯ãç°ãªãã½ã¼ã¹ãã¼ã«é©ç¨ããéç´ãã¼ãå®ç¾©ãã¾ãã"aggregatable_values"
: "aggregatable_trigger_data"
ã§å®ç¾©ãããããããã®ãã¼ã¿ãã¤ã³ãã®å¤ã表ãããããã£ãå«ããªãã¸ã§ã¯ããå©ç¨å¯è½ãªãã¹ã¦ã®ãã£ã¼ã«ãã®è©³ç´°ã«ã¤ãã¦ã¯ã Attribution-Reporting-Register-Trigger
ãåç
§ãã¦ãã ããã
ã¦ã¼ã¶ã¼ã帰å±ããªã¬ã¼ã¨å¯¾è©±ããã¨ããã©ã¦ã¶ã¼ã¯ããã©ã¦ã¶ã¼ã®ãã©ã¤ãã¼ããã¼ã«ã«ãã£ãã·ã¥ã«æ ¼ç´ããã¦ãã帰å±ã½ã¼ã¹ã®é
ç®ã¨ããªã¬ã¼ãç
§åãããã¨ãã¾ããç
§åãæåããã®ã Attribution-Reporting-Register-Trigger
ã® "trigger_data"
ãã Attribution-Reporting-Register-Source
ã® "trigger_data"
ã§æå®ãããå¤ã®ããããã¨ä¸è´ããããªã¬ã¼ãç»é²ããã¦ããæä¸ä½ã®ãã¼ã¸ï¼ã¹ãã¼ã + eTLD+1ï¼ãã以ä¸ã®æ¡ä»¶ãæºããã¦ããå¿
è¦ãããã¾ãã
destination
ã®ãã¡ãå°ãªãã¨ã 1 ã¤ã¨ä¸è´ãããã¡ã¢: ãããã®è¦ä»¶ã¯ãã©ã¤ãã·ã¼ä¿è·ã ãã§ãªããæè»æ§ãæä¾ãã¾ããã½ã¼ã¹ã¨ããªã¬ã¼ã¯ã <iframe>
ã«åãè¾¼ããã¨ããæä¸ä½ã®ãµã¤ãã«é
ç½®ãããã¨ãå¯è½ã§ãã
ç §åã®çµæãä¸è´ããªãè¦å ã¯ä»ã«ãããããããã¾ããä¾ãã°ã次ã®ãããªãã®ãããã¾ãã
"trigger_data_matching"
è¨å®ã«ãããä¸è´ããªãã£ãã"max_event_level_reports"
ã®å¶éã«éãããä¸è´ãããã®ãè¦ã¤ãã£ãå ´åããã©ã¦ã¶ã¼ã¯ã½ã¼ã¹ã¨ããªã¬ã¼ãã¼ã¿ã«åºã¥ãã¦ã¬ãã¼ããçæãããããã¬ãã¼ãã®ã¨ã³ããã¤ã³ãã«éä¿¡ãã¾ãã
ã¡ã¢: 帰å±ããªã¬ã¼ã¯ã帰å±ã½ã¼ã¹ã¨åæ§ã«ã<a>
è¦ç´ ã¾ã㯠Window.open()
å¼ã³åºãã«ã¯ç»é²ã§ãã¾ããã
HTML ãã¼ã¹ã®å¸°å±ããªã¬ã¼ã¯ããã¼ã¸ãæåã«èªã¿è¾¼ã¾ããã¨ããããæ£ç¢ºã«ã¯ <img>
ã¾ã㯠<script>
ãèªã¿è¾¼ã¾ããã¨ãã«ããã¼ã¸ã§ã®ã³ã³ãã¼ã¸ã§ã³ãæ¤åºããããã«ä½¿ç¨ãããã¨ãã§ãã¾ããä¾ãã°ãã¦ã¼ã¶ã¼ããµã¤ãéå¶è
ã®ãã¼ã¸ã§å¸°å±ã½ã¼ã¹ã®ãªã³ã¯ãã¯ãªãã¯ãã¦åºå主ã®ãã¼ã¸ã«ç§»åããå ´åã帰å±ããªã¬ã¼ãç»é²ãã¦ããã¨ãåºå主ã®ãã¼ã¸ãèªã¿è¾¼ã¾ããç¬éã«ããã©ã¦ã¶ã¼ãæ ¼ç´ããã¦ããã½ã¼ã¹é
ç®ã¨ç
§åã試ã¿ã¾ãã
é©åãªè¦ç´ ã« attributionsrc
屿§ã追å ãããã¨ã§ã屿§ããªã¬ã¼ãç»é²ãããã¨ãã§ãã¾ããããã¯ã <img>
ããã³ <script>
è¦ç´ ã§å®è¡ã§ãã¾ãã
屿§å¤ã空ç½ã®ã¾ã¾ã«ããã¨ããªã¯ã¨ã¹ãããããªã½ã¼ã¹ããã¹ãããã¦ãããµã¼ãã¼ã«ç»é²ãªã¯ã¨ã¹ããéä¿¡ããã¾ããå¤å ã«ãç»é²ãªã¯ã¨ã¹ããéä¿¡ãã追å ã® URL ãæå®ãããã¨ãå¯è½ã§ãã詳細ã«ã¤ãã¦ã¯ã attributionsrc å ã§ã® URL ã®æå®ãåç §ãã¦ãã ããã
以ä¸ã¯ <img>
è¦ç´ ã®ä¾ã§ãã
<img
src="https://shop.example/conversion/4rghshdh5"
width="1"
height="1"
attributionsrc />
HTMLImageElement.attributionSrc
ããããã£ã使ç¨ãã¦ããããã¨åãçµæãå¾ããã¨ãã§ãã¾ãã
const imgElem = document.querySelector("img");
imgElem.attributionSrc = "";
ãã®å ´åããã©ã¦ã¶ã¼ã¯ãç»åãã¡ã¤ã«ãå«ãã¬ã¹ãã³ã¹ãåä¿¡ããã¨ãï¼load
ã¤ãã³ããçºçããã¨ãï¼ãä¿åããã¦ãã帰å±ã½ã¼ã¹ã¨ããªã¬ã¼ãç
§åãããã¨ãã¾ããã¦ã¼ã¶ã¼ã¯å¿
ããããã®ç»åãã¾ã£ããèªèã§ããªãå ´åããããã¨ã«ãçæãã ããããã®ç»åã¯ã帰å±ã¬ãã¼ãã®ããã«ã®ã¿ä½¿ç¨ããã 1x1 ã®éæãªãã©ããã³ã°ãã¯ã»ã«ã§ããå ´åãããã¾ãã
<script>
ã®ä¾ã¯ã次ã®ããã«è¡¨ç¤ºããã¾ãã
<script src="advertising-script.js" attributionsrc></script>
const scriptElem = document.querySelector("script");
scriptElem.attributionSrc = "";
ãã®å ´åããã©ã¦ã¶ã¼ã¯ãã¹ã¯ãªãããå«ãã¬ã¹ãã³ã¹ãåä¿¡ããã¨ãæ ¼ç´ããã¦ãã帰å±ã½ã¼ã¹ã¨ããªã¬ã¼ã®ç §åã試ã¿ã¾ãã
JavaScript ãã¼ã¹ã®å¸°å±ããªã¬ã¼JavaScript ãã¼ã¹ã®å¸°å±ããªã¬ã¼ã¯ãHTML ãã¼ã¹ã®å¸°å±ããªã¬ã¼ãããæ±ç¨æ§ãããã¾ããä¾ãã°ãã«ã¹ã¿ã è¦ç´ ãã¯ãªãã¯ãããããã©ã¼ã ãéä¿¡ãããã¨ãã£ãç¬èªã®æä½ã«åºã¥ãã¦ãä¿åããã¦ããã½ã¼ã¹ã¨ã®ä¸è´ã試ã¿ããããã©ã¦ã¶ã¼ã«ããªã¬ã¼ãéä¿¡ãããã¨ãã§ãã¾ãã
ã¹ã¯ãªãããã¼ã¹ã®å±æ§ããªã¬ã¼ãç»é²ããã«ã¯ã次ã®ãããããå®è¡ãã¾ãã
fetch()
ãªã¯ã¨ã¹ããã attributionReporting
ãªãã·ã§ã³ä»ãã§éä¿¡ãã¾ãã
const attributionReporting = {
eventSourceEligible: false,
triggerEligible: true,
};
// ãªãã·ã§ã³ã§ keepalive ãè¨å®ãã¦ããªã¯ã¨ã¹ãããã¼ã¸ãããé·ãåç¶ããããã«ãã
function triggerMatching() {
fetch("https://shop.example/endpoint", {
keepalive: true,
attributionReporting,
});
}
// æä½ã®ããªã¬ã¼ããã³ã¼ãã«ã¨ã£ã¦æå³ã®ããè¦ç´ ãã¤ãã³ãã«é¢é£ä»ãã
elem.addEventListener("click", triggerMatching);
XMLHttpRequest
ãããã®ãªã¯ã¨ã¹ããªãã¸ã§ã¯ãã§å¼ã³åºããã setAttributionReporting()
ãä»ãã¦éä¿¡ãã¾ãã
const attributionReporting = {
eventSourceEligible: false,
triggerEligible: true,
};
function triggerMatching() {
const req = new XMLHttpRequest();
req.open("GET", "https://shop.example/endpoint");
// å¼ã³åºãåã« setAttributionReporting() ã使ããããã§ãã¯
if (typeof req.setAttributionReporting === "function") {
req.setAttributionReporting(attributionReporting);
req.send();
} else {
throw new Error("帰å±ã¬ãã¼ãã¯å©ç¨ã§ãã¾ãã");
// å¿
è¦ã«å¿ãã¦ãããã«å復ã³ã¼ããè¨è¼ãã
}
}
// æä½ã®ããªã¬ã¼ããã³ã¼ãã«ã¨ã£ã¦æå³ã®ããã¤ãã³ã
// ï¼DOM ã¤ãã³ããã¦ã¼ã¶ã¼æä½ã§ããå¿
è¦ã¯ãªãï¼ã«é¢é£ä»ãã
elem.addEventListener("click", triggerMatching);
ãã®å ´åããã©ã¦ã¶ã¼ã¯ããã§ãããªã¯ã¨ã¹ãããã®ã¬ã¹ãã³ã¹ãåä¿¡ããã¨ãããªã¬ã¼ãæ ¼ç´ããã¦ãã帰å±ã½ã¼ã¹ã¨ç §åãããã¨ãã¾ãã
ã¡ã¢: ãªã¯ã¨ã¹ãã¯ãä»»æã®ãªã½ã¼ã¹ã«å¯¾ãã¦è¡ããã¨ãã§ãã¾ãã帰å±ã¬ãã¼ã API ã¨ç´æ¥é¢ä¿ã®ããä½ããã®ãªã½ã¼ã¹ã§ããå¿ è¦ã¯ãªããJSONããã¬ã¼ã³ããã¹ããç»å blobããã®ä»ã¢ããªã«ã¨ã£ã¦æå³ã®ãããã®ãªãä½ã§ããªã¯ã¨ã¹ãã§ãã¾ãã
attributionsrc å ã§ã® URL ã®æå®ä¸è¨ã®ä¾ã§ã¯ãattributionsrc
屿§ã¯ç©ºç½ã®ã¾ã¾ã«ãã¦ã空æååã®å¤ãåã£ã¦ãã¾ãããªã¯ã¨ã¹ãããããªã½ã¼ã¹ãä¿æãããµã¼ãã¼ããç»é²ã®å¦çï¼ã¤ã¾ããAttribution-Reporting-Eligible
ãããã¼ãåä¿¡ããAttribution-Reporting-Register-Trigger
ãããã¼ã§å¿çããï¼ãè¡ããµã¼ãã¼ã¨åãã§ããå ´åã¯ãããã§åé¡ããã¾ããã
ãã ãããªã¯ã¨ã¹ãããããªã½ã¼ã¹ãèªåã§å¶å¾¡ã§ãããµã¼ãã¼ä¸ã«ãªãå ´åããå¥ã®ãµã¼ãã¼ã§å¸°å±æ
å ±ã®ããªã¬ã¼ã®ç»é²ãå¦çãããå ´åãªã©ãããã§ãããããã®ãããªå ´åã¯ãattributionsrc
ã®å¤ã¨ã㦠1 ã¤ä»¥ä¸ã® URL ãæå®ãããã¨ãã§ãã¾ãããªã½ã¼ã¹ã®ãªã¯ã¨ã¹ããçºçããã¨ããªã½ã¼ã¹ã®éä¿¡å
ã«å ãã¦ãattributionsrc
ã§æå®ãã URL ã« Attribution-Reporting-Eligible
ãããã¼ãéä¿¡ããã¾ãããã®å¾ãURL 㯠Attribution-Reporting-Register-Trigger
ã§å¿çããç»é²ãå®äºãã¾ãã
ä¾ãã°ã<img>
è¦ç´ ã®å ´åãattributionsrc
屿§ã§ URL ã宣è¨ãããã¨ãã§ãã¾ãã
<img
src="https://shop.example/conversion/4rghshdh5"
attributionsrc="https://my-separate-tracking-site.example.com"
width="1"
height="1" />
ã¾ãã¯ãJavaScript ã§ attributionSrc
ããããã£ã使ç¨ãã¦æå®ãã¾ãã
const imgElem = document.querySelector("img");
imgElem.attributionSrc = "https://my-separate-tracking-site.example.com";
é¢é£æ
å ±
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4