ãã®è¨äºã§ã¯ã帰å±ã¬ãã¼ã API ã使ç¨ããå ´åã«ã帰å±ã½ã¼ã¹ãç»é²ããæ¹æ³ã«ã¤ãã¦èª¬æãã¾ãã
åºæ¬çãªææ³å¸°å±ã½ã¼ã¹ã¯ãæä½ã測å®ãããã³ã³ãã³ãã«å«ã¾ãããªã³ã¯ãç»åãã¹ã¯ãªãããªã©ã®å½¢ã§åå¨ãã¾ãï¼ä¾ãã°ãã³ã³ãã¼ã¸ã§ã³ã測å®ãããåºåãªã©ï¼ããããã¯ãç¹å®ã®ã¦ã¼ã¶ã¼æä½ãçºçããã¨ããã©ã¦ã¶ã¼ã¯ã½ã¼ã¹ãã¼ã¿ããã©ã¤ãã¼ããªãã¼ã«ã«ãã£ãã·ã¥ï¼ãã©ã¦ã¶ã¼ã®ã¿ã¢ã¯ã»ã¹å¯è½ï¼ã«ä¿åãã¾ãããã¾ãã¾ãªå¸°å±ã½ã¼ã¹åãç»é²ããã¦ãããããããç°ãªãæ¹æ³ã§æä½ãéç¥ãã¾ãããããã¯æ¬¡ã®ããã«åºå¥ããã¾ãã
Window.open()
ãå¼ã³åºããã¦ããã²ã¼ã·ã§ã³ãçºçããå ´åãªã©ã§ããä¾ã«ã¤ãã¦ã¯ãããã²ã¼ã·ã§ã³ãã¼ã¹ã®å¸°å±ã½ã¼ã¹ãåç
§ãã¦ãã ãããã½ã¼ã¹ãç»é²ããã½ã¼ã¹ãã¼ã¿ãåå¾ãã¦æ ¼ç´ããããã«è£ã§ä½ãèµ·ãã£ã¦ãããã¯ãã©ã¡ãã®å ´åãåæ§ã§ãã
ã¦ã¼ã¶ã¼ã帰å±ã½ã¼ã¹ã«æä½ãè¡ãã¨ããã®æä½ã測å®ãããµã¼ãã¼ï¼é常ã¯åºå主ã®ãµã¼ãã¼ï¼ã¸ã®ãªã¯ã¨ã¹ãã« Attribution-Reporting-Eligible
ãããã¼ãéä¿¡ãããã¬ã¹ãã³ã¹ãã½ã¼ã¹ã®ç»é²å¯¾è±¡ã§ãããã¨ã示ãã¾ããä¾ãã°æ¬¡ã®ããã«ãªãã¾ãã
Attribution-Reporting-Eligible: navigation-source
ãµã¼ãã¼ã Attribution-Reporting-Eligible
ãããã¼ãå«ããªã¯ã¨ã¹ããåä¿¡ããã¨ãã½ã¼ã¹ç»é²ãå®äºããããã«ãã¬ã¹ãã³ã¹ã« Attribution-Reporting-Register-Source
ãããã¼ãå«ãããã¨ãã§ãã¾ãããã®å¤ã¯ãæä½ããã帰å±ã½ã¼ã¹ã«é¢ããæ
å ±ãããã©ã¦ã¶ã¼ãä¿åãã¹ã JSON æååã§ãããã®ãããã¼ã«å«ã¾ããæ
å ±ã«ãã£ã¦ããã©ã¦ã¶ã¼ãçæããã¬ãã¼ãã®ç¨®é¡ã決å®ããã¾ãã
次ã®ä¾ã§ã¯ãããªã¬ã¼ãã½ã¼ã¹ã¨ä¸è´ããã¨ãã¤ãã³ãã¬ãã«ã¬ãã¼ããçæããã¾ãã
res.set(
"Attribution-Reporting-Register-Source",
JSON.stringify({
source_event_id: "412444888111012",
destination: "https://advertiser.example",
trigger_data: [0, 1, 2, 3, 4],
trigger_data_matching: "exact",
expiry: "604800",
priority: "100",
debug_key: "122939999",
event_report_window: "86400",
}),
);
ãã®ã³ã³ããã¹ãã§å¿
é ã®ãã£ã¼ã«ã㯠destination
ã ãã§ãããã¯ããªã¬ã¼ã®çºçãäºæ³ããã 1ï½3 ã¤ã®ãµã¤ããæå®ãã¾ãããããã¯ãããªã¬ã¼ãä½ç¨ããã¨ãã«ã帰å±ããªã¬ã¼ãã½ã¼ã¹ã¨ç
§åããããã«ä½¿ç¨ããã¾ããä¸è¨ã§æå®ãããã®ä»ã®ãã£ã¼ã«ãã¯ã次ã®å½¹å²ãæããã¾ãã
"source_event_id"
: 帰å±ã½ã¼ã¹ã® ID ã表ãæååã帰å±ã½ã¼ã¹ã対話ãããã¨ãã«ããããä»ã®æ
å ±ã«å²ãå½ã¦ãããã¬ãã¼ãã¨ã³ããã¤ã³ãã§æ
å ±ãéç´ãããããããã«ä½¿ç¨ã§ãã¾ãï¼ã¨ã³ããã¤ã³ãã®æ
å ±ã«ã¤ãã¦ã¯ãã¬ãã¼ãã®çæ > åºæ¬çãªããã»ã¹ ãåç
§ãã¦ãã ããï¼ã"trigger_data"
: ãã®ã½ã¼ã¹ã¨ä¸è´ããå¯è½æ§ã®ãããã¾ãã¾ãªããªã¬ã¼ã¤ãã³ããè¨è¿°ããã32 ãããã®ç¬¦å·ãªãæ´æ°ã®é
åã§ããä¾ãã°ããã¦ã¼ã¶ã¼ãã·ã§ããã³ã°ã«ã¼ãã«ã¢ã¤ãã ã追å ãããããã¦ã¼ã¶ã¼ãã¡ã¼ãªã³ã°ãªã¹ãã«ç»é²ããããªã©ã¯ããã®ã½ã¼ã¹ã¨ä¸è´ããããªã¬ã¼ãµã¤ãã§çºçããæªç½®ã§ãããåºåä¸»ãæ¸¬å®ãããã¨ãã¦ããä½ããã®ã³ã³ãã¼ã¸ã§ã³ã示ãå¯è½æ§ãããã¾ãããããã¯ãã¤ãã³ãã¬ãã«ã®é¢é£ä»ããè¡ãããã«ãããªã¬ã¼ ã§æå®ãã "trigger_data"
ã¨ä¸è´ããå¿
è¦ãããã¾ãã
ã¡ã¢: ããããã®ã¤ãã³ãã表ãå¤ãããã³é åã®è¦ç´ æ°ã¯å®å ¨ã«ä»»æã§ãããéçºè ãå®ç¾©ãã¾ããé åã«ã¯ä½¿ç¨ãããªãå¤ãå«ãããã¨ãã§ãã¾ãããããªã¬ã¼ãç»é²ãããã¨ãã«ãã©ã¦ã¶ã¼ãã½ã¼ã¹ã«å±æ§ãä»ä¸ããã«ã¯ãé åã«å¤ãåå¨ãã¦ããå¿ è¦ãããã¾ãã
"trigger_data_matching"
: ããªã¬ã¼ã® "trigger_data"
ãã½ã¼ã¹ã® "trigger_data"
ã¨ç
§åããæ¹æ³ãæå®ããæååã "exact"
ã¯ãã»ã¼å¸¸ã«ä½¿ç¨ããå¤ã§ãæ£ç¢ºãªå¤ã¨ä¸è´ãã¾ãã"expiry"
: 帰å±ã½ã¼ã¹ã®æå¹æéãç§åä½ã§è¡¨ãæååããã®æç¹ãéããã¨ãã½ã¼ã¹ã¯ã¢ã¯ãã£ãã§ãªããªãï¼ã¤ã¾ãããã以éã®ããªã¬ã¼ã¯ããã®ã½ã¼ã¹ã«å¸°å±ããªããªãã¾ãï¼ã"priority"
: 帰å±ã½ã¼ã¹ã®åªå
度å¤ã表ãæååã詳細ã«ã¤ãã¦ã¯ãåªå
度ã¨å¶éã®å ±åãåç
§ãã¦ãã ããã"debug_key"
: ãããã°ãã¼ã表ãã10 鲿°ã§æ¸å¼åããã 64 ãããã®ç¬¦å·ãªãæ´æ°ãé¢é£ä»ãããã帰å±ã¬ãã¼ãã®æ¨ªã«ãããã°ã¬ãã¼ããçæããå ´åã¯ããããè¨å®ãã¾ãã"event_report_window"
: ã¤ãã³ãã¬ãã«ã¬ãã¼ãã®ä½æã®ããã«ããã®ã½ã¼ã¹ã«å±ããã¤ãã³ãã¨ãã¦èªèãããªãããã®æç¹ä»¥éã®ããªã¬ã¼ã®ç§æ°ã表ãæååããã®ãããã¼ã§å©ç¨ã§ãããã¹ã¦ã®ãã£ã¼ã«ãã®è©³ç´°ã«ã¤ãã¦ã¯ã Attribution-Reporting-Register-Source
ãåç
§ãã¦ãã ããã
ããªã¬ã¼ãã½ã¼ã¹ã¨ä¸è´ããå ´åã«ããã©ã¦ã¶ã¼ãæ¦è¦ã¬ãã¼ããçæããããã«ããã«ã¯ãã¤ãã³ãã¬ãã«ã¬ãã¼ãã®çæã«å¿ è¦ãªãã£ã¼ã«ãã«å ãã¦ãããã¤ãã®è¿½å ãã£ã¼ã«ããå«ããå¿ è¦ãããã¾ãã
res.set(
"Attribution-Reporting-Register-Source",
JSON.stringify({
source_event_id: "412444888111012",
destination: "https://advertiser.example",
trigger_data: [0, 1, 2, 3, 4],
trigger_data_matching: "exact",
expiry: "604800",
priority: "100",
debug_key: "122939999",
event_report_window: "86400",
aggregation_keys: {
campaignCounts: "0x159",
geoValue: "0x5",
},
aggregatable_report_window: "86400",
}),
);
ãã®ä¾ã§ã®è¿½å ãã£ã¼ã«ãã¯æ¬¡ã®ã¨ããã§ãã
"aggregation_keys"
: ã¦ã¼ã¶ã¼æå®ã®ãã¼ãå«ããªãã¸ã§ã¯ãã§ãã¬ãã¼ãã®å¤ãçµ±åãããã¾ãã¾ãªãã¼ã¿ãã¤ã³ãã表ãã¾ãã"aggregatable_report_window"
: æååã§ãããªã¬ã¼ãã¼ã¿ãçæãããéç´ã¬ãã¼ãã«å«ããããªããªãæç¹ãç§åä½ã§è¡¨ãã¾ããç¹°ãè¿ãã¾ããããã®ãããã¼ã§å©ç¨ã§ãããã¹ã¦ã®ãã£ã¼ã«ãã®è©³ç´°ã«ã¤ãã¦ã¯ã Attribution-Reporting-Register-Source
ãåç
§ãã¦ãã ããã
ã½ã¼ã¹ã®ç»é²ãæ£å¸¸ã«å®äºããã¨ããã©ã¦ã¶ã¼ã¯æå®ãããã½ã¼ã¹ãã¼ã¿ããã©ã¤ãã¼ããªãã¼ã«ã«ãã£ãã·ã¥ã«æ ¼ç´ãã¾ãã
ããã²ã¼ã·ã§ã³ã½ã¼ã¹ã¯ããªã³ã¯ã¨ã®æä½ã測å®ããã®ã«æçã§ããä¾ãã°ãã¦ã¼ã¶ã¼ã¯ãµã¤ãéå¶è ã®ãã¼ã¸ã§åºåãè¦ã¦ããããã¯ãªãã¯ãã¦åºå主ã®ãã¼ã¸ã«ç§»åããããã§ã³ã³ãã¼ã¸ã§ã³ãçºçãããã¨ãæå¾ ããã¾ãã
ç»é²ã§ããããã²ã¼ã·ã§ã³ãã¼ã¹ã®å¸°å±ã½ã¼ã¹ã«ã¯ãHTML ãã¼ã¹ã®ãã®ï¼attributionsrc
屿§ã使ç¨ï¼ã¨ã Window.open()
å¼ã³åºããã¼ã¹ã®ãã®ï¼attributionsrc
ã¦ã£ã³ãã¦æ©è½ã使ç¨ï¼ã®ã2 種é¡ããã¾ãã
ããã²ã¼ã·ã§ã³ãã¼ã¹ã®å¸°å±ã½ã¼ã¹ãç»é²ããã«ã¯ã attributionsrc
屿§ãé©å㪠<a>
è¦ç´ ã«è¿½å ãã¾ãããã®å±æ§ã¯ãç»é²ãªã¯ã¨ã¹ãã®éä¿¡å
ãæå®ãã¾ãã
屿§å¤ã空ç½ã®ã¾ã¾ã«ããã¨ããªã³ã¯å ã®å ´æã«ç»é²ãªã¯ã¨ã¹ããéä¿¡ããã¾ããå¤å ã« 1 ã¤ä»¥ä¸ã®è¿½å ã® URL ãæå®ãã¦ãç»é²ãªã¯ã¨ã¹ããéä¿¡ãããã¨ãå¯è½ã§ãã詳細ã«ã¤ãã¦ã¯ã attributionsrc å ã§ã® URL ã®æå®ãåç §ãã¦ãã ããã
attributionsrc
ã¯å®£è¨çã«è¿½å ãããã¨ãã§ãã¾ãã
<a href="https://shop.example" attributionsrc target="_blank">
ã¯ãªãã¯ããã¨åºèã¸ç§»å
</a>
ã¾ã㯠HTMLAnchorElement.attributionSrc
ããããã£ã使ç¨ãã¦ã
const aElem = document.querySelector("a");
aElem.attributionSrc = "";
ãã®å ´åãæä½ãçºçããã¦ã¼ã¶ã¼ããªã³ã¯ãã¯ãªãã¯ãã¦ãã©ã¦ã¶ã¼ãã¬ã¹ãã³ã¹ãåä¿¡ããã¨ãããã²ã¼ã·ã§ã³ãã¼ã¹ã®å¸°å±ã½ã¼ã¹ï¼Attribution-Reporting-Register-Source
ã¬ã¹ãã³ã¹ãããã¼ã§æå®ããããã®ï¼ã«é¢é£ä»ããããã½ã¼ã¹ãã¼ã¿ããã©ã¦ã¶ã¼ã«ä¿åããã¾ãã
attributionsrc
ç¹æ§ãã¼ã¯ã¼ãããWindow.open()
å¼ã³åºãã® features ããããã£ã«è¿½å ãããã¨ãã§ãã¾ãããã®ä¾ã§ã¯ãclick
ã¤ãã³ãã®çºçã«å¿ãã¦ãããå®è¡ãã¾ãã
elem.addEventListener("click", () => {
window.open("https://shop.example", "_blank", "attributionsrc");
});
ãã®å ´åãWindow.open()
ãå¼ã³åºãããã¨æä½ãè¡ããããã©ã¦ã¶ã¼ã¯ã½ã¼ã¹ãã¼ã¿ãæ ¼ç´ããã¬ã¹ãã³ã¹ãåä¿¡ãã¾ãã
ã¡ã¢: ä¸è¨ã®ä¾ã®ããã« click
ã¤ãã³ããè¨å®ããå ´åã¯ã<button>
ã <a>
è¦ç´ ãªã©ãã¯ãªãã¯ãäºæ³ãããã³ã³ããã¼ã«ã«è¨å®ãããã¨ããå§ããã¾ããããã«ãããæå³ã¥ããããæç¢ºã«ãªããã¹ã¯ãªã¼ã³ãªã¼ãã¼ããã¼ãã¼ãã®ã¦ã¼ã¶ã¼ãã¢ã¯ã»ã¹ãããããªãã¾ãã
ã¡ã¢: open()
ã«ãã£ã¦å¸°å±ã½ã¼ã¹ãç»é²ããã«ã¯ã䏿çãªæå¹åï¼ã¤ã¾ããclick
ãªã©ã®ã¦ã¼ã¶ã¼æä½ã¤ãã³ããã³ãã©ã¼å
ï¼ã§ã¦ã¼ã¶ã¼æä½ãã 5 ç§ä»¥å
ã«å¼ã³åºãå¿
è¦ãããã¾ãã
ã¤ãã³ããã¼ã¹ã®å¸°å±ã½ã¼ã¹ã¯ãä½ããã®ã¤ãã³ãã®çºçã«å¿ãã¦ããã©ã¦ã¶ã¼ã«ã½ã¼ã¹ãã¼ã¿ãä¿åããã¾ãããã¨ãã°ã<img>
ã¾ã㯠<script>
è¦ç´ ã®å ´åï¼ãããã¯ãä¸è¨ã® <a>
è¦ç´ ã¨åæ§ã« attributionsrc
屿§ã使ç¨ãã¾ãï¼ãã¾ã㯠JavaScript ã§è¨å®ããç¬èªã®ã¤ãã³ããªã©ã§ãã
HTML ãã¼ã¹ã®ã¤ãã³ãã½ã¼ã¹ã¯ããã¼ã¸éå¶è
ã®ãã¼ã¸ãæåã«èªã¿è¾¼ã¾ããã¨ããããæ£ç¢ºã«ã¯ <img>
ã¾ã㯠<script>
ãèªã¿è¾¼ã¾ããã¨ãã«ããã®ãã¼ã¸ã¨ã®æä½ã測å®ããããã«ä½¿ç¨ã§ãã¾ããHTML ã使ç¨ãã¦ã¤ãã³ããã¼ã¹ã®å¸°å±ã½ã¼ã¹ãç»é²ããã«ã¯ã attributionsrc
屿§ãé©åãªè¦ç´ ï¼<img>
ã¾ã㯠<script>
ï¼ã«è¿½å ãã¾ãã
屿§å¤ã空ç½ã®ã¾ã¾ã«ããã¨ããªã¯ã¨ã¹ãããããªã½ã¼ã¹ããã¹ãããã¦ãããµã¼ãã¼ã«ç»é²ãªã¯ã¨ã¹ããéä¿¡ããã¾ããå¤å ã« 1 ã¤ä»¥ä¸ã®è¿½å ã® URL ãæå®ãã¦ãç»é²ãªã¯ã¨ã¹ããéä¿¡ãããã¨ãå¯è½ã§ãã詳細ã«ã¤ãã¦ã¯ã atttributionsrc å ã® URL ã®æå®ãåç §ãã¦ãã ããã
<img>
è¦ç´ ã®ä¾ãè¦ã¦ã¿ã¾ãããã
<img src="advertising-image.png" attributionsrc />
HTMLImageElement.attributionSrc
ããããã£ã使ç¨ãã¦ãããã¨åãçµæãå¾ããã¨ãã§ãã¾ãã
const imgElem = document.querySelector("img");
imgElem.attributionSrc = "";
ãã©ã¦ã¶ã¼ã¯ãç»åãã¡ã¤ã«ãå«ãã¬ã¹ãã³ã¹ãåä¿¡ããã¨ãï¼ã¤ã¾ããload
ã¤ãã³ããçºçããã¨ãï¼ã帰å±ã½ã¼ã¹ãã¼ã¿ãä¿åãã¾ããã¦ã¼ã¶ã¼ã¯å¿
ããããã®ç»åãã¾ã£ããèªèã§ããªãå ´åããããã¨ã«çæãã¦ãã ããããã®ç»åã¯ã帰å±å ±åã®ããã«ã®ã¿ä½¿ç¨ããã 1x1 ã®éæãªãã©ããã³ã°ãã¯ã»ã«ã§ããå ´åãããã¾ãã
<script>
ã®ä¾ã¯ã次ã®ããã«è¦ã¦ãããã¨ãã§ãã¾ãã
<script src="advertising-script.js" attributionsrc></script>
ã¾ã㯠HTMLScriptElement.attributionSrc
ããããã£ã使ç¨ãã¦ã
const scriptElem = document.querySelector("script");
scriptElem.attributionSrc = "";
ãã®å ´åããã©ã¦ã¶ã¼ã¯ã¹ã¯ãªãããå«ãã¬ã¹ãã³ã¹ãåä¿¡ããã¨ãæä½ãè¡ãããã½ã¼ã¹ãã¼ã¿ããã©ã¦ã¶ã¼ã«æ ¼ç´ããã¾ãã
JavaScript ãã¼ã¹ã®ã¤ãã³ãã½ã¼ã¹ã¹ã¯ãªãããã¼ã¹ã®å¸°å±ã½ã¼ã¹ã¯ãHTML ãã¼ã¹ã®å¸°å±ã½ã¼ã¹ãããæ±ç¨æ§ãããã¾ããã¢ããªã«é©ãããªã¯ã¨ã¹ãã«åºã¥ãã¦ã帰å±ã½ã¼ã¹ã®ç»é²å¯¾è±¡ã¨ãªããªã¯ã¨ã¹ããéå§ããã¹ã¯ãªãããè¨å®ãããã¨ãã§ãã¾ããããã¯æè»ãªææ³ã§ãããä¾ãã°ãã«ã¹ã¿ã è¦ç´ ã®ã¯ãªãã¯ããã©ã¼ã ã®éä¿¡ãªã©ãç¬èªã®æä½ã«å¿ãã¦ã½ã¼ã¹ãã¼ã¿ãä¿åãããå ´åã«å½¹ç«ã¡ã¾ãã
ã¹ã¯ãªãããã¼ã¹ã®å¸°å±ã½ã¼ã¹ãè¨å®ããã«ã¯ã次ã®ãããããå®è¡ãã¾ãã
fetch()
ãªã¯ã¨ã¹ãã attributionReporting
ãªãã·ã§ã³ãã¤ãã¦éä¿¡ãã¾ãã
const attributionReporting = {
eventSourceEligible: true,
triggerEligible: false,
};
// ãªãã·ã§ã³ã§ keepalive ãè¨å®ãã¦ããªã¯ã¨ã¹ãããã¼ã¸ãããé·ãåç¶ããããã«ãã¾ãã
function triggerSourceInteraction() {
fetch("https://shop.example/endpoint", {
keepalive: true,
attributionReporting,
});
}
// æä½ã®ããªã¬ã¼ããã³ã¼ãã«ã¨ã£ã¦æå³ã®ããã¤ãã³ã
// ï¼DOM ã¤ãã³ããã¦ã¼ã¶ã¼æä½ã§ããå¿
è¦ã¯ããã¾ããï¼ã«
// é¢é£ä»ãã¾ãã
elem.addEventListener("click", triggerSourceInteraction);
ãªã¯ã¨ã¹ããªãã¸ã§ã¯ãã§ XMLHttpRequest
ãå¼ã³åºãã setAttributionReporting()
ããªã¯ã¨ã¹ããªãã¸ã§ã¯ãã«å¯¾å¿ãããªãã¸ã§ã¯ãã«éä¿¡ãã¾ãã
const attributionReporting = {
eventSourceEligible: true,
triggerEligible: false,
};
function triggerSourceInteraction() {
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", triggerSourceInteraction);
ãã®å ´åãæä½ãçºçãããã©ã¦ã¶ã¼ã¯ãã§ãããªã¯ã¨ã¹ãããã®ã¬ã¹ãã³ã¹ãåä¿¡ããã¨ãã½ã¼ã¹ãã¼ã¿ãä¿åãã¾ãã
ã¡ã¢: ãªã¯ã¨ã¹ãã¯ããããããªã½ã¼ã¹ã«å¯¾ãã¦è¡ããã¨ãã§ãã¾ãã帰å±ã¬ãã¼ã API ã¨ç´æ¥é¢ä¿ã®ãããªã¯ã¨ã¹ãã§ããå¿ è¦ã¯ãªããJSONããã¬ã¼ã³ããã¹ããç»åã® blobããã®ä»ã¢ããªã«ã¨ã£ã¦æå³ã®ãããªã¯ã¨ã¹ãã§ããã°ä½ã§ããã¾ãã¾ããã
attributionsrc å ã§ã® URL ã®æå®ããã¾ã§ã®ä¾ã§ã¯ã attributionsrc
屿§/ç¹æ§ã¾ã㯠attributionSrc
ããããã£ã¯ç©ºç½ã®ã¾ã¾ã空æååã®å¤ãåã£ã¦ãã¾ããããªã¯ã¨ã¹ãããããªã½ã¼ã¹ãä¿æãããµã¼ãã¼ããç»é²ã®å¦çï¼ã¤ã¾ãã Attribution-Reporting-Eligible
ãããã¼ãåä¿¡ãã Attribution-Reporting-Register-Source
ãããã¼ã§å¿çããï¼ãè¡ããµã¼ãã¼ã§ããå ´åã¯ãããã§åé¡ããã¾ããã
ãã ãããªã¯ã¨ã¹ãããããªã½ã¼ã¹ããèªåã§å¶å¾¡ãããµã¼ãã¼ä¸ã«ãªãå ´åãã帰å±ã½ã¼ã¹ã®ç»é²ãå¥ã®ãµã¼ãã¼ã§å¦çãããå ´åãªã©ãããã§ãããããã®ãããªå ´åãattributionsrc
ã®å¤ã¨ã㦠1 ã¤ä»¥ä¸ã® URL ãæå®ãããã¨ãã§ãã¾ãããªã½ã¼ã¹ã®ãªã¯ã¨ã¹ããçºçããã¨ããªã½ã¼ã¹ã®ãªãªã¸ã³ã«å ãã¦ã Attribution-Reporting-Eligible
ãããã¼ã attributionsrc
ã§æå®ãã URL ã«éä¿¡ããã¾ãããããã® URL ã¯ãAttribution-Reporting-Register-Source
ã§å¿çãã¦ãã½ã¼ã¹ãç»é²ãããã¨ãã§ãã¾ãã
ä¾ãã°ã<a>
è¦ç´ ã®å ´åãattributionsrc
屿§ã§ URL ã宣è¨ãããã¨ãã§ãã¾ãã
<a
href="https://shop.example"
attributionsrc="https://a.example/register-source">
ã¯ãªãã¯ããã¨åºèã«è¡ãã¾ã
</a>
ã¾ãã¯ãJavaScript ã§ attributionSrc
ããããã£ã使ç¨ãã¦æå®ãã¾ãã
// ä¸é©åãªæ§æè§£æã®åå ã¨ãªã '=' ãªã©ã®ç¹æ®æåãå«ã¾ãã¦ãã
// URL ãã¨ã³ã³ã¼ããã¾ãã
const encodedUrlA = encodeURIComponent("https://a.example/register-source");
const encodedUrlB = encodeURIComponent("https://b.example/register-source");
const aElem = document.querySelector("a");
aElem.attributionSrc = `${encodedUrlA} ${encodedUrlB}`;
Window.open()
ãå¼ã³åºãå ´åãç°ãªã URL ããã«ã³ãã¾ãã¯ç©ºç½ã§åºåãããè¤æ°ã®å¥åã® attributionsrc
ç¹æ§ã¨ãã¦ã windowFeatures
弿°å
ã«æ²è¼ããã¦ããå¿
è¦ãããã¾ãã
// ä¸é©åãªæ§æè§£æã®åå ã¨ãªã '=' ãªã©ã®ç¹æ®æåãå«ã¾ãã¦ãã
// URL ãã¨ã³ã³ã¼ããã¾ãã
const encodedUrlA = encodeURIComponent("https://a.example/register-source");
const encodedUrlB = encodeURIComponent("https://b.example/register-source");
elem.addEventListener("click", () => {
window.open(
"https://ourshop.example",
"_blank",
`attributionsrc=${encodedUrlA},attributionsrc=${encodedUrlB}`,
);
});
ã¡ã¢: è¤æ°ã® URL ãæå®ããã¨ãåãæ©è½ã«è¤æ°ã®å¸°å±ã½ã¼ã¹ãç»é²ã§ããã¨ãããã¨ã§ããä¾ãã°ãæåãæ¸¬å®ãããã¨ãã¦ãããã£ã³ãã¼ã³ãè¤æ°ãããããããç°ãªããã¼ã¿ã«åºã¥ãã¦ç°ãªãã¬ãã¼ããçæããå ´åãªã©ã§ãã
é¢é£æ å ±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