{"id":5978,"date":"2026-08-17T15:32:32","date_gmt":"2026-08-17T15:32:32","guid":{"rendered":"https:\/\/adex.com\/blog\/?p=5978"},"modified":"2026-08-17T15:48:12","modified_gmt":"2026-08-17T15:48:12","slug":"fake-signup-detection","status":"publish","type":"post","link":"https:\/\/adex.com\/blog\/fake-signup-detection\/","title":{"rendered":"Fake Signups Detection: Disposable Emails, Virtual Numbers, Synthetic Identities"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A lead form asks for three things: an email address, a phone number, and a name. Each one can be rented, generated, or borrowed in the time it takes the page to load, and none of the three depends on the other two.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That independence is what makes fake signups detection harder than single-layer validation suggests. Most setups treat a fake lead as one object to accept or reject, when it is an assembly of three separate supplies: a mailbox that can receive, a number that can receive, and fields that read like a person. Remove one and the other two survive the block.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">From a buying-side view, the first sign is almost never a rejected submission. It is a cohort that filled the form, cleared validation, landed in the customer relationship management system (CRM), and then did nothing at all.<\/p>\n\n\n<div class=\"toc\"><h4 class=\"toc__title\" id=\"contents\">Contents<\/h4><ul class=\"toc__list\"><li class=\"toc__list_item\"><a href=\"#the-email-layer-throwaway-domains-catch-all-mail-and-tricks-on-real-mailboxes\">The Email Layer: Throwaway Domains, Catch-All Mail, and Tricks on Real Mailboxes<\/a><\/li><li class=\"toc__list_item\"><a href=\"#the-phone-layer-numbers-that-receive-without-belonging-to-anyone\">The Phone Layer: Numbers That Receive Without Belonging to Anyone<\/a><\/li><li class=\"toc__list_item\"><a href=\"#the-revenue-share-that-makes-a-passcode-worth-sending\">The Revenue Share That Makes a Passcode Worth Sending<\/a><\/li><li class=\"toc__list_item\"><a href=\"#the-identity-layer-invented-people-and-the-harder-mixed-case\">The Identity Layer: Invented People and the Harder Mixed Case<\/a><\/li><li class=\"toc__list_item\"><a href=\"#reading-the-three-layers-as-separate-purchases\">Reading the Three Layers as Separate Purchases<\/a><\/li><li class=\"toc__list_item\"><a href=\"#checks-at-the-form-what-a-pass-actually-establishes\">Checks at the Form: What a Pass Actually Establishes<\/a><\/li><li class=\"toc__list_item\"><a href=\"#checks-after-the-form-what-only-behavior-reveals\">Checks After the Form: What Only Behavior Reveals<\/a><\/li><li class=\"toc__list_item\"><a href=\"#why-a-clean-database-is-not-the-same-as-clean-revenue\">Why a Clean Database Is Not the Same as Clean Revenue<\/a><\/li><li class=\"toc__list_item\"><a href=\"#what-hardening-the-form-costs-you\">What Hardening the Form Costs You<\/a><\/li><li class=\"toc__list_item\"><a href=\"#faq\">FAQ<\/a><\/li><li class=\"toc__list_item\"><a href=\"#two-numbers-worth-putting-side-by-side\">Two Numbers Worth Putting Side by Side<\/a><\/li><\/ul><\/div><style>\n.toc {}\n.toc__title {\n      font-size: 32px;\n    line-height: 40px;\n    font-weight: 700;\n}\n.toc__list_item {\n    color: #FE645A !important;\n}\n.toc__list_item:not(:last-child){\n    margin-bottom: 5px;\n}\n.toc__list_item a {\n    font-size: 18px;\n    line-height: 24px;\n    color: #FE645A;\n    font-weight: 600;\n}\n.toc__list_item a:hover {\n    text-decoration: underline;\n}\n@media (max-width: 1023px) {.toc__title {font-size: 24px;line-height: 32px;}}\n<\/style>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"key-takeaways\">Key Takeaways:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fake leads come from three independent layers (email, phone, identity), so blocking one costs the operator one field, not the lead.<\/li>\n\n\n\n<li>Catch-all domains, plus-addressing, and dot variants produce genuinely deliverable addresses, so list-based blocking always lags.<\/li>\n\n\n\n<li>The phone layer holds the operator&#8217;s only real cost: receive capacity has to exist on a physical network.<\/li>\n\n\n\n<li>Form-time validation optimizes for a database that looks correct, so the informative measure is the gap between accepted leads and leads that do anything afterward.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-email-layer-throwaway-domains-catch-all-mail-and-tricks-on-real-mailboxes\">The Email Layer: Throwaway Domains, Catch-All Mail, and Tricks on Real Mailboxes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The cheapest part of a fake lead is the mailbox. Disposable email services hand out an address on a shared domain, keep it alive for minutes or hours, and show the inbox in a browser without asking anyone to register. Nothing is malformed, the mail exchange records work, and a confirmation message arrives and can be clicked.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Catch-all domains are the quieter version. A catch-all domain accepts mail addressed to any local part, so any invented name at it resolves as deliverable whether or not a human reads it. A verification service that asks the receiving server whether an address exists gets a yes for every guess.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Then come the two tricks that need no throwaway service. Plus-addressing appends a tag to a real address, so one inbox produces an unlimited set of distinct-looking addresses, and on providers that ignore dots in the local part, shifting the dots does the same job. Both defeat naive duplicate checks, and both look identical to a real user who tags incoming mail for filtering. Blocking this layer stays list maintenance, and lists lag.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-phone-layer-numbers-that-receive-without-belonging-to-anyone\">The Phone Layer: Numbers That Receive Without Belonging to Anyone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The phone field gets treated as the serious one, on the theory that a number costs money and ties back to a person. Neither half holds. Virtual numbers are allocated in software over voice over internet protocol (VoIP) infrastructure and short message service (SMS) gateways, and shared receive services publish numbers whose incoming messages anyone can read on a web page.<\/p>\n\n\n<div class=\"block__bord\"><div class=\"block__bord_desc\"><p>What separates this layer from the email layer is that receive capacity is physical somewhere: a number has to be allocated inside a numbering range, and a message has to cross a carrier that terminates it. That is where an operator&#8217;s cost concentrates, which is why phone signals repay attention more than email signals do.<\/p>\n<\/div><\/div>\n<style>\n.block__bord { margin: 32px 0; padding: 1.25em 2.375em;\tborder-radius: 24px; background: rgba(0, 220, 200, 0.20); }\n.block__bord_desc {font-size: 16px !important;font-weight: 400 !important;color: #606060 !important;}\n<\/style>\n\n\n\n<p class=\"wp-block-paragraph\">A line type lookup returns the class of a number rather than a verdict, so the usable findings are combinations: one number confirming several signups, or submissions clustered inside a narrow range on one carrier.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-revenue-share-that-makes-a-passcode-worth-sending\">The Revenue Share That Makes a Passcode Worth Sending<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sometimes the number field is the target rather than the obstacle. Twilio&#8217;s documentation on <a href=\"https:\/\/www.twilio.com\/docs\/glossary\/what-is-sms-pumping-fraud\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">SMS pumping fraud<\/a>, also called artificially inflated traffic, describes the mechanism: fraudsters abuse a phone number input field that triggers a one-time passcode or an app download link by SMS, send to ranges of numbers controlled by a mobile network operator, and take a share of the revenue those messages generate. The operator is sometimes complicit and sometimes exploited without knowing it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Read against a lead generation funnel, that changes the shape of the fake signup: the operator has no interest in whether the record is ever contacted, because the outbound message volume is the product.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In practice, teams reviewing this pattern find the delivery reports look healthy and everything after missing: no reply, no answered call, and submissions sitting in number ranges the business has never sold into.<\/p>\n\n\n<div class=\"block__preview\">\n        <a href=\"https:\/\/adex.com\/blog\/anti-detect-browser-fraud-detection\/\" class=\"block__preview_img\"><img src=\"https:\/\/adex.com\/blog\/wp-content\/uploads\/2026\/07\/adex-banners-anti-detect-browsers.png\" srcset=\"https:\/\/adex.com\/blog\/wp-content\/uploads\/2026\/07\/adex-banners-anti-detect-browsers.png\" sizes=\"100vw\" alt=\"Anti-detect browsers make one device look like many. They spoof fingerprints, rotate identities, and bypass the checks ad platforms use to catch fraud. Here's what that means for your campaigns.\" decoding=\"async\" class=\"lazy\"><\/a>\n    <div class=\"block__preview_box\">\n        <a href=\"https:\/\/adex.com\/blog\/category\/current_risks\/\" class=\"block__preview_box-cat\">Current risks<\/a>        <h3 class=\"block__preview_box-title\" id=\"how-anti-detect-browsers-build-fake-digital-identities-where-detection-finds-the-gaps\"><a href=\"https:\/\/adex.com\/blog\/anti-detect-browser-fraud-detection\/\">How Anti-Detect Browsers Build Fake Digital Identities: Where Detection Finds the Gaps<\/a><\/h3>\n    <\/div>\n<\/div>\n<style>\n.block__preview {display: flex;align-items: center;justify-content: center; margin: 32px 0;}\n.block__preview a {text-decoration: none;}\n.block__preview_img {min-width: 360px;max-width: 360px;min-height: 188px;width: 100%;height: 100%;}\n.block__preview_img img {width: 100%;height: 100%;}\n.block__preview_box {margin-left: 40px;max-width: 360px;}\n.block__preview_box-cat {color: #00B8A7 !important;font-weight: 600;font-size: 12px;line-height: 16px;text-transform: uppercase; display: block; margin-bottom: 4px;}\n.block__preview_box-cat:hover {color: #FE645A !important; text-decoration: none !important;}\n.block__preview_box-title {font-size: 20px;font-weight: 700;line-height: 24px;color: #0B172D;}\n.block__preview_box-title a {color: #0B172D !important;}\n.block__preview_box-title a:hover {color: #FE645A !important;}\n@media screen and (max-width: 768px) {.block__preview {flex-direction: column;}.block__preview_box {max-width: 100%; margin-top: 32px;margin-left: 0px;}.block__preview_img {max-width: 100%;min-width: 100%;min-height: 100%;}}<\/style>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-identity-layer-invented-people-and-the-harder-mixed-case\">The Identity Layer: Invented People and the Harder Mixed Case<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Name, company, job title, and interest fields are the cheapest layer, because nothing in them is verified. Persona generators produce internally consistent sets: a plausible name for the region you targeted, a company that sounds like a company, a fitting title.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The harder case is not the fully invented person. The Federal Reserve&#8217;s <a href=\"https:\/\/fedpaymentsimprovement.org\/strategic-initiatives\/payments-security\/synthetic-identity-payments-fraud\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">payments improvement resource on synthetic identity fraud<\/a> records the industry definition: the use of a combination of personally identifiable information to fabricate a person or entity in order to commit a dishonest act for personal or financial gain. It also names the mechanism that a synthetic identity typically mixes real information with fictional information, and points to a series of Federal Reserve white papers.<\/p>\n\n\n<div class=\"block__bord\"><div class=\"block__bord_desc\"><p>The payments context is not lead generation, so be exact about what carries over. The definition and the mixed-data mechanic transfer directly: a lead built from one real element (a real company domain, a real mailbox, a real number) plus several invented ones is the same object under another name. The credit build-up and bust-out pattern does not transfer, because nothing at the end of a lead form extends credit. The mixed record is also the one that breaks matching logic, because a single true element returns a partial match instead of a clean failure.<\/p>\n<\/div><\/div>\n<style>\n.block__bord { margin: 32px 0; padding: 1.25em 2.375em;\tborder-radius: 24px; background: rgba(0, 220, 200, 0.20); }\n.block__bord_desc {font-size: 16px !important;font-weight: 400 !important;color: #606060 !important;}\n<\/style>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"reading-the-three-layers-as-separate-purchases\">Reading the Three Layers as Separate Purchases<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The layers are bought separately and fail separately, which is why single-layer defenses return less than the effort suggests. Marginal cost per identity sits near zero on the email and identity layers and concentrates in the receive infrastructure behind the phone layer. The map below sorts each layer by what a reviewer can observe and what it costs to replace.<\/p>\n\n\n\n<style>\n  .adx-lead-layer-map {\n    width: 100%;\n    max-width: 1000px;\n    margin: 24px auto;\n  }\n\n  .adx-lead-layer-map svg {\n    display: block;\n    width: 100%;\n    height: auto;\n  }\n\n  .adx-lead-layer-map figcaption {\n    margin-top: 10px;\n    color: #5b6472;\n    font-family: Lato, Helvetica, Arial, sans-serif;\n    font-size: 16px;\n    line-height: 1.5;\n    text-align: center;\n  }\n<\/style>\n\n<figure class=\"adx-lead-layer-map\">\n  <svg\n    xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n    viewBox=\"0 0 1000 700\"\n    preserveAspectRatio=\"xMidYMid meet\"\n    role=\"img\"\n    aria-labelledby=\"lead-layer-title lead-layer-description\"\n  >\n    <title id=\"lead-layer-title\">\n      Three Layers, Three Replacement Costs\n    <\/title>\n\n    <desc id=\"lead-layer-description\">\n      A signal map showing the email, phone, and identity layers behind\n      a fake lead, the observable artifacts each layer produces, and\n      the cost of replacing each layer after it is blocked.\n    <\/desc>\n\n    <rect width=\"1000\" height=\"700\" fill=\"#FFFFFF\"><\/rect>\n\n    <!-- Main title -->\n    <text\n      x=\"40\"\n      y=\"48\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"24\"\n      font-weight=\"700\"\n      fill=\"#16181D\"\n    >\n      Three Layers, Three Replacement Costs\n    <\/text>\n\n    <text\n      x=\"40\"\n      y=\"76\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"15\"\n      fill=\"#5B6472\"\n    >\n      Each layer is bought on its own, so each one is replaced on its own.\n    <\/text>\n\n    <!-- Email Layer -->\n    <rect\n      x=\"40\"\n      y=\"104\"\n      width=\"920\"\n      height=\"150\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <path\n      d=\"M46 104 V254 H50 V104 Z\"\n      fill=\"#2F6BFF\"\n    ><\/path>\n\n    <text\n      x=\"68\"\n      y=\"144\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"18\"\n      font-weight=\"600\"\n      fill=\"#16181D\"\n    >\n      Email Layer\n    <\/text>\n\n    <text\n      x=\"68\"\n      y=\"170\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"15\"\n      fill=\"#5B6472\"\n    >\n      <tspan x=\"68\">Disposable inboxes, catch-all<\/tspan>\n      <tspan x=\"68\" dy=\"21\">domains, tags on real mailboxes<\/tspan>\n    <\/text>\n\n    <text\n      x=\"316\"\n      y=\"134\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"15\"\n      font-weight=\"600\"\n      fill=\"#5B6472\"\n    >\n      What a reviewer can observe\n    <\/text>\n\n    <circle cx=\"320\" cy=\"156\" r=\"4\" fill=\"#2F6BFF\"><\/circle>\n\n    <text\n      x=\"336\"\n      y=\"162\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Domain appears only in new signups\n    <\/text>\n\n    <circle cx=\"320\" cy=\"182\" r=\"4\" fill=\"#2F6BFF\"><\/circle>\n\n    <text\n      x=\"336\"\n      y=\"188\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Mailbox accepts mail but never opens\n    <\/text>\n\n    <circle cx=\"320\" cy=\"208\" r=\"4\" fill=\"#2F6BFF\"><\/circle>\n\n    <text\n      x=\"336\"\n      y=\"214\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Same local part with a tagged suffix\n    <\/text>\n\n    <circle cx=\"320\" cy=\"234\" r=\"4\" fill=\"#2F6BFF\"><\/circle>\n\n    <text\n      x=\"336\"\n      y=\"240\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Dots moved inside one real address\n    <\/text>\n\n    <rect\n      x=\"680\"\n      y=\"126\"\n      width=\"268\"\n      height=\"106\"\n      rx=\"10\"\n      fill=\"#FFFFFF\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <text\n      x=\"698\"\n      y=\"150\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"15\"\n      font-weight=\"600\"\n      fill=\"#5B6472\"\n    >\n      Cost to replace after a block\n    <\/text>\n\n    <text\n      x=\"698\"\n      y=\"177\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      <tspan x=\"698\">Near zero. Another throwaway<\/tspan>\n      <tspan x=\"698\" dy=\"22\">domain, or the same real<\/tspan>\n      <tspan x=\"698\" dy=\"22\">mailbox with a new tag.<\/tspan>\n    <\/text>\n\n    <!-- Phone Layer -->\n    <rect\n      x=\"40\"\n      y=\"270\"\n      width=\"920\"\n      height=\"150\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <path\n      d=\"M46 270 V420 H50 V270 Z\"\n      fill=\"#E8A33D\"\n    ><\/path>\n\n    <text\n      x=\"68\"\n      y=\"310\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"18\"\n      font-weight=\"600\"\n      fill=\"#16181D\"\n    >\n      Phone Layer\n    <\/text>\n\n    <text\n      x=\"68\"\n      y=\"336\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"15\"\n      fill=\"#5B6472\"\n    >\n      <tspan x=\"68\">Virtual and shared numbers<\/tspan>\n      <tspan x=\"68\" dy=\"21\">that can receive a passcode<\/tspan>\n    <\/text>\n\n    <text\n      x=\"316\"\n      y=\"300\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"15\"\n      font-weight=\"600\"\n      fill=\"#5B6472\"\n    >\n      What a reviewer can observe\n    <\/text>\n\n    <circle cx=\"320\" cy=\"322\" r=\"4\" fill=\"#E8A33D\"><\/circle>\n\n    <text\n      x=\"336\"\n      y=\"328\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Line type resolves to virtual or fixed\n    <\/text>\n\n    <circle cx=\"320\" cy=\"348\" r=\"4\" fill=\"#E8A33D\"><\/circle>\n\n    <text\n      x=\"336\"\n      y=\"354\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      One number confirms many signups\n    <\/text>\n\n    <circle cx=\"320\" cy=\"374\" r=\"4\" fill=\"#E8A33D\"><\/circle>\n\n    <text\n      x=\"336\"\n      y=\"380\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Numbers cluster in one narrow range\n    <\/text>\n\n    <circle cx=\"320\" cy=\"400\" r=\"4\" fill=\"#E8A33D\"><\/circle>\n\n    <text\n      x=\"336\"\n      y=\"406\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Passcode confirmed, then no reply\n    <\/text>\n\n    <rect\n      x=\"680\"\n      y=\"292\"\n      width=\"268\"\n      height=\"106\"\n      rx=\"10\"\n      fill=\"#FFFFFF\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <text\n      x=\"698\"\n      y=\"316\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"15\"\n      font-weight=\"600\"\n      fill=\"#5B6472\"\n    >\n      Cost to replace after a block\n    <\/text>\n\n    <text\n      x=\"698\"\n      y=\"343\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      <tspan x=\"698\">The real expense. Receive<\/tspan>\n      <tspan x=\"698\" dy=\"22\">capacity has to exist on a<\/tspan>\n      <tspan x=\"698\" dy=\"22\">physical network somewhere.<\/tspan>\n    <\/text>\n\n    <!-- Identity Layer -->\n    <rect\n      x=\"40\"\n      y=\"436\"\n      width=\"920\"\n      height=\"150\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <path\n      d=\"M46 436 V586 H50 V436 Z\"\n      fill=\"#D9534F\"\n    ><\/path>\n\n    <text\n      x=\"68\"\n      y=\"476\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"18\"\n      font-weight=\"600\"\n      fill=\"#16181D\"\n    >\n      Identity Layer\n    <\/text>\n\n    <text\n      x=\"68\"\n      y=\"502\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"15\"\n      fill=\"#5B6472\"\n    >\n      <tspan x=\"68\">Generated personas, or one real<\/tspan>\n      <tspan x=\"68\" dy=\"21\">field mixed with invented ones<\/tspan>\n    <\/text>\n\n    <text\n      x=\"316\"\n      y=\"466\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"15\"\n      font-weight=\"600\"\n      fill=\"#5B6472\"\n    >\n      What a reviewer can observe\n    <\/text>\n\n    <circle cx=\"320\" cy=\"488\" r=\"4\" fill=\"#D9534F\"><\/circle>\n\n    <text\n      x=\"336\"\n      y=\"494\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Name and company match no record\n    <\/text>\n\n    <circle cx=\"320\" cy=\"514\" r=\"4\" fill=\"#D9534F\"><\/circle>\n\n    <text\n      x=\"336\"\n      y=\"520\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Job title and firm size disagree\n    <\/text>\n\n    <circle cx=\"320\" cy=\"540\" r=\"4\" fill=\"#D9534F\"><\/circle>\n\n    <text\n      x=\"336\"\n      y=\"546\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Fields filled in an unnatural order\n    <\/text>\n\n    <circle cx=\"320\" cy=\"566\" r=\"4\" fill=\"#D9534F\"><\/circle>\n\n    <text\n      x=\"336\"\n      y=\"572\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      One real element, the rest invented\n    <\/text>\n\n    <rect\n      x=\"680\"\n      y=\"458\"\n      width=\"268\"\n      height=\"106\"\n      rx=\"10\"\n      fill=\"#FFFFFF\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <text\n      x=\"698\"\n      y=\"482\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"15\"\n      font-weight=\"600\"\n      fill=\"#5B6472\"\n    >\n      Cost to replace after a block\n    <\/text>\n\n    <text\n      x=\"698\"\n      y=\"509\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      <tspan x=\"698\">Near zero when fully<\/tspan>\n      <tspan x=\"698\" dy=\"22\">invented. Higher when a real<\/tspan>\n      <tspan x=\"698\" dy=\"22\">element has to be reused.<\/tspan>\n    <\/text>\n\n    <!-- Footer band -->\n    <rect\n      x=\"40\"\n      y=\"602\"\n      width=\"920\"\n      height=\"76\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <text\n      x=\"68\"\n      y=\"634\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"18\"\n      font-weight=\"600\"\n      fill=\"#16181D\"\n    >\n      Why blocking one layer does not block the lead\n    <\/text>\n\n    <text\n      x=\"68\"\n      y=\"662\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      An operator who loses a domain keeps the number and the persona, swaps that one field, and submits again.\n    <\/text>\n  <\/svg>\n\n  <figcaption>\n    The email, phone, and identity layers are procured separately, so a\n    block on one of them costs the operator a single field.\n  <\/figcaption>\n<\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"checks-at-the-form-what-a-pass-actually-establishes\">Checks at the Form: What a Pass Actually Establishes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Validation at submission is fast, cheap, and narrower than its output implies. Each check answers one question, and the answer is easy to over-read as a verdict on the lead.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Check at the form<\/strong><\/th><th><strong>What a pass establishes<\/strong><\/th><th><strong>What a pass leaves open<\/strong><\/th><th><strong>Friction for a real user<\/strong><\/th><\/tr><\/thead><tbody><tr><td>Disposable domain list<\/td><td>The domain is not on a list you hold<\/td><td>Domains newer than the list, and catch-all domains<\/td><td>Low, until a real forwarding service is listed<\/td><\/tr><tr><td>Mailbox verification<\/td><td>The server accepts mail for that address<\/td><td>Whether a person reads it, since catch-all domains accept every guess<\/td><td>None<\/td><\/tr><tr><td>Line type lookup<\/td><td>The number class: mobile, fixed, or virtual<\/td><td>Whether a real number was borrowed for one message<\/td><td>Low, unless fixed lines are refused<\/td><\/tr><tr><td>Passcode confirmation<\/td><td>Someone could read a message sent there<\/td><td>Who read it, and whether they want your product<\/td><td>High, and it rises on weak connections<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Mitigations at this layer do exist. Twilio&#8217;s guidance on preventing fraud in verification flows documents line type intelligence so messages go only to mobile numbers, carrier-level blocking, and automated detection of unusual traffic patterns. Those reduce abuse of the sending path, a different problem from judging whether a record represents a buyer.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"checks-after-the-form-what-only-behavior-reveals\">Checks After the Form: What Only Behavior Reveals<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Post-submission checks read what a record does once it exists: whether the mailbox opens anything, whether a reply comes, whether a call connects, whether a meeting happens. None of that exists at submission, and all of it is cheap later.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Grouping matters more than individual records. A single lead that never replies is ordinary; a domain, a number range, or a source with a reply rate near zero across a cohort is a finding. Exposure is highest on unfiltered open programmatic supply and in long chains with opaque resellers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The comparison below sets the two stages side by side, and the band underneath is where a synthetic lead does its damage.<\/p>\n\n\n\n<style>\n  .adx-checks-matrix {\n    width: 100%;\n    max-width: 1000px;\n    margin: 24px auto;\n  }\n\n  .adx-checks-matrix svg {\n    display: block;\n    width: 100%;\n    height: auto;\n  }\n\n  .adx-checks-matrix figcaption {\n    margin-top: 10px;\n    color: #5b6472;\n    font-family: Lato, Helvetica, Arial, sans-serif;\n    font-size: 16px;\n    line-height: 1.5;\n    text-align: center;\n  }\n<\/style>\n\n<figure class=\"adx-checks-matrix\">\n  <svg\n    xmlns=\"http:\/\/www.w3.org\/2000\/svg\"\n    viewBox=\"0 0 1000 720\"\n    preserveAspectRatio=\"xMidYMid meet\"\n    role=\"img\"\n    aria-labelledby=\"checks-matrix-title checks-matrix-description\"\n  >\n    <title id=\"checks-matrix-title\">\n      Form-Time Checks vs Post-Submission Checks\n    <\/title>\n\n    <desc id=\"checks-matrix-description\">\n      A comparison of form-time and post-submission checks across what\n      each stage catches, what it misses, how long it takes, and what\n      it costs a real user, including the blind spot between them.\n    <\/desc>\n\n    <rect width=\"1000\" height=\"720\" fill=\"#FFFFFF\"><\/rect>\n\n    <!-- Main title -->\n    <text\n      x=\"40\"\n      y=\"48\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"24\"\n      font-weight=\"700\"\n      fill=\"#16181D\"\n    >\n      Form-Time Checks vs Post-Submission Checks\n    <\/text>\n\n    <text\n      x=\"40\"\n      y=\"76\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"14\"\n      fill=\"#5B6472\"\n    >\n      The two stages catch different things, and neither one covers the other&#8217;s gap.\n    <\/text>\n\n    <!-- Column headings -->\n    <rect\n      x=\"248\"\n      y=\"100\"\n      width=\"350\"\n      height=\"56\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <rect\n      x=\"248\"\n      y=\"100\"\n      width=\"350\"\n      height=\"6\"\n      rx=\"3\"\n      fill=\"#2F6BFF\"\n    ><\/rect>\n\n    <text\n      x=\"268\"\n      y=\"130\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"17\"\n      font-weight=\"600\"\n      fill=\"#16181D\"\n    >\n      Form-Time Checks\n    <\/text>\n\n    <text\n      x=\"268\"\n      y=\"149\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"14\"\n      fill=\"#5B6472\"\n    >\n      Runs before the record is saved\n    <\/text>\n\n    <rect\n      x=\"610\"\n      y=\"100\"\n      width=\"350\"\n      height=\"56\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <rect\n      x=\"610\"\n      y=\"100\"\n      width=\"350\"\n      height=\"6\"\n      rx=\"3\"\n      fill=\"#2FA37C\"\n    ><\/rect>\n\n    <text\n      x=\"630\"\n      y=\"130\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"17\"\n      font-weight=\"600\"\n      fill=\"#16181D\"\n    >\n      Post-Submission Checks\n    <\/text>\n\n    <text\n      x=\"630\"\n      y=\"149\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"14\"\n      fill=\"#5B6472\"\n    >\n      Runs on what the lead does later\n    <\/text>\n\n    <!-- What It Catches -->\n    <text\n      x=\"40\"\n      y=\"202\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"17\"\n      font-weight=\"600\"\n      fill=\"#16181D\"\n    >\n      What It Catches\n    <\/text>\n\n    <rect\n      x=\"248\"\n      y=\"170\"\n      width=\"350\"\n      height=\"118\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <text\n      x=\"268\"\n      y=\"201\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      <tspan x=\"268\">Malformed addresses, throwaway<\/tspan>\n      <tspan x=\"268\" dy=\"22\">domains already on a list, numbers<\/tspan>\n      <tspan x=\"268\" dy=\"22\">that do not route, non-mobile line<\/tspan>\n      <tspan x=\"268\" dy=\"22\">types, machine-speed submissions<\/tspan>\n    <\/text>\n\n    <rect\n      x=\"610\"\n      y=\"170\"\n      width=\"350\"\n      height=\"118\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <text\n      x=\"630\"\n      y=\"201\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      <tspan x=\"630\">Mailboxes that never open anything,<\/tspan>\n      <tspan x=\"630\" dy=\"22\">numbers that never answer a call,<\/tspan>\n      <tspan x=\"630\" dy=\"22\">names matching no record, cohorts<\/tspan>\n      <tspan x=\"630\" dy=\"22\">that book no first meeting<\/tspan>\n    <\/text>\n\n    <!-- What It Misses -->\n    <text\n      x=\"40\"\n      y=\"332\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"17\"\n      font-weight=\"600\"\n      fill=\"#16181D\"\n    >\n      What It Misses\n    <\/text>\n\n    <rect\n      x=\"248\"\n      y=\"300\"\n      width=\"350\"\n      height=\"118\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <text\n      x=\"268\"\n      y=\"331\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      <tspan x=\"268\">Fresh domains no list carries yet,<\/tspan>\n      <tspan x=\"268\" dy=\"22\">catch-all domains, tagged variants<\/tspan>\n      <tspan x=\"268\" dy=\"22\">of a real mailbox, a real mobile<\/tspan>\n      <tspan x=\"268\" dy=\"22\">number borrowed for one passcode<\/tspan>\n    <\/text>\n\n    <rect\n      x=\"610\"\n      y=\"300\"\n      width=\"350\"\n      height=\"118\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <text\n      x=\"630\"\n      y=\"331\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      <tspan x=\"630\">Everything at submission time. The<\/tspan>\n      <tspan x=\"630\" dy=\"22\">record is already stored, the sales<\/tspan>\n      <tspan x=\"630\" dy=\"22\">queue already has it, and the media<\/tspan>\n      <tspan x=\"630\" dy=\"22\">cost is already spent<\/tspan>\n    <\/text>\n\n    <!-- Latency -->\n    <text\n      x=\"40\"\n      y=\"455\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"17\"\n      font-weight=\"600\"\n      fill=\"#16181D\"\n    >\n      Latency\n    <\/text>\n\n    <rect\n      x=\"248\"\n      y=\"430\"\n      width=\"350\"\n      height=\"62\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <text\n      x=\"268\"\n      y=\"469\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Milliseconds. Decided before saving.\n    <\/text>\n\n    <rect\n      x=\"610\"\n      y=\"430\"\n      width=\"350\"\n      height=\"62\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <text\n      x=\"630\"\n      y=\"469\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Days to weeks. Behavior must exist.\n    <\/text>\n\n    <!-- Cost to a Real User -->\n    <text\n      x=\"40\"\n      y=\"533\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"17\"\n      font-weight=\"600\"\n      fill=\"#16181D\"\n    >\n      Cost to a Real User\n    <\/text>\n\n    <rect\n      x=\"248\"\n      y=\"504\"\n      width=\"350\"\n      height=\"84\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <text\n      x=\"268\"\n      y=\"537\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      <tspan x=\"268\">Real. Extra fields, passcode steps<\/tspan>\n      <tspan x=\"268\" dy=\"23\">and strict rules drop real buyers too.<\/tspan>\n    <\/text>\n\n    <rect\n      x=\"610\"\n      y=\"504\"\n      width=\"350\"\n      height=\"84\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <text\n      x=\"630\"\n      y=\"537\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      <tspan x=\"630\">None. The person never sees it.<\/tspan>\n      <tspan x=\"630\" dy=\"23\">It reads records already stored.<\/tspan>\n    <\/text>\n\n    <!-- Blind spot footer -->\n    <rect\n      x=\"40\"\n      y=\"604\"\n      width=\"920\"\n      height=\"96\"\n      rx=\"10\"\n      fill=\"#F4F6FA\"\n      stroke=\"#D8DEE9\"\n      stroke-width=\"1.5\"\n    ><\/rect>\n\n    <rect\n      x=\"40\"\n      y=\"604\"\n      width=\"920\"\n      height=\"6\"\n      rx=\"3\"\n      fill=\"#E8A33D\"\n    ><\/rect>\n\n    <text\n      x=\"68\"\n      y=\"641\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"17\"\n      font-weight=\"600\"\n      fill=\"#16181D\"\n    >\n      The blind spot between the two stages\n    <\/text>\n\n    <text\n      x=\"68\"\n      y=\"666\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      A deliverable mailbox, a mobile number that receives once, and a plausible name pass every form check.\n    <\/text>\n\n    <text\n      x=\"68\"\n      y=\"690\"\n      font-family=\"Lato, Helvetica, Arial, sans-serif\"\n      font-size=\"16\"\n      fill=\"#16181D\"\n    >\n      Nothing marks the record until engagement data exists, and by then the spend is already booked.\n    <\/text>\n  <\/svg>\n\n  <figcaption>\n    Form-time checks are instant and visible to real users,\n    post-submission checks are free to real users and late, and the\n    synthetic lead lives in the gap.\n  <\/figcaption>\n<\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why-a-clean-database-is-not-the-same-as-clean-revenue\">Why a Clean Database Is Not the Same as Clean Revenue<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Form-time validation optimizes for a database that looks correct. Revenue is a different objective, and under pressure the two separate. A record with valid syntax, a deliverable mailbox, and a routable mobile number is valid by every definition available at submission, and whether anyone behind it wants the product is not a question the form can ask.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That makes the rejection rate at the form a weak measure. It counts what your lists already knew, so it rises with sloppy fakes and falls with careful ones. A drop in rejections reads like an improvement and can equally mean the fakes got better.<\/p>\n\n\n<div class=\"block__bord\"><div class=\"block__bord_desc\"><p>The measure that carries information is the gap between accepted leads and leads that do anything afterward, tracked per source and per campaign. Two suppliers with identical acceptance rates and a wide difference in first-reply rate are not the same purchase. Analysts who inherit these records describe the same order of discovery: almost no rejections at the form, a CRM that looked healthy, and a problem that surfaced only when somebody divided contacted leads by leads that answered.<\/p>\n<\/div><\/div>\n<style>\n.block__bord { margin: 32px 0; padding: 1.25em 2.375em;\tborder-radius: 24px; background: rgba(0, 220, 200, 0.20); }\n.block__bord_desc {font-size: 16px !important;font-weight: 400 !important;color: #606060 !important;}\n<\/style>\n\n\n\n<p class=\"wp-block-paragraph\">One consequence is uncomfortable. The carefully assembled synthetic lead is invisible to form-time checks, so the money is usually committed before engagement data exists, and the realistic goal is to shorten the time between accepting a cohort and knowing what it is worth.<\/p>\n\n\n<div class=\"block__preview\">\n        <a href=\"https:\/\/adex.com\/blog\/free-trial-abuse-saas\/\" class=\"block__preview_img\"><img src=\"https:\/\/adex.com\/blog\/wp-content\/uploads\/2026\/07\/Adex-Free-Trial-Abuse-in-SaaS.png\" srcset=\"https:\/\/adex.com\/blog\/wp-content\/uploads\/2026\/07\/Adex-Free-Trial-Abuse-in-SaaS.png\" sizes=\"100vw\" alt=\"Adex - free trial abuse in SaaS showing how fraudulent signups distort growth metrics and increase infrastructure costs.\" decoding=\"async\" class=\"lazy\"><\/a>\n    <div class=\"block__preview_box\">\n        <a href=\"https:\/\/adex.com\/blog\/category\/current_risks\/\" class=\"block__preview_box-cat\">Current risks<\/a>        <h3 class=\"block__preview_box-title\" id=\"free-trial-abuse-in-saas-when-signups-cost-more-than-they-return\"><a href=\"https:\/\/adex.com\/blog\/free-trial-abuse-saas\/\">Free-Trial Abuse in SaaS: When Signups Cost More Than They Return<\/a><\/h3>\n    <\/div>\n<\/div>\n<style>\n.block__preview {display: flex;align-items: center;justify-content: center; margin: 32px 0;}\n.block__preview a {text-decoration: none;}\n.block__preview_img {min-width: 360px;max-width: 360px;min-height: 188px;width: 100%;height: 100%;}\n.block__preview_img img {width: 100%;height: 100%;}\n.block__preview_box {margin-left: 40px;max-width: 360px;}\n.block__preview_box-cat {color: #00B8A7 !important;font-weight: 600;font-size: 12px;line-height: 16px;text-transform: uppercase; display: block; margin-bottom: 4px;}\n.block__preview_box-cat:hover {color: #FE645A !important; text-decoration: none !important;}\n.block__preview_box-title {font-size: 20px;font-weight: 700;line-height: 24px;color: #0B172D;}\n.block__preview_box-title a {color: #0B172D !important;}\n.block__preview_box-title a:hover {color: #FE645A !important;}\n@media screen and (max-width: 768px) {.block__preview {flex-direction: column;}.block__preview_box {max-width: 100%; margin-top: 32px;margin-left: 0px;}.block__preview_img {max-width: 100%;min-width: 100%;min-height: 100%;}}<\/style>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-hardening-the-form-costs-you\">What Hardening the Form Costs You<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every check has a false positive class, and most cost conversions from real people. Disposable domain lists catch legitimate privacy forwarding services and regional providers on a shared domain, rejecting catch-all domains rejects real companies that run catch-all mail on purpose, and refusing plus-addressing blocks a habit careful users adopted. The phone layer is worse. Restricting delivery to mobile numbers is a reasonable defense against abuse of the sending path, and it also refuses real customers whose main number is a landline or a business VoIP line. A passcode step costs conversions wherever a message is slow.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There is no single setting that removes synthetic leads without removing real ones. The choice is which error you would rather pay for, priced as cost per lead against the cost of a sales hour spent on a record that was never a person. Naming that trade-off is more useful than treating a single threshold as the answer.<\/p>\n\n\n<div class=\"block__bord\"><div class=\"block__bord_desc\"><p>Two limits are worth stating flatly. Partial matches, the record anchored to one true element, are where scoring a single record on its own is least reliable, and settling them takes cohort-level context or a reviewer who has it. And nobody publishes the exact signal that flagged a record, because naming it is how an operator learns what to change next.<\/p>\n<\/div><\/div>\n<style>\n.block__bord { margin: 32px 0; padding: 1.25em 2.375em;\tborder-radius: 24px; background: rgba(0, 220, 200, 0.20); }\n.block__bord_desc {font-size: 16px !important;font-weight: 400 !important;color: #606060 !important;}\n<\/style>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"faq\">FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"what-is-fake-signups-detection\">What is fake signups detection? <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Fake signups detection is the practice of separating lead form submissions that represent a real person from submissions assembled out of throwaway data. It runs at the form (syntax validation, domain lists, line type lookups) and after it (whether the mailbox opens anything, whether the number answers).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-can-you-tell-if-an-email-address-is-disposable\">How can you tell if an email address is disposable? <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The reliable indicators are the domain and the behavior, not the address itself. Domains that appear only in new signups, and addresses that pass a deliverability check but never open a message, are both worth flagging. Public lists help and always lag.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"does-a-virtual-phone-number-always-mean-a-fake-lead\">Does a virtual phone number always mean a fake lead? <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No, and treating it as proof will cost you real customers, since plenty of legitimate buyers use VoIP or business numbers as their main line. It becomes strong evidence alongside other artifacts: one number confirming several signups, or a passcode confirmed with no engagement after.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"what-is-sms-pumping-and-why-does-it-target-lead-forms\">What is SMS pumping and why does it target lead forms? <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Twilio&#8217;s documentation describes SMS pumping fraud, also called artificially inflated traffic, as abuse of a phone number input field that triggers a one-time passcode or app download link by SMS, with the fraudster taking a share of the revenue from messages sent to number ranges controlled by a mobile network operator. The tell is volume in unfamiliar ranges with no activity after.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"should-you-block-catch-all-domains-on-your-lead-form\">Should you block catch-all domains on your lead form? <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Usually not as a hard block, because a catch-all domain accepts mail for any address and many real companies run their mail that way. Accepting them, marking them, and reading their engagement as a group is more workable.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"two-numbers-worth-putting-side-by-side\">Two Numbers Worth Putting Side by Side<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Acceptance rate at the form and the share of accepted leads that ever respond describe the same funnel, and they can move in opposite directions for weeks. A supplier sending carefully assembled synthetic leads improves the first number while flattening the second, which looks like progress in a validation report.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So the question to put to any lead source is not how many submissions were rejected. It is what happened to the ones that were accepted, grouped by where they came from, and how fast you can know. A fake lead is cheap to rebuild, but it cannot manufacture a reply.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Join our Telegram for more insights and share your ideas with fellow-affiliates.<\/p>\n\n\n    <div class=\"block__buttons\">\n        <a href=\"https:\/\/app.adex.com\/auth\/login\" class=\"block__buttons_btn\">JOIN ADEX<\/a>    <\/div>\n<style>\n    .block__buttons {\n        text-align: center;\n    }\n\n    .block__buttons_btn {\n        background-color: rgba(254, 100, 90, 1) !important;\n        border-radius: 200px !important;\n        padding: 16px 24px !important;\n        font-weight: 600 !important;\n        font-size: 18px !important;\n        line-height: 24px !important;\n        text-align: center !important;\n        display: inline-block !important;\n        color: #fff !important;\n        text-decoration: none !important;\n        text-transform: uppercase !important;\n    }\n\n    .block__buttons_btn:hover {\n        color: rgba(11, 31, 58, 1) !important;\n    }\n<\/style>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Are valid emails and verified numbers filling your CRM with leads that never reply? See how Fake Signup Detection spots them sooner, helping protect your budget and your sales team\u2019s time.<\/p>\n","protected":false},"author":8,"featured_media":6021,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[18,16],"class_list":["post-5978","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-current_risks","tag-fraud","tag-threat"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fake Signup Detection: How to Spot Fake Leads<\/title>\n<meta name=\"description\" content=\"Fake Signup Detection spots disposable emails, virtual numbers, and synthetic identities. Expose fake leads and protect your budget.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/adex.com\/blog\/fake-signup-detection\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fake Signup Detection: How to Spot Fake Leads\" \/>\n<meta property=\"og:description\" content=\"Fake Signup Detection spots disposable emails, virtual numbers, and synthetic identities. Expose fake leads and protect your budget.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/adex.com\/blog\/fake-signup-detection\/\" \/>\n<meta property=\"og:site_name\" content=\"ADEX\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/adexsaas\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-17T15:32:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-17T15:48:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/adex.com\/blog\/wp-content\/uploads\/2026\/07\/adex-fake-signups-in-lead-forms.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Olya Mikheeva\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@adexsaas\" \/>\n<meta name=\"twitter:site\" content=\"@adexsaas\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olya Mikheeva\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/fake-signup-detection\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/fake-signup-detection\\\/\"},\"author\":{\"name\":\"Olya Mikheeva\",\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/#\\\/schema\\\/person\\\/c5794aef7aa28987e7019a804390ee3a\"},\"headline\":\"Fake Signups Detection: Disposable Emails, Virtual Numbers, Synthetic Identities\",\"datePublished\":\"2026-08-17T15:32:32+00:00\",\"dateModified\":\"2026-08-17T15:48:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/fake-signup-detection\\\/\"},\"wordCount\":2476,\"publisher\":{\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/fake-signup-detection\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/adex.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/adex-fake-signups-in-lead-forms.png\",\"keywords\":[\"Fraud\",\"Threat\"],\"articleSection\":[\"Current risks\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/fake-signup-detection\\\/\",\"url\":\"https:\\\/\\\/adex.com\\\/blog\\\/fake-signup-detection\\\/\",\"name\":\"Fake Signup Detection: How to Spot Fake Leads\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/fake-signup-detection\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/fake-signup-detection\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/adex.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/adex-fake-signups-in-lead-forms.png\",\"datePublished\":\"2026-08-17T15:32:32+00:00\",\"dateModified\":\"2026-08-17T15:48:12+00:00\",\"description\":\"Fake Signup Detection spots disposable emails, virtual numbers, and synthetic identities. Expose fake leads and protect your budget.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/fake-signup-detection\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/adex.com\\\/blog\\\/fake-signup-detection\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/fake-signup-detection\\\/#primaryimage\",\"url\":\"https:\\\/\\\/adex.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/adex-fake-signups-in-lead-forms.png\",\"contentUrl\":\"https:\\\/\\\/adex.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/adex-fake-signups-in-lead-forms.png\",\"width\":1200,\"height\":628,\"caption\":\"Fake signups in lead forms: disposable emails, virtual SMS numbers and synthetic identities. What a fake lead costs and which checks stop it before your CRM.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/fake-signup-detection\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/adex.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fake Signups Detection: Disposable Emails, Virtual Numbers, Synthetic Identities\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/adex.com\\\/blog\\\/\",\"name\":\"ADEX - Ad Fraud & Invalid Traffic Prevention Platform\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/#organization\"},\"alternateName\":\"ADEX\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/adex.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/#organization\",\"name\":\"ADEX - Ad Fraud & Invalid Traffic Prevention Platform\",\"url\":\"https:\\\/\\\/adex.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/adex.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/CDD2258_copy-48-1.svg\",\"contentUrl\":\"https:\\\/\\\/adex.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/CDD2258_copy-48-1.svg\",\"width\":148,\"height\":30,\"caption\":\"ADEX - Ad Fraud & Invalid Traffic Prevention Platform\"},\"image\":{\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/adexsaas\\\/\",\"https:\\\/\\\/x.com\\\/adexsaas\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/adex.com\\\/blog\\\/#\\\/schema\\\/person\\\/c5794aef7aa28987e7019a804390ee3a\",\"name\":\"Olya Mikheeva\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7e1ca40f4b08b576bd7c51e8946605febbcaa99bf482f69ead517b1cd512de42?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7e1ca40f4b08b576bd7c51e8946605febbcaa99bf482f69ead517b1cd512de42?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/7e1ca40f4b08b576bd7c51e8946605febbcaa99bf482f69ead517b1cd512de42?s=96&d=mm&r=g\",\"caption\":\"Olya Mikheeva\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fake Signup Detection: How to Spot Fake Leads","description":"Fake Signup Detection spots disposable emails, virtual numbers, and synthetic identities. Expose fake leads and protect your budget.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/adex.com\/blog\/fake-signup-detection\/","og_locale":"en_US","og_type":"article","og_title":"Fake Signup Detection: How to Spot Fake Leads","og_description":"Fake Signup Detection spots disposable emails, virtual numbers, and synthetic identities. Expose fake leads and protect your budget.","og_url":"https:\/\/adex.com\/blog\/fake-signup-detection\/","og_site_name":"ADEX","article_publisher":"https:\/\/www.facebook.com\/adexsaas\/","article_published_time":"2026-08-17T15:32:32+00:00","article_modified_time":"2026-08-17T15:48:12+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/adex.com\/blog\/wp-content\/uploads\/2026\/07\/adex-fake-signups-in-lead-forms.png","type":"image\/png"}],"author":"Olya Mikheeva","twitter_card":"summary_large_image","twitter_creator":"@adexsaas","twitter_site":"@adexsaas","twitter_misc":{"Written by":"Olya Mikheeva","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/adex.com\/blog\/fake-signup-detection\/#article","isPartOf":{"@id":"https:\/\/adex.com\/blog\/fake-signup-detection\/"},"author":{"name":"Olya Mikheeva","@id":"https:\/\/adex.com\/blog\/#\/schema\/person\/c5794aef7aa28987e7019a804390ee3a"},"headline":"Fake Signups Detection: Disposable Emails, Virtual Numbers, Synthetic Identities","datePublished":"2026-08-17T15:32:32+00:00","dateModified":"2026-08-17T15:48:12+00:00","mainEntityOfPage":{"@id":"https:\/\/adex.com\/blog\/fake-signup-detection\/"},"wordCount":2476,"publisher":{"@id":"https:\/\/adex.com\/blog\/#organization"},"image":{"@id":"https:\/\/adex.com\/blog\/fake-signup-detection\/#primaryimage"},"thumbnailUrl":"https:\/\/adex.com\/blog\/wp-content\/uploads\/2026\/07\/adex-fake-signups-in-lead-forms.png","keywords":["Fraud","Threat"],"articleSection":["Current risks"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/adex.com\/blog\/fake-signup-detection\/","url":"https:\/\/adex.com\/blog\/fake-signup-detection\/","name":"Fake Signup Detection: How to Spot Fake Leads","isPartOf":{"@id":"https:\/\/adex.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/adex.com\/blog\/fake-signup-detection\/#primaryimage"},"image":{"@id":"https:\/\/adex.com\/blog\/fake-signup-detection\/#primaryimage"},"thumbnailUrl":"https:\/\/adex.com\/blog\/wp-content\/uploads\/2026\/07\/adex-fake-signups-in-lead-forms.png","datePublished":"2026-08-17T15:32:32+00:00","dateModified":"2026-08-17T15:48:12+00:00","description":"Fake Signup Detection spots disposable emails, virtual numbers, and synthetic identities. Expose fake leads and protect your budget.","breadcrumb":{"@id":"https:\/\/adex.com\/blog\/fake-signup-detection\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/adex.com\/blog\/fake-signup-detection\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/adex.com\/blog\/fake-signup-detection\/#primaryimage","url":"https:\/\/adex.com\/blog\/wp-content\/uploads\/2026\/07\/adex-fake-signups-in-lead-forms.png","contentUrl":"https:\/\/adex.com\/blog\/wp-content\/uploads\/2026\/07\/adex-fake-signups-in-lead-forms.png","width":1200,"height":628,"caption":"Fake signups in lead forms: disposable emails, virtual SMS numbers and synthetic identities. What a fake lead costs and which checks stop it before your CRM."},{"@type":"BreadcrumbList","@id":"https:\/\/adex.com\/blog\/fake-signup-detection\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/adex.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Fake Signups Detection: Disposable Emails, Virtual Numbers, Synthetic Identities"}]},{"@type":"WebSite","@id":"https:\/\/adex.com\/blog\/#website","url":"https:\/\/adex.com\/blog\/","name":"ADEX - Ad Fraud & Invalid Traffic Prevention Platform","description":"","publisher":{"@id":"https:\/\/adex.com\/blog\/#organization"},"alternateName":"ADEX","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/adex.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/adex.com\/blog\/#organization","name":"ADEX - Ad Fraud & Invalid Traffic Prevention Platform","url":"https:\/\/adex.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/adex.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/adex.com\/blog\/wp-content\/uploads\/2022\/05\/CDD2258_copy-48-1.svg","contentUrl":"https:\/\/adex.com\/blog\/wp-content\/uploads\/2022\/05\/CDD2258_copy-48-1.svg","width":148,"height":30,"caption":"ADEX - Ad Fraud & Invalid Traffic Prevention Platform"},"image":{"@id":"https:\/\/adex.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/adexsaas\/","https:\/\/x.com\/adexsaas"]},{"@type":"Person","@id":"https:\/\/adex.com\/blog\/#\/schema\/person\/c5794aef7aa28987e7019a804390ee3a","name":"Olya Mikheeva","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/7e1ca40f4b08b576bd7c51e8946605febbcaa99bf482f69ead517b1cd512de42?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/7e1ca40f4b08b576bd7c51e8946605febbcaa99bf482f69ead517b1cd512de42?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7e1ca40f4b08b576bd7c51e8946605febbcaa99bf482f69ead517b1cd512de42?s=96&d=mm&r=g","caption":"Olya Mikheeva"}}]}},"_links":{"self":[{"href":"https:\/\/adex.com\/blog\/wp-json\/wp\/v2\/posts\/5978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adex.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adex.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adex.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/adex.com\/blog\/wp-json\/wp\/v2\/comments?post=5978"}],"version-history":[{"count":10,"href":"https:\/\/adex.com\/blog\/wp-json\/wp\/v2\/posts\/5978\/revisions"}],"predecessor-version":[{"id":6028,"href":"https:\/\/adex.com\/blog\/wp-json\/wp\/v2\/posts\/5978\/revisions\/6028"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/adex.com\/blog\/wp-json\/wp\/v2\/media\/6021"}],"wp:attachment":[{"href":"https:\/\/adex.com\/blog\/wp-json\/wp\/v2\/media?parent=5978"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adex.com\/blog\/wp-json\/wp\/v2\/categories?post=5978"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adex.com\/blog\/wp-json\/wp\/v2\/tags?post=5978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}