AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
⚡️AdsPower:安全不封号,高效自动化Google FB TK游戏代投⚡️E.PN 虚拟卡⚡️BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款
全球虚拟卡, 支持U充值Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)
FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)IPCola原生住宅IP⚡️$1.8/条双ISPFB资源,账单户,分享户,国内一手
TK加白户/二解户/FB海外户/GG老户海外CL企业户源头最大欧洲Nutra网盟BA找量 FB高权重耐操个号⚡️稳定过审
GG,FB,TK, 欧美源头, 欢迎合作❤️FB企业户海外户,授信户,TK加白户联盟收款/海外资金下发/服贸结汇域名防红⚠斗篷工具/可试用3天
广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构 
查看: 19350|回复: 7

[分享] 简单垃圾流量利用及爬虫过滤、JS支持校验方案

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
Binom_AdvertCN
本帖最后由 yang。 于 2021-7-15 23:15 编辑 3 i0 W2 B0 x/ p, P( K4 }

( I) |" W4 r2 ]  ~+ j: Z在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。( r5 F, N! u1 J' `# T- q
但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。+ _- L  P7 V. M4 Q7 E
+ ?+ y9 b3 J1 H+ v( d7 _
另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。7 y$ n7 t" C) |- S

+ S' f* B" k$ m% h" v具体做法是:
" k+ `* C5 q: T
5 F  f1 o0 o  t& N7 c1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。
6 ^# A* i* p" |: E假设前置页面的访问路径为 http://www.xxx.com/
7 ]2 D3 L, L7 I! a, T* ^2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  
5 ^( g4 {  t0 k3 E  p- a8 khttp://www.xxx.com/iphone/02/index.html
2 G  U0 D" h9 @- |5 d* Q那么我们在追踪器中设置的LP访问路径为
+ F) ^. X# g+ ahttp://www.xxx.com/?offerUrl=iphone&landUrl=01
, {- R+ \+ u! `* q3 V3 i. Phttp://www.xxx.com/?offerUrl=iphone&landUrl=02
7 C2 o* ]" v- c' A8 u这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理
$ ]- T9 f/ j7 q6 I% f4 f! W6 H) b" F! m! ^. f3 C" \9 I6 J
这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。" {/ T6 q3 N8 \. d

. P: T) W* U4 g$ A( n
/ b4 S7 r* S. M% C3 t2.前置页面内容如下4 s  M- B: S4 S5 Y9 ^
  1. <!DOCTYPE html>$ N9 r" ]$ i+ i$ F+ S( S
  2. <html lang="en">
    * t8 l9 o5 s/ D8 k5 k& I
  3. <head>
    : w( E/ g8 B) K
  4.     <meta charset="UTF-8">
    9 Z& l& c$ t! ^! w( S
  5.     <title>Loading</title>
    ; g+ e: U3 A" o6 R- r
  6. </head>
    ; u8 C7 e, {1 I. Z2 z. @5 X( A- z
  7. <body>
    5 e- k3 l' X! T  ]* y6 k
  8. Loading...8 P' a+ [3 }6 w5 {5 i( |  P0 k) b% |
  9. </body>4 f9 a" i% z3 N. I$ Z* i0 i
  10. 5 f; s2 D+ j# D* Y* W( Y0 q. T
  11. <script>6 G- M$ p$ ^4 ]* X5 P0 O$ _- @% R
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成
      Z3 j5 k# A- {/ q; k5 p
  13.     //iphone% v  \* y0 R  T0 t/ L
  14.         //01                     http://xxx/iphone/01/index.html
    5 S2 l& K0 l, W* T! L. }
  15.         //02                     http://xxx/iphone/02/index.html; b; K, r- X! E& C
  16.         //以此类推" z' Y- k$ ^1 p
  17.    
    $ e! K/ ^" h; W3 S" f6 `7 q
  18.    
    * H1 O. A1 ~# [! P8 \  W
  19.     2 l3 U) r( P0 A; ]+ `3 N$ V$ E" R
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html
    0 `8 b5 z0 f" s" b7 }* q
  21.     //那么我们的offerUrl = iphone,landUrl = 01! D, G1 U6 T2 v5 I
  22.     $ _1 \# F( U3 B
  23.     //从url参数中获取设置好的访问参数
    : P# c. _8 `  @4 i/ o2 S
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    ; |( D3 W1 i+ |( N1 i
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");! v4 {  a+ i0 z" \1 F9 N
  26.     + v# ]1 e  \; P& a8 m
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径
    % [; A* I. x5 U2 j- \
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);
    2 z9 v2 R) F8 C$ Y' v% A
  29.     if(b){
    3 q. W& W; e% J" m) ~
  30.         setTimeout(function() {1 m! L# l2 K$ t0 G% p1 C$ }, b/ N; c. F
  31.             var params = funcUrlDel(['offerUrl','landUrl']);- p- O6 S. a1 h. l5 G# s; A
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤1 u1 R1 p" q$ G# F. q
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);
    3 j8 `! Q' u; e4 l4 D1 \7 {- G" z
  34.         }, 300);
    . A% e) y, d# z" V
  35.     }else{
复制代码
7 C  d; z% X2 Y. }7 I$ r1 a. I8 B7 t
- L! Q# D2 N9 X0 N5 ~2 v
4 d' x0 U/ j9 O8 J/ @$ |% m
只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。. G5 c3 f7 \/ P4 b8 E7 Y1 z

1 ^- d# H  i, C8 A, F) L, k1 `, J/ g$ s( c
* U) S1 p" X& q- m, _" [

6 _3 |2 e: O( u5 P; Z' D/ F
: b7 _3 M/ Y0 M! v" B$ K3 Q( ?* c0 x; }, O4 G
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-15 23:28:50 | 显示全部楼层
当然,引申一点,如果你的LP做的足够通用,比如你做的一个专门为各种手机抽奖的LP,每种不同的手机都有一组相同名称的图片,你完全可以通过传入参数去加载不同的手机图片、或者语言等等,通过一个LP,不同的参数组合实现N多个offer的复用和测试
回复 支持 反对

使用道具 举报

1663

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
27776

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的7 A1 P) G8 J+ D4 Z

) P+ G( g3 {5 h+ r但是对于tracking来说,多一层跳转,一般会多一层流量损失

点评

经过测试,直接用load的方式,用户基本无感,应该会比直接跳转的方式要好很多,相当于通过ajax隐藏了中间跳转的细节  详情 回复 发表于 2021-7-16 10:28
请教下河马大大 如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div  详情 回复 发表于 2021-7-16 09:47
学会提问的艺术, 从小处入手, 忌大而空
AdvertCN电报群

我最喜欢用的工具
7200W全球动态不重复住宅IP代理
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 09:47:46 | 显示全部楼层
河小马 发表于 2021-7-16 07:55% }/ [: k& _6 x9 g" |
想法是好的8 v% H! k# H% S- A

- J' D8 K4 ^+ j3 l但是对于tracking来说,多一层跳转,一般会多一层流量损失
/ b# b! w. `1 o$ v
请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55- H+ B3 [1 w( [, r2 W9 U
想法是好的
# v; e7 `- b8 [! Y
: w1 @- }7 a# Q# |* P( ~. K1 y但是对于tracking来说,多一层跳转,一般会多一层流量损失

  b6 w, A) R9 E0 k3 C) T6 @经过测试,直接用load的方式,用户基本无感,应该会比直接跳转的方式要好很多,相当于通过ajax隐藏了中间跳转的细节
回复 支持 反对

使用道具 举报

3

主题

13

广告币

22

积分

初级会员

Rank: 2

积分
22
发表于 2021-7-16 22:06:24 | 显示全部楼层
额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核。。。小白一枚 不是杠 真心求教

点评

1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。 2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。 3.这个在自己服务器内部流转,应该不会被判定。  详情 回复 发表于 2021-7-17 10:52
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-17 10:52:29 | 显示全部楼层
卡拉赞 发表于 2021-7-16 22:06. N  u; N) P( O# @( G6 j" c
额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...
! p: Z8 G$ @2 [4 u9 w$ @! I
1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。: i; l% N0 `7 \# r' c! x: U
2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。' g* y% j% P3 G1 ~$ W2 O9 r
3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>) d# D9 O7 \5 e4 R; @. K% o8 X5 m

0 {8 F% p; I- h4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

848

广告币

1004

积分

中级会员

Rank: 3Rank: 3

积分
1004
发表于 2021-7-17 12:17:23 | 显示全部楼层
技术大佬,人才
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们|联系我们|DMCA|广告服务|小黑屋|手机版|Archiver|Github|网站地图|AdvertCN

GMT+8, 2026-6-27 09:09 , Processed in 0.051853 second(s), 15 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

快速回复 返回顶部 返回列表