AdvertCN - 广告中国

 找回密码
 立即注册

QQ登录

只需一步,快速开始

PropellerAds
Google-Bing-Mediago-Criteo开户
⚡️按条S5代理⚡️静态⚡️独享⚡️5G广告专用虚拟卡/U充值/高返点皇家代理IP⚡️#1性价比⚡️
Mediabuy⚡️玩家开户首选【鲁班跨境通-自助充值转账】FB/GG/TT❤️官方免费开户Affiliate 全媒体流量资源⚡️
Taboola/Outbrain /Bing⚡️一级代理开户投流-7*24h❤️人工在线【官方】❤️搜索套利买量投流开户独立站⚡️开户投放
⚡️AdsPower:安全不封号,高效自动化⚡️E.PN 虚拟卡⚡️FB BM不限额,短id账单户BINOM TRACKER 60% OFF!
比Adplexity还好用的Spy工具ADPLEXITY + ADVERTCN7200W全球动态不重复住宅IP代理虚拟信用卡+独立站收款
全球虚拟卡, 支持U充值Facebook 批量上广告尤里改 - FB 稳定投放免费黑五教程(持续更新、欢迎交流)
FB 三不限源头 - 自助下户充值转款各种主页、账单户、BM户(优势)⚡️TikTok企业户,bm户,账单户提供TK企业新户老户、谷歌新户老户
FB虚拟卡⚡️消费越多返现越多最大欧洲Nutra网盟BA找量优质住宅/移动代理/高匿名/高性能TK白名单老户|兼职广告可投
⚡比特指纹浏览器+云手机, 4.5折起T3NZU:定义应用网盟新时代FB个人号源头服务商寻找顶级电商?AdsBranded等你!
TK老户/国内外端口/预审/加白广告位出租8500万高质量住宅IP,助力各种需求虚拟卡返佣1%,国内持牌机构
查看: 19051|回复: 7

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

