聯盟行銷 API 串接 – 以聯盟網為例

by Ben

前言

近年來聯盟行銷以相當快的速度火紅起來
雖然相較於歐美,台灣算是發展相當慢的了
但遲到總比沒到好
就讓我們來了解一下聯盟行銷是什麼
以及該如何串接聯盟行銷的 API 吧!

什麼是聯盟行銷

簡單來說
就是當廠商想要推廣商品時
為了讓擴散效果擴大
於是廠商找了很多推廣者來,讓這些推廣者來幫忙賣商品
如果推廣者成功賣出商品了話,就會分到一定比例的分潤
進而達到雙贏的效果

因為對廠商來說,他成功賣出了產品
對推廣者來說,他成功取得了分潤
file

在台灣
比較常見的機制是
廠商們和推廣者會透過中間平台 (比如說聯盟網/通路王) 媒合
這種作法的好處有二

  1. 廠商不用大肆宣傳即可接觸到很多推廣者
  2. 廠商不須一次接觸大量推廣者,而是與單一窗口對接即可
    (對推廣者亦然)

其關係可以以下圖表現之

無第三方平台

file

有第三方平台

file

從以上兩張圖可以看出來第三方平台扮演的角色相當重要
大大降低了要進入聯盟行銷的門檻

接下來我們就要來看看如何串接第三方平台
以下將以聯盟網為例
使用 S2S (Server to Server) 的方式做串接
並用 CPS(Cost per Sale) 商品導購或完成交易當作計費的基礎

串接流程概述

step 1

使用 JS 識別網址內是否保持聯盟行銷字串
若有,則 ajax 呼叫後端 API

step 2

將聯盟連結內容存入 cookie

step 3

結帳時確認 cookie 是否有聯盟連結內容

step 4

呼叫聯盟網 API 以分潤

串接程式碼

step 1

使用 JS 識別網址內是否保持聯盟行銷字串
假設今天有一個 end-user 透過 https://mydomain.com?affiliate_src=testABC 進入我們的網站
這個 ?affiliate_src=testABC 就是我們要辨別出來的特定聯盟行銷字串

let req = app.parseUrl('/'+ location.search);

// 若有 affiliate_src 則呼叫後端 api
if (!(typeof(req.affiliate_src) == “undefined”)){
    $.ajax({
        type: 'POST',
        url: '/api-end-point',
        data: req,
        dataType: 'json',
        async: false,
    }).done(function(output) {
                callback(output);
            })
}

step 2

在 php 端將聯盟連結內容存入 cookie
供日後客戶結帳的時候參考

// 假設前端傳進來的變數是 $req
if (!empty($req['affiliate_src'])) {
    setcookie("affiliate_src", $$req['affiliate_src'], time()+3600); // cookie 過期的時間可自訂
}

step 3

結帳時確認 cookie 是否有聯盟連結內容
如果有的話,就在成立訂單時同時加註該筆訂單有參與聯盟行銷

if (isset($_COOKIE['affiliate_src'])) {
    $affiliate_src = $_COOKIE['affiliate_src'];

    // 存到訂單內
    insertOrder($order, $affilate_src);
}

step 4

呼叫聯盟網 API 以分潤
根據聯盟網文件
其 API end point 是 https://vbtrax.com/track/postback/conversions/8/global?order=[訂單編號]& order_total=[購買總金額]&revenue=[佣金金額]&server_subid=[id2]&step=sale

上面中文的部份就是要我們自己算後傳給聯盟網的部份
所以

// assign api uri,注意 $subid 是聯盟網提供的,我們需要將這個值回傳
$affiliate_api_uri = 'https://vbtrax.com/track/postback/conversions/8/global?order=' . $yourOrder . '&revenue=' . $yourrevenue . '&server_subid=' . $subid . '&step=sale';

// 建立連線
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_URL, $affiliate_api_uri);
$affiliate_api_rtn = curl_exec($c);
curl_close($c);

參考資料

You may also like

Leave a Comment