百度搜索推廣以及信息流推廣為監測數據轉化情況,會使用到線索api聯調,其共有119種轉化方式,轉化編號以1-119數字編號命名,具體規則可參照百度轉化追蹤轉化編碼類型明細。本文以TP5框架為例說明如何進行聯調。
TP5核心代碼:
<?php namespace app\index\controller; use think\Db; use think\Session; class Index extends Common { const BAIDU_OCPC_URL = 'https://ocpc.baidu.com/ocpcapi/api/uploadConvertData'; const RETRY_TIMES = 3; /** * @param $token * @param $conversionTypes * @return bool 發送成功返回true,失敗返回false */ public function sendConvertData($token, $conversionTypes) { $reqData = array('token' => $token, 'conversionTypes' => $conversionTypes); $reqData = json_encode($reqData); // 發送完整的請求數據 // 向百度發送數據 $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, self::BAIDU_OCPC_URL); curl_setopt($ch, CURLOPT_POSTFIELDS, $reqData); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json; charset=utf-8', 'Content-Length: ' . strlen($reqData) ) ); // 添加重試,重試次數為3 for ($i = 0; $i < self::RETRY_TIMES; $i++) { $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($httpCode === 200) { // print_r('retry times: ' . $i . ' res: ' . $response . "\n"); $res = json_decode($response, true); // status為4,代表服務端異常,可添加重試 $status = $res['header']['status']; if ($status !== 4) { curl_close($ch); return $status === 0; } } } curl_close($ch); return false; } public function index() { $bd_vid=input('bd_vid'); Session::set('bd_vid',$bd_vid); //將bd_vid值以SESSION形式儲存,方便在頁面上進行事件觸發時不再需要從頁面往回傳值。 //以下是自己的業務邏輯 $search['b.look']=['=','1']; $infolist=db('form_travel')->alias("a") ->join('formcon b', 'a.conid = b.vid') ->where($search) ->order('conid desc')->limit(5) ->select(); $this->assign([ 'infolist' => $infolist, ]); Db::table('lecms_block')->where('id', 50)->setInc('content'); $num= db('form_travel')->count(); //獲取評論總數 $this->assign('num',$num); return $this->fetch($this->tpl_file.'index_index.html'); } //頁面上的點擊事件,點擊后調用聯調 public function copylink(){ //從session獲取回bd_vid值傳給落地頁 $newbd_vid=Session::get('bd_vid'); //echo($newbd_vid); $token = '你的百度token'; // 編輯一條轉化數據 $cv = array( 'logidUrl' => "http://www.617p.com/?bd_vid=$newbd_vid", // 您的落地頁url 'convertType' => 35 // 轉化類型請按實際情況填寫 35是代表復制微信事件 ); // 此處僅為demo, conversionTypes支持添加更多數據 $conversionTypes = array($cv); $this->sendConvertData($token, $conversionTypes); //$info = ['code'=>1,'status'=>'success','msg'=>'聯調成功!']; //return json($info); } }
測試成功后的聯調狀態會變更為聯調成功,此時即可正常投放廣告。
*聲明:本站發布的內容以原創、轉載、分享網絡內容為主,文章觀點不代表本站立場,如有侵權,請聯系管理員,將及時刪除,郵箱:6@60000.net,QQ:4230997
上一篇:沒有了