CashoutGuard

সাইনআপ, অফার ক্লিক আর ক্যাশআউটে ফ্রড কীভাবে ব্লক করবেন

ফ্রড স্কোর করা কাজের অর্ধেক মাত্র। টাকা বাঁচে তখনই, যখন আপনার সাইট সেই উত্তর অনুযায়ী ব্যবস্থা নেয়। এই গাইডে দেখানো হয়েছে কোন চারটা জায়গায় ব্যবস্থা নেবেন, প্রতিটাতে কী করবেন, আর এর জন্য লাগে মাত্র কয়েক লাইন কোড।

ব্যবস্থা নেওয়ার চারটা জায়গা

রিওয়ার্ড সাইটে ফ্রড প্রতিবার একই পথে চলে: অ্যাকাউন্ট খোলা, অফার কমপ্লিট করা, কনভার্সন জমানো, তারপর ক্যাশআউট। প্রতিটা ধাপেই থামানোর সুযোগ আছে, আর আগের ধাপে থামানো পরের ধাপের চেয়ে সস্তা।

  1. সাইনআপ। এখানে একটা ফার্ম অ্যাকাউন্ট আটকাতে কোনো খরচই নেই। সেটা কখনো আয় করে না, ক্লিক করে না, আর আপনার অ্যাডভার্টাইজারদের কাছেও পৌঁছায় না।
  2. অফার ক্লিক। অ্যাকাউন্ট আগেই ফ্ল্যাগ হয়ে থাকলে অফারটা খুলবেন না। ফ্রড তখন offerwall বা অ্যাডভার্টাইজার পর্যন্ত পৌঁছায়ই না, তাই পরে রিভার্স করার মতো কিছু থাকে না।
  3. কনভার্সন (postback)। রিওয়ার্ড ক্রেডিট করুন, তবে হোল্ডে রেখে। পয়েন্টগুলো থাকবে, কিন্তু ইউজার খরচ করতে পারবে না, আর আপনি দেখে-শুনে সিদ্ধান্ত নেবেন।
  4. ক্যাশআউট। টাকা আপনার হাতে থাকার শেষ মুহূর্ত। উইথড্র হোল্ড করুন আর পেমেন্ট দেওয়ার আগে রিভিউ করুন।

প্রতিটা উত্তরে কী করবেন

CashoutGuard প্রতিটা ইভেন্টের উত্তর দেয় allow, review বা block দিয়ে, সাথে কারণগুলো। শুরু করার জন্য একটা যুক্তিসঙ্গত পলিসি এরকম:

কোথায়blockreviewallow
সাইনআপঅ্যাকাউন্ট খুলতে দেবেন না, বা সাসপেন্ড করে রাখুনঅ্যাকাউন্ট নিন, প্রথম ক্যাশআউটে নজর রাখুনঅ্যাকাউন্ট নিন
অফার ক্লিক"অফারটি এখন পাওয়া যাচ্ছে না" দেখানঅফার খুলুনঅফার খুলুন
কনভার্সনহোল্ডে ক্রেডিট, ব্যালেন্সে যোগ হবে নাস্বাভাবিকভাবে ক্রেডিট করুন, ক্যাশআউট রিভিউয়ের জন্য ফ্ল্যাগ করুনস্বাভাবিকভাবে ক্রেডিট করুন
ক্যাশআউটহোল্ড, রিভিউয়ের পর সাধারণত বাতিলদ্রুত রিভিউয়ের জন্য হোল্ডপেমেন্ট দিন

অ্যাকাউন্ট ডিলিট না করে সাসপেন্ড করে রাখুন। ভুল অ্যালার্ম হলে এক ক্লিকেই ইউজার তার পুরো হিস্ট্রিসহ ফিরে আসবে।

কোড

ব্রাউজার স্ক্রিপ্ট প্রতিটা ভিজিটরকে একটা request_id দেয়। ফর্মের সাথে সেটা আপনার সার্ভারে পাঠান, তারপর সার্ভার থেকে আপনার সিক্রেট কী দিয়ে CashoutGuard-কে জিজ্ঞেস করুন। উদাহরণগুলোতে ডকুমেন্টেশনের PHP SDK ব্যবহার করা হয়েছে; Node.js আর Python SDK দেখতে প্রায় একই রকম।

সাইনআপ

$cg = new \CashoutGuard\Client(getenv('CASHOUTGUARD_SECRET'));