[复制链接]

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
发表于 2021-7-15 23:08:27 | 显示全部楼层 |阅读模式
HuiTong虚拟卡
本帖最后由 yang。 于 2021-7-15 23:15 编辑
% l  u% s) M" v6 a- _' [/ @. K. }  c$ \# U( }3 j0 r
在部署LP的时候,大家一般都会做一些校验,比如 爬虫、js支持等,一般要么在每个LP上加上,要么提取公共的JS来做。5 k4 m1 F3 C+ b9 ^9 `; B" [: l( c
但是我觉得与其在LP上做这这些校验,还不如在LP前边做,直接过滤到基本的爬虫、js支持这种对LP毫无贡献的流量。8 `8 O3 ]5 c1 @' d, H* u
- Y9 y9 Q/ P8 H0 X# a
另外对一些莫名其妙的访问,也起到隔离作用,顺便利用下这些流量,万一给你造成转化也说不定呢。" ]0 c$ W7 z" h. `8 a% d6 Q1 d

: r; Y6 v# f4 }* y9 x7 w4 o5 s3 V具体做法是:0 V& C* H4 M: X* o- j+ @- J

( O5 }! @" T2 v$ s1.前置页面:在nginx下部署一个公有页面,该页面负责接受追踪器的跳转,相当于追踪器的lander页面统统都访问到这个页面<后边说追踪器配置>。
% i$ @) H7 V9 P4 m! Z+ `0 H# \2 s假设前置页面的访问路径为 http://www.xxx.com/( Y: O# \9 G. H
2.假设我们有2个LP页面,ng配置的访问路径为http://www.xxx.com/iphone/01/index.html  5 Z  Q$ f: y/ t* @9 B
http://www.xxx.com/iphone/02/index.html5 k" |2 Z) ^8 h, D
那么我们在追踪器中设置的LP访问路径为
* K- }% W  o& c3 E7 s8 `5 Xhttp://www.xxx.com/?offerUrl=iphone&landUrl=01
. J% a' m5 V' e% k) Mhttp://www.xxx.com/?offerUrl=iphone&landUrl=02# T! I! B1 ~0 n
这里把对应的路径转化为参数,将来发送到前置页面,由前置页面根据规则统一处理  c7 }8 w1 l  d0 }

, j3 Q* ]- W9 x6 }6 y% ^8 U6 ?3 ]这里,如果你前端功力不错的话,也可以将一些想做split测试的因子,作为参数传递到同一个页面,由js来处理这些因子,同一个页面也能减少干扰。比如把语言作为一个测试因子,如果我想测试一个在泰国跑的LP,英语和泰语那种受欢迎,那么我就可以加一个lang的参数作为测试因子,在追踪器中新建一个参数为lang=en和lang=th的lander页面地址,就能直接测试语言对LP的影响了。! k+ K$ j) D7 d$ h8 j6 [$ g

3 d1 Z# ^3 T: Q2 v6 B: n' t2 U! D" ]4 R& h; M
2.前置页面内容如下, F7 D3 g# k( P
  1. <!DOCTYPE html>( f5 [5 G8 q' X; M' z
  2. <html lang="en">, b' P8 o3 o4 e  D# q  N! E, B# o
  3. <head>
    ( w8 q) P, p$ i1 ?& u
  4.     <meta charset="UTF-8">
    8 f- j; B8 O" }1 Q. \
  5.     <title>Loading</title>
    4 |9 V4 M$ T% |: ~( @
  6. </head>
    : N+ t$ J8 y+ n5 W
  7. <body>. B: Z& L- u6 X0 s
  8. Loading...1 W- R4 I) u" X  A* [! N/ y
  9. </body>% U6 T* _& ~' M- R: X6 M6 b5 l9 b
  10. 0 k; U+ n8 M( h% O
  11. <script>+ ?! O1 x3 \' G5 V
  12.     //因为我是按照offer来建立路径的,假如有个抽iphone的offer,有10个land页面,那么我的nginx目录设置成
    ! ?/ ~1 L, x3 C/ E5 y( O, q% C
  13.     //iphone
    ! Y! h; }7 [& ^  V
  14.         //01                     http://xxx/iphone/01/index.html
    0 w+ T, ^7 U& X' U. Y
  15.         //02                     http://xxx/iphone/02/index.html
    ! f2 ^+ y3 C+ |7 ^* X: h
  16.         //以此类推
    ; x# t) k* p& w3 k: B# m
  17.     $ y& n7 ?, k2 G# j
  18.     : i3 _5 C7 [4 c5 a& `' t" k/ M( {) N
  19.     5 H& }4 n6 H8 ?5 l. T" i9 n
  20.     //这里假设我们的offer访问路径是  http://xxx/iphone/01/index.html
    ( u0 c, S8 |0 Q; e' n8 \1 X
  21.     //那么我们的offerUrl = iphone,landUrl = 01
    ( }" ~; K' o/ y# n
  22.     / F( L0 ^* e  N" s. _3 d5 b
  23.     //从url参数中获取设置好的访问参数
    # V( \# }. [0 F; U' l( d
  24.     const toffer = decodeURI((RegExp('offerUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    & R' y1 w% m6 G  h# Q
  25.     const tland = decodeURI((RegExp('landUrl' + "=(.+?)(&|$)").exec(location.search) || [, null])[1] || "");
    - ^4 G: G% b. D0 q
  26.     ; M0 {1 _( G3 k1 T: [2 C
  27.     //校验参数是否被传递过来,如果传递过来,则拼接成对应的路径: p/ v8 w. L$ x1 J* |
  28.     const b = (toffer != null && toffer !== '' && toffer !== undefined) && (tland != null && tland !== '' && tland !== undefined);; H+ X! S" |4 P+ N& e" p
  29.     if(b){
    ; s5 [3 P# Q9 H. q& B
  30.         setTimeout(function() {0 {$ S: J% e7 Q) s1 [1 x* q
  31.             var params = funcUrlDel(['offerUrl','landUrl']);+ S8 n  ~1 h9 d
  32.             // 跳转到真正的LP页面,顺便做一个简易的爬虫过滤
    7 G+ F" E$ S; U7 x! e- y2 Q
  33.             window.location.replace("/"+toffer+"/"+tland+"/index.html"+params);# j9 I) g5 j7 l: g9 o# h
  34.         }, 300);
    # ?% ?+ t# Y  o0 z; X$ H9 W
  35.     }else{
复制代码

4 I  A. D/ _3 T- d6 ]% C
. [4 ^! `5 g% ^- D( q) Q$ }9 m
只是一种简易的思路,主要目的是同一处理一些通用的操作,减少LP的工作。% v) ^9 t* j/ I" G2 {

! P# f3 ~8 d% F# d* U  ~9 ~3 {% y: w, C( e' x

4 V( \4 O2 t3 M# K0 ]+ ^2 U
6 u9 P1 L+ q) T+ x7 J% m' Z1 g! n1 _5 J

# O7 o. r  j, z3 `. j; M  B" d2 h% ^
相关帖子
回复

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

1646

主题

1万

广告币

2万

积分

管理员

宇宙无敌河马天神

Rank: 9Rank: 9Rank: 9

积分
27441

社区QQ达人

发表于 2021-7-16 07:55:02 | 显示全部楼层
想法是好的
# f: S- ^! B8 u* T, N0 C
1 W( Y" j2 L. ?, |2 x3 g% o0 Z! Z但是对于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:557 x+ w1 u3 J5 P
想法是好的. `2 G5 y5 J2 p; `

6 j# X6 F! ~* V. H+ T: I9 L但是对于tracking来说,多一层跳转,一般会多一层流量损失

- F5 k4 n; M+ r: q请教下河马大大  如果是使用类似于vue的路由那种方式,会不会好一点,对用户来说基本是无感刷新,而非跳转,html可以用ajax请求了load进div
回复 支持 反对

使用道具 举报

16

主题

376

广告币

533

积分

中级会员

Rank: 3Rank: 3

积分
533
 楼主| 发表于 2021-7-16 10:28:05 | 显示全部楼层
河小马 发表于 2021-7-16 07:55) `; M1 |1 Q- X1 E. C, K
想法是好的
- m! x8 G  c  d! Q. X0 R! l  P; l( W0 H' ~
但是对于tracking来说,多一层跳转,一般会多一层流量损失
& `; \( }" m6 s- m2 d/ b) S
经过测试,直接用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
( t: M) L+ {9 Z! @: d7 V额,意义在哪里呢(真心求教),媒体给到流量了就会算钱的呢,况且主流媒体用ng做转发可能被判定为规避审核 ...

8 j* R/ ^% ^9 J1.把在每个LP都要做的JS支持、爬虫校验提取出来统一在一个地方做,也就是在编程里边讲的公共组件。
, b# v) n. \1 v* S2.使用同一个LP,但是通过JS和参数控制,实现多维度的split测试。
6 X" S; v) _  b0 P3.这个在自己服务器内部流转,应该不会被判定。。。<待测试>6 N- c3 S1 r8 P

: K1 J( I" s9 m  `9 U" `4.我这么做主要是出于长久的编程习惯,总想把重复的东西提取出来统一做,让LP专注做自己的事情
回复 支持 反对

使用道具 举报

20

主题

835

广告币

983

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-15 13:39 , Processed in 0.050563 second(s), 15 queries , Gzip On, MemCache On.

Copyright © 2001-2023, AdvertCN

Proudly Operating in Hong Kong.

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