PRESCOで取得できたCVデータをSquad beyondのレポートに反映させることができます。
手順
1. PRESCOの担当者様に【Squad beyondでCVをポストバックしたい】旨を伝え、アフィリリンクを発行してもらいます。
2. Squad beyondでの設定
以下のどちらかの方法で設定を行います。
① アフィリリンクをCTAボタンに設置する場合
適用ケース:
広告バナー → 記事LP(Squad beyond) → 商品LP → カート → THX
設定手順:
1. CTAボタンにアフィリリンクを設置2. 計測機能付きリンクに変更(リンク末尾に
sb_tracking=true
を付与)-
- 例:
https://ad.presco.asia/6f0d4d84dec27e8e/cl/?bId=83767c03&bannerNum=&sb_tracking=true
- 例:
<script>
class sbParams {
constructor(selector = 'a[href^=http') {
const linklist = document.body.querySelectorAll(selector);
this.toLinkTargets = Array.prototype.slice.call(linklist, 0);
this.reset();
}
reset() {
this.url = new URL(location.href);
this.params = new URLSearchParams(this.url.search);
this.vid = null;
if (window.sb_visitor_id) {
this.vid = window.sb_visitor_id;
} else if (document.querySelector('.js-v-id') && document.querySelector('.js-v-id').dataset.value) {
this.vid = document.querySelector('.js-v-id').dataset.value;
} else if (this.getCookie('_sb_tu')) {
this.vid = this.getCookie('_sb_tu');
}
this.aid = null;
if (window.articleUid) {
this.aid = window.articleUid;
} else if (document.querySelector('.js-a-id') && document.querySelector('.js-a-id').dataset.value) {
this.aid = document.querySelector('.js-a-id').dataset.value;
}
}
getCookie(name) {
const match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'));
if (match) return match[2];
}
assignParams(base, extend) {
const baseParams = [...base.entries()]
.reduce((obj, e) => ({ ...obj, [e[0]]: e[1] }), {});
const extendParams = [...extend.entries()]
.reduce((obj, e) => ({ ...obj, [e[0]]: e[1] }), {});
const joinParams = Object.assign({}, extendParams, baseParams);
return new URLSearchParams('?' + Object.entries(joinParams).map((e) => `${e[0]}=${e[1]}`).join('&'));
}
replaceLocationParams(href) {
let url = "";
const params = href.search;
const hash = this.url.hash;
url += params.toString() || this.url.pathname;
if (hash) url += hash;
if (url) window.history.replaceState(null, null, url);
return url;
}
parameterToLink(fn = ((href) => { return href })) {
this.toLinkTargets.forEach((element) => {
if (element.href.includes('tel:')) return
const href = fn(new URL(element.href));
element.href = href.toString();
});
}
addParameter(href, list) {
list = new URLSearchParams(list);
href.search = this.assignParams(list, href.searchParams).toString();
return href;
}
addParameterToLocation(list) {
this.replaceLocationParams(this.addParameter(this.url, list));
}
addParameterToLink(list) {
this.parameterToLink((href) => this.addParameter(href, list));
}
}
window.addEventListener('load', ()=>{
const SB = new sbParams();
SB.addParameterToLocation({
'param1': SB.vid
});
SB.addParameterToLink({
'param1': SB.vid
});
});
</script>
② リダイレクトページとして利用する場合
適用ケース:
広告バナー → リダイレクトページ(Squad beyond) → 商品LP → カート → THX
設定手順:
1. 「タグ設定 > JavaScript Head」 に 下記コードを設置
<script type="text/javascript">
var sbExtendId = sbExtendId || {}; (function (_)
{const url =
'ooooo'
;
const extend = new URLSearchParams({
'squadbeyond_uid':'.js-v-id', 'sb_article_uid':'.js-a-id',
/*引き継ぎたいパラメータがない場合は、下記は削除してください*/
'param1'
:'.js-v-id'
});
_.setURL = function () {
let href = new URL(url);
let params = href.searchParams;
const current = new URLSearchParams(location.search);
;[...current.entries()].forEach((param, i) => {
params.set(param[0], param[1]);
});
;[...extend.entries()].forEach((param, i) => {
let target = document.querySelector(param[1]);
if(target) params.set(param[0], target.dataset.value);
});
setTimeout( () => location.href= href, 1000*2);
}
})(sbExtendId);
document.addEventListener('DOMContentLoaded', sbExtendId.setURL, false);
</script>
2. 4行目の「ooooo」をアフィリリンク置換する
-
- 例:
https://ad.presco.asia/6f0d4d84dec27e8e/cl/?bId=83767c03&bannerNum=
- 例:
3. 設定完了後、CVテストを行ってください。
CVが反映されない、もしくは他にご不明点がございましたら、フリーチャットからご連絡ください。