$user = createUser($request);   // your own signup
$r = $cg->evaluate([
    'event'      => 'signup',
    'account_id' => (string) $user->id,
    'request_id' => $request->input('cg_request_id'),
    'ip'         => $request->ip(),
    'email'      => $user->email,
]);
if ($r->isBlocked()) {
    $user->suspend();          // keep it, so a false alarm is one click away
    return back()->withErrors(['email' => 'We could not create your account.']);
}

অফার ক্লিক

$r = $cg->evaluate(['event' => 'offer_click', 'account_id' => (string) $user->id,
    'request_id' => $request->input('cg_request_id'), 'offer_id' => $offer->id, 'click_id' => $clickId]);
if ($r->isBlocked()) {
    return response()->view('offer-unavailable', [], 403);
}
return redirect()->away($offer->trackingUrl($user, $clickId));

কনভার্সন (postback)

// Ask BEFORE crediting, so a blocked conversion never touches the balance.
$r = $cg->evaluate(['event' => 'conversion', 'account_id' => (string) $userId,
    'offer_id' => $offerId, 'transaction_id' => $transId, 'amount' => $payoutUsd, 'currency' => 'USD']);
$status = $r->isBlocked() ? 'hold' : 'approved';
creditReward($userId, $points, $status);   // 'hold' = recorded, not spendable

ক্যাশআউট

$r = $cg->evaluate(['event' => 'cashout', 'account_id' => (string) $user->id,
    'request_id' => $request->input('cg_request_id'), 'amount' => $usd, 'currency' => 'USD',
    'payout_method' => $method, 'payout_address' => $address]);
$withdrawal->status = $r->isBlocked() ? 'hold' : ($r->needsReview() ? 'review' : 'pending');
$withdrawal->save();

নিরাপদ থাকা: শ্যাডো মোড আর fail-open

এটা চালু করার সময় দুটো সেটিং সৎ ইউজারদের নিরাপদ রাখে।

  • প্রথমে শ্যাডো মোড। নতুন সাইট সবকিছুতে allow উত্তর দেয়, কিন্তু আসলে কী করত সেটা রেকর্ড করে রাখে। কয়েক দিন শ্যাডো মোডে কোড চালান, কোন অ্যাকাউন্টগুলো ব্লক হতো দেখে নিন, তারপর সাইটকে enforce মোডে দিন। আপনার কোড বদলাতে হবে না।
  • Fail-open। SDK সর্বোচ্চ দুই সেকেন্ড অপেক্ষা করে, আর CashoutGuard স্লো হলে বা সাড়া না দিলে allow উত্তর দেয়। নেটওয়ার্কের সমস্যায় কখনো কোনো সাইনআপ বা পেমেন্ট আটকে যায় না।

কোন সিগন্যালে ব্লক করা উচিত

সব কারণ সমান শক্তিশালী নয়। ভালো পলিসি ব্লক করে এমন প্রমাণে যার নির্দোষ ব্যাখ্যা দেওয়া কঠিন, আর বাকিগুলো শুধু রিভিউ করে। নিচের সিগন্যালগুলো সাধারণত একাই ব্লকের জন্য যথেষ্ট:

  • এমন পেমেন্ট অ্যাড্রেস, যেখানে আরেকটা অ্যাকাউন্টের টাকা আগেই গেছে। একটা PayPal ইমেইল, bKash নম্বর বা ওয়ালেট কয়েকটা অ্যাকাউন্টের টাকা তুলছে মানে লোক একজনই।
  • এমন ডিভাইস, যা আপনার আগে ব্লক করা অ্যাকাউন্টগুলোর সাথে শেয়ার করা। একই ব্রাউজার বা ফোন নতুন নামে ফিরে আসা হলো ক্লাসিক ফার্ম প্যাটার্ন।
  • ইমুলেটর, ভার্চুয়াল মেশিন বা অটোমেশন টুল। আসল ইউজাররা হেডলেস ব্রাউজার বা Android ইমুলেটর দিয়ে অফার কমপ্লিট করে না।
  • জিও-টার্গেটেড অফারে Tor বা ডেটাসেন্টার IP। অ্যাডভার্টাইজার এমন দেশের জন্য টাকা দিয়েছে যেখানে ইউজার কখনো ছিলই না, তাই কনভার্সনটা রিভার্স হবেই।
  • আপনার নিজের ব্লকলিস্টে থাকা অ্যাড্রেস। প্রতিটা নিশ্চিত চক্র আপনাকে এমন ডিভাইস, IP আর অ্যাড্রেস দেয়, যেগুলো দিয়ে আর কখনো আয় করতে দেওয়া উচিত নয়।

অন্য সিগন্যালগুলো ব্লক করার চেয়ে খতিয়ে দেখার কারণ হিসেবেই ভালো: শুধু VPN, IP-এর সাথে না মেলা টাইমজোন, একদম নতুন অ্যাকাউন্ট বা খুব দ্রুত কমপ্লিট করা অফার। একই অ্যাকাউন্টে এমন দুই-তিনটা একসাথে থাকলে সাধারণত এমনিতেই ব্লক স্কোরে পৌঁছে যায়, আর স্কোরিংয়ের মূল কথা এটাই: একটা দুর্বল সিগন্যাল কদাচিৎ সিদ্ধান্ত ঠিক করে, কয়েকটা শক্তিশালী সিগন্যাল সবসময় করে।

থ্রেশহোল্ড কীভাবে ঠিক করবেন

প্রতিটা সাইটের দুটো সংখ্যা থাকে: যে স্কোর থেকে ইভেন্ট রিভিউতে যায়, আর যে স্কোর থেকে ব্লক হয়। ডিফল্ট মান বেশিরভাগ রিওয়ার্ড সাইটে ভালো কাজ করে, কিন্তু আপনার ট্রাফিক বাকি সবার মতো নয়।

  1. তিন থেকে সাত দিন শ্যাডো মোডে চালান, যাতে আসল ট্রাফিক স্কোর হয়ে যায়।
  2. যে অ্যাকাউন্টগুলো ব্লক হতো সেগুলো খুলে বিশটা হাতে চেক করুন। প্রায় সবগুলোই স্পষ্ট ফ্রড হলে ব্লক থ্রেশহোল্ড ঠিক আছে, চাইলে একটু কমানোও যায়।
  3. রিভিউতে যাওয়া বিশটা অ্যাকাউন্টেও একই কাজ করুন। বেশিরভাগই সৎ হলে রিভিউ থ্রেশহোল্ড বাড়ান, যাতে আপনার টিম শুধু গুরুত্বপূর্ণ কেসগুলো দেখে।
  4. বড় কোনো পরিবর্তনের পর আবার করুন: নতুন offerwall, নতুন দেশ বা নতুন পেমেন্ট মেথড এলে কারা আসে সেটাই বদলে যায়।

যেখানে কোনো একটা সিগন্যাল অন্য সাইটের চেয়ে আপনার সাইটে বেশি গুরুত্বপূর্ণ, সেখানে রুল কাজে আসে। যে সাইট শুধু ক্রিপ্টোতে পেমেন্ট দেয়, সে হয়তো শেয়ার করা সব ওয়ালেট ব্লক করতে চাইবে; সার্ভে সাইটের কাছে হয়তো স্পিডই সবচেয়ে গুরুত্বপূর্ণ। রুল আপনার কোড না ছুঁয়েই একটা কারণের ওজন বদলে দেয়।

যখন কোনো সৎ ইউজার ব্লক হয়ে যায়

এটা ঘটবেই। এক ল্যাপটপ শেয়ার করা পরিবার, হোটেলের ওয়াইফাইতে থাকা ভ্রমণকারী, বা এমন মোবাইল অপারেটরের ইউজার যার IP বারবার বদলায়, সবাইকেই অস্বাভাবিক দেখাতে পারে। আসল ব্যাপার হলো আপনি কত দ্রুত সেটা ঠিক করতে পারেন।

  • অ্যাকাউন্ট রাখুন, সাসপেন্ড করুন। ডিলিট করলে সিদ্ধান্ত নেওয়ার জন্য যে হিস্ট্রি দরকার, সেটাই হারিয়ে যায়।
  • ফেরার একটা পথ রাখুন। সাপোর্ট লিংকসহ একটা নিরপেক্ষ মেসেজই যথেষ্ট। ফার্মগুলো খুব কমই যোগাযোগ করে; সৎ ইউজাররা করে।
  • যাচাই করে allowlist করুন। একবার নিশ্চিত হলে অ্যাকাউন্টটা allowlist করুন, যাতে পরের সপ্তাহে একই সিগন্যালে আবার ব্লক না হয়।
  • হোল্ড করা টাকা দ্রুত ছেড়ে দিন। হোল্ডে থাকা কনভার্সন বা ক্যাশআউট ঠিকঠাক প্রমাণিত হলে সেদিনই পেমেন্ট দিন। এতেই সৎ ইউজারদের কাছে হোল্ড মেনে নেওয়ার মতো হয়।

এক সপ্তাহের রোলআউট প্ল্যান

দিনধাপকেন
1স্ক্রিপ্ট ইনস্টল করুন, ক্যাশআউট আর postback পাঠান, সাইট শ্যাডো মোডেশূন্য ঝুঁকিতে আসল ট্রাফিক স্কোর হয়
2-3যেগুলো ব্লক বা রিভিউ হতো, তার কিছু নমুনা রিভিউ করুননিজের ইউজারদের দিয়ে থ্রেশহোল্ড যাচাই হয়
4enforce মোডে যান, শুধু ক্যাশআউটে ব্যবস্থা নিনসবচেয়ে কম প্রভাবে টাকা সুরক্ষিত থাকে
5postback হ্যান্ডলারে ব্লক হওয়া কনভার্সন হোল্ড করুনফ্ল্যাগ করা অ্যাকাউন্টের ব্যালেন্স বাড়া বন্ধ হয়
6-7ব্লক হওয়া সাইনআপ ফিরিয়ে দিন আর ব্লক হওয়া অফার বন্ধ রাখুনফার্মগুলো দরজাতেই থেমে যায়, আপনার অ্যাডভার্টাইজার পর্যন্ত পৌঁছায় না

ফলাফল কীভাবে মাপবেন

ব্লকিং কাজ করছে কিনা, তা তিনটা সংখ্যা বলে দেয়। প্রথম মাসে প্রতি সপ্তাহে এগুলো দেখুন।

  • নেটওয়ার্কগুলোর রিভার্সাল রেট। কয়েক সপ্তাহ পরে যত শতাংশ কনভার্সন রিভার্স হয়, ব্লক হওয়া অ্যাকাউন্টগুলো আয় বন্ধ করলে সেটা কমে আসা উচিত।
  • হোল্ড করা টাকা আর ছেড়ে দেওয়া টাকা। যা হোল্ড করেন তার বেশিরভাগই যদি ছেড়ে দিতে হয়, তাহলে থ্রেশহোল্ড খুব কড়া। আর যদি প্রায় কিছুই ছাড়তে না হয়, তাহলে হয়তো খুব ঢিলা।
  • ব্লক নিয়ে সাপোর্ট টিকেট। সপ্তাহে হাতে গোনা কয়েকটা স্বাভাবিক। হঠাৎ অনেক বেড়ে গেলে সাধারণত বোঝায় কোনো একটা সিগন্যাল আপনার অডিয়েন্সের জন্য বেশি কড়া।

পরের ধাপ

ক্যাশআউট দিয়ে শুরু করুন: এটা মাত্র একটা কল, আর সরাসরি টাকা রক্ষা করে। এরপর postback যোগ করুন, তারপর সাইনআপ আর অফার ক্লিক। রিভিউয়ের সময় কী কী দেখবেন তা আছে ক্যাশআউট চেকলিস্টে, আর প্রাইসিং পেজে আছে 14 দিনের Growth ট্রায়াল।

সাধারণ প্রশ্ন

সাইনআপে ব্লক করব, নাকি ক্যাশআউটে?

দুটোতেই, তবে ভিন্ন কারণে। সাইনআপে ব্লক করলে ফার্মগুলো কোনো খরচ তৈরির আগেই থেমে যায়; আর যেসব অ্যাকাউন্ট শুরুতে পরিষ্কার মনে হয়েছিল, তাদের জন্য ক্যাশআউট হলো শেষ সেফটি নেট।

অফার ক্লিক ব্লক করলে কি সত্যিই লাভ হয়?

হ্যাঁ। অফার না খুললে offerwall কোনো ইনস্টল রেকর্ড করে না, ফলে অ্যাডভার্টাইজার আপনার সাইট থেকে কোনো ফ্রড পায় না, আর কয়েক সপ্তাহ পরে রিভার্স করার মতোও কিছু থাকে না।

CashoutGuard ডাউন থাকলে কী হবে?

SDK-গুলো fail-open: দুই সেকেন্ড পর allow উত্তর দেয়, আর আপনার সাইট এমনভাবে চলতে থাকে যেন চেকটা ছিলই না।

শুধু ক্যাশআউটে ব্লক করে বাকিগুলো কি শুধু নজরে রাখতে পারি?

হ্যাঁ। কোন উত্তরে ব্যবস্থা নেবেন, সেটা আপনার কোডই ঠিক করে। অনেক সাইট শুরু করে ব্লক হওয়া ক্যাশআউট হোল্ড করে, আর সাইনআপ ফিরিয়ে দেওয়া শুরু করে পরে।

আরও পড়ুন