{"id":9573,"date":"2026-07-27T14:34:23","date_gmt":"2026-07-27T14:34:23","guid":{"rendered":"https:\/\/tradegoai.app\/?post_type=tools&#038;p=9573"},"modified":"2026-07-27T14:35:45","modified_gmt":"2026-07-27T14:35:45","slug":"cong-cu-lam-sach-danh-sach-khach-hang-tiem-nang","status":"publish","type":"tools","link":"https:\/\/tradegoai.app\/vi\/tools\/lead-list-cleaner\/","title":{"rendered":"C\u00f4ng c\u1ee5 l\u00e0m s\u1ea1ch danh s\u00e1ch kh\u00e1ch h\u00e0ng ti\u1ec1m n\u0103ng"},"content":{"rendered":"\t<section\n\t\tid=\"tga-lead-cleaner-1\"\n\t\tclass=\"tga-lead-cleaner-tool\"\n\t\taria-labelledby=\"tga-lead-cleaner-1-title\"\n\t>\n\t\t<style>\n\t\t\t#tga-lead-cleaner-1 {\n\t\t\t\t--tga-navy: #0f1831;\n\t\t\t\t--tga-purple: #6528f7;\n\t\t\t\t--tga-purple-dark: #501bd8;\n\t\t\t\t--tga-lilac: #f2efff;\n\t\t\t\t--tga-line: #e2e8f0;\n\t\t\t\t--tga-muted: #64748b;\n\t\t\t\t--tga-white: #fff;\n\t\t\t\tmax-width: 1180px;\n\t\t\t\tmargin: 44px auto 72px;\n\t\t\t\tpadding: 0 22px;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-family: inherit;\n\t\t\t\tbox-sizing: border-box;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 * { box-sizing: border-box; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-hero {\n\t\t\t\tposition: relative;\n\t\t\t\toverflow: hidden;\n\t\t\t\tpadding: 46px 48px;\n\t\t\t\tborder-radius: 22px;\n\t\t\t\tcolor: var(--tga-white);\n\t\t\t\tbackground: radial-gradient(circle at 88% 18%, rgba(101, 40, 247, .78), transparent 34%), linear-gradient(135deg, #081127 0%, #131d42 100%);\n\t\t\t\tbox-shadow: 0 20px 55px rgba(15, 23, 42, .16);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-hero::after {\n\t\t\t\tcontent: \"\u2713\";\n\t\t\t\tposition: absolute;\n\t\t\t\tright: 34px;\n\t\t\t\ttop: -35px;\n\t\t\t\tcolor: rgba(255, 255, 255, .08);\n\t\t\t\tfont-size: 220px;\n\t\t\t\tfont-weight: 800;\n\t\t\t\tline-height: 1;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-eyebrow {\n\t\t\t\tposition: relative;\n\t\t\t\tz-index: 1;\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin-bottom: 12px;\n\t\t\t\tcolor: #cbbcff;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 800;\n\t\t\t\tletter-spacing: .12em;\n\t\t\t\ttext-transform: uppercase;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-hero h1 {\n\t\t\t\tposition: relative;\n\t\t\t\tz-index: 1;\n\t\t\t\tmax-width: 820px;\n\t\t\t\tmargin: 0;\n\t\t\t\tcolor: var(--tga-white);\n\t\t\t\tfont-size: clamp(38px, 6vw, 64px);\n\t\t\t\tline-height: 1.08;\n\t\t\t\tletter-spacing: -.035em;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-hero p {\n\t\t\t\tposition: relative;\n\t\t\t\tz-index: 1;\n\t\t\t\tmax-width: 790px;\n\t\t\t\tmargin: 20px 0 0;\n\t\t\t\tcolor: #dce4ff;\n\t\t\t\tfont-size: 18px;\n\t\t\t\tline-height: 1.65;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-workspace {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgap: 24px;\n\t\t\t\tmargin-top: 24px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-panel,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-section {\n\t\t\t\tpadding: 26px;\n\t\t\t\tborder: 1px solid var(--tga-line);\n\t\t\t\tborder-radius: 18px;\n\t\t\t\tbackground: var(--tga-white);\n\t\t\t\tbox-shadow: 0 12px 34px rgba(15, 23, 42, .07);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-panel-title {\n\t\t\t\tmargin: 0 0 6px;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-size: 20px;\n\t\t\t\tline-height: 1.3;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-panel-copy,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-section-intro {\n\t\t\t\tmargin: 0 0 20px;\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\tfont-size: 14px;\n\t\t\t\tline-height: 1.65;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-input-grid {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgrid-template-columns: minmax(0, 1.6fr) minmax(260px, .65fr);\n\t\t\t\tgap: 22px;\n\t\t\t\talign-items: start;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 label,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-label {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin: 0 0 7px;\n\t\t\t\tcolor: #334155;\n\t\t\t\tfont-size: 13px;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 textarea,\n\t\t\t#tga-lead-cleaner-1 select {\n\t\t\t\twidth: 100%;\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 11px 13px;\n\t\t\t\tborder: 1px solid #cbd5e1;\n\t\t\t\tborder-radius: 10px;\n\t\t\t\toutline: none;\n\t\t\t\tbackground: var(--tga-white);\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont: inherit;\n\t\t\t\tfont-size: 16px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 textarea {\n\t\t\t\tmin-height: 310px;\n\t\t\t\tresize: vertical;\n\t\t\t\tfont-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;\n\t\t\t\tfont-size: 13px;\n\t\t\t\tline-height: 1.55;\n\t\t\t\twhite-space: pre;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 select { min-height: 48px; }\n\t\t\t#tga-lead-cleaner-1 textarea:focus,\n\t\t\t#tga-lead-cleaner-1 select:focus {\n\t\t\t\tborder-color: var(--tga-purple);\n\t\t\t\tbox-shadow: 0 0 0 3px rgba(101, 40, 247, .12);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-settings {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgap: 16px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-upload {\n\t\t\t\tdisplay: flex;\n\t\t\t\tmin-height: 92px;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\tpadding: 16px;\n\t\t\t\tborder: 1px dashed #a78bfa;\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tcursor: pointer;\n\t\t\t\tbackground: var(--tga-lilac);\n\t\t\t\tcolor: #4c1d95;\n\t\t\t\tfont-size: 13px;\n\t\t\t\tfont-weight: 750;\n\t\t\t\ttext-align: center;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-upload:hover { border-color: var(--tga-purple); }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-upload input {\n\t\t\t\tposition: absolute;\n\t\t\t\twidth: 1px;\n\t\t\t\theight: 1px;\n\t\t\t\toverflow: hidden;\n\t\t\t\tclip: rect(0 0 0 0);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-check {\n\t\t\t\tdisplay: flex;\n\t\t\t\tgap: 10px;\n\t\t\t\talign-items: flex-start;\n\t\t\t\tmargin: 0;\n\t\t\t\tfont-weight: 600;\n\t\t\t\tline-height: 1.5;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-check input {\n\t\t\t\twidth: 18px;\n\t\t\t\theight: 18px;\n\t\t\t\tmargin: 2px 0 0;\n\t\t\t\taccent-color: var(--tga-purple);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-help {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin-top: 6px;\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\tfont-size: 11px;\n\t\t\t\tline-height: 1.5;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-error {\n\t\t\t\tmin-height: 20px;\n\t\t\t\tmargin-top: 8px;\n\t\t\t\tcolor: #b91c1c;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-actions,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-result-actions {\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-wrap: wrap;\n\t\t\t\tgap: 10px;\n\t\t\t\tmargin-top: 20px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-button {\n\t\t\t\tdisplay: inline-flex;\n\t\t\t\tmin-height: 46px;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\tpadding: 11px 16px;\n\t\t\t\tborder: 1px solid transparent;\n\t\t\t\tborder-radius: 10px;\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont: inherit;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight: 700;\n\t\t\t\tline-height: 1.2;\n\t\t\t\ttext-decoration: none;\n\t\t\t\ttransition: transform .16s ease, background .16s ease;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-button:hover { transform: translateY(-1px); }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-button:focus-visible,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-upload:focus-within,\n\t\t\t#tga-lead-cleaner-1 summary:focus-visible {\n\t\t\t\toutline: 3px solid rgba(101, 40, 247, .32);\n\t\t\t\toutline-offset: 3px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-button--primary {\n\t\t\t\tbackground: var(--tga-purple);\n\t\t\t\tcolor: var(--tga-white);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-button--primary:hover {\n\t\t\t\tbackground: var(--tga-purple-dark);\n\t\t\t\tcolor: var(--tga-white);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-button--secondary {\n\t\t\t\tborder-color: var(--tga-line);\n\t\t\t\tbackground: var(--tga-white);\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-stats {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgrid-template-columns: repeat(4, minmax(0, 1fr));\n\t\t\t\tgap: 12px;\n\t\t\t\tmargin-bottom: 20px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-stat {\n\t\t\t\tpadding: 15px;\n\t\t\t\tborder: 1px solid var(--tga-line);\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tbackground: #fbfdff;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-stat strong {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin-bottom: 3px;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-size: 24px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-stat span {\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\tfont-size: 11px;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap {\n\t\t\t\tmax-height: 490px;\n\t\t\t\toverflow: auto;\n\t\t\t\tborder: 1px solid #dbe3ef;\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tbackground: var(--tga-white);\n\t\t\t\tbox-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);\n\t\t\t\tscrollbar-color: #cbd5e1 transparent;\n\t\t\t\tscrollbar-width: thin;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap table {\n\t\t\t\twidth: 100%;\n\t\t\t\tmin-width: 760px;\n\t\t\t\tmargin: 0;\n\t\t\t\tborder: 0 !important;\n\t\t\t\tborder-collapse: separate;\n\t\t\t\tborder-spacing: 0;\n\t\t\t\toutline: 0;\n\t\t\t\tbackground: var(--tga-white);\n\t\t\t\tbox-shadow: none;\n\t\t\t\tfont-size: 12px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap th,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap td {\n\t\t\t\tpadding: 13px 14px;\n\t\t\t\tborder: 0 !important;\n\t\t\t\tborder-bottom: 1px solid #e5eaf2 !important;\n\t\t\t\tbackground-clip: padding-box;\n\t\t\t\ttext-align: left;\n\t\t\t\tvertical-align: middle;\n\t\t\t\twhite-space: nowrap;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap th {\n\t\t\t\tposition: sticky;\n\t\t\t\tz-index: 2;\n\t\t\t\ttop: 0;\n\t\t\t\tbackground: #f6f8fc;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-weight: 800;\n\t\t\t\tletter-spacing: 0.01em;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap tbody tr:nth-child(even) td {\n\t\t\t\tbackground: #fbfcff;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap tbody tr:hover td {\n\t\t\t\tbackground: #f5f3ff;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap td {\n\t\t\t\tcolor: #475569;\n\t\t\t\tline-height: 1.45;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-table-wrap tbody tr:last-child td {\n\t\t\t\tborder-bottom: 0 !important;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-empty {\n\t\t\t\tpadding: 50px 20px;\n\t\t\t\tborder: 1px dashed #cbd5e1;\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\ttext-align: center;\n\t\t\t\tline-height: 1.7;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-note {\n\t\t\t\tmargin: 15px 0 0;\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\tfont-size: 11px;\n\t\t\t\tline-height: 1.6;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-status {\n\t\t\t\tmin-height: 20px;\n\t\t\t\tmargin-top: 10px;\n\t\t\t\tcolor: #166534;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 700;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-after {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgap: 24px;\n\t\t\t\tmargin-top: 24px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-section { padding: 30px; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-section h2 {\n\t\t\t\tmargin: 0 0 8px;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-size: clamp(23px, 3vw, 30px);\n\t\t\t\tline-height: 1.25;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-info-grid,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-related-grid {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgrid-template-columns: repeat(3, minmax(0, 1fr));\n\t\t\t\tgap: 14px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-info-card,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-related-card {\n\t\t\t\tpadding: 18px;\n\t\t\t\tborder: 1px solid var(--tga-line);\n\t\t\t\tborder-radius: 13px;\n\t\t\t\tbackground: #fbfdff;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-info-card strong,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-related-card strong {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin-bottom: 7px;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-size: 14px;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-info-card p,\n\t\t\t#tga-lead-cleaner-1 .tga-llc-related-card span {\n\t\t\t\tmargin: 0;\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\tfont-size: 12px;\n\t\t\t\tline-height: 1.6;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid {\n\t\t\t\tdisplay: flex;\n\t\t\t\tgap: 28px;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\tcolor: var(--tga-white);\n\t\t\t\tbackground: linear-gradient(135deg, #111827, #2e1768);\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid h2 { color: var(--tga-white); }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid p {\n\t\t\t\tmax-width: 760px;\n\t\t\t\tmargin: 0;\n\t\t\t\tcolor: #dce4ff;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tline-height: 1.7;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid-label {\n\t\t\t\tdisplay: block;\n\t\t\t\tmargin-bottom: 8px;\n\t\t\t\tcolor: #bfa9ff;\n\t\t\t\tfont-size: 11px;\n\t\t\t\tfont-weight: 800;\n\t\t\t\tletter-spacing: .06em;\n\t\t\t\ttext-transform: uppercase;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-faq-list { display: grid; gap: 10px; }\n\t\t\t#tga-lead-cleaner-1 details {\n\t\t\t\tborder: 1px solid var(--tga-line);\n\t\t\t\tborder-radius: 12px;\n\t\t\t\tbackground: #fbfdff;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 summary {\n\t\t\t\tpadding: 17px 18px;\n\t\t\t\tcursor: pointer;\n\t\t\t\tcolor: var(--tga-navy);\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight: 750;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 details p {\n\t\t\t\tmargin: 0;\n\t\t\t\tpadding: 0 18px 18px;\n\t\t\t\tcolor: var(--tga-muted);\n\t\t\t\tfont-size: 13px;\n\t\t\t\tline-height: 1.7;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-related-card {\n\t\t\t\tdisplay: block;\n\t\t\t\tcolor: inherit;\n\t\t\t\ttext-decoration: none;\n\t\t\t\ttransition: transform .16s ease, border-color .16s ease;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-related-card:hover {\n\t\t\t\ttransform: translateY(-2px);\n\t\t\t\tborder-color: #bba8ff;\n\t\t\t}\n\t\t\t#tga-lead-cleaner-1 .tga-llc-i18n {\n\t\t\t\tposition: absolute !important;\n\t\t\t\twidth: 1px !important;\n\t\t\t\theight: 1px !important;\n\t\t\t\toverflow: hidden !important;\n\t\t\t\tclip: rect(0 0 0 0) !important;\n\t\t\t\twhite-space: nowrap !important;\n\t\t\t}\n\t\t\t\n\t\t\t\/* TGA_FREE_TOOL_COMPONENT_STANDARD *\/\n\t\t\t#tga-lead-cleaner-1 details { padding:0; border:0; border-bottom:1px solid #e2e8f0; border-radius:0; background:transparent; }\n\t\t\t#tga-lead-cleaner-1 details:last-child { border-bottom:0; }\n\t\t\t#tga-lead-cleaner-1 summary { padding:17px 0; font-weight:800; }\n\t\t\t#tga-lead-cleaner-1 details p { margin:-3px 0 18px; padding:0; color:#64748b; font-size:14px; line-height:1.7; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid { border-color:transparent; background:linear-gradient(135deg,#0f1831,#34206f); color:#fff; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid h2 { color:#fff; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid p { color:#dce4ff; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid-label { color:#cbbcff; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid .tga-llc-button { border-color:#fff; background:#fff; color:#0f1831; }\n\t\t\t#tga-lead-cleaner-1 .tga-llc-paid .tga-llc-button:hover { background:#f8fafc; color:#0f1831; }\n@media (max-width: 900px) {\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-input-grid { grid-template-columns: 1fr; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-info-grid,\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-related-grid { grid-template-columns: 1fr; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-paid {\n\t\t\t\t\talign-items: flex-start;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t}\n\t\t\t}\n\t\t\t@media (max-width: 600px) {\n\t\t\t\t#tga-lead-cleaner-1 {\n\t\t\t\t\tmargin-top: 24px;\n\t\t\t\t\tpadding: 0 0px;\n\t\t\t\t}\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-hero { padding: 31px 23px; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-hero::after { font-size: 150px; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-hero p { font-size: 15px; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-panel,\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-section { padding: 22px 18px; }\n\t\t\t\t#tga-lead-cleaner-1 textarea { min-height: 260px; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-stats { grid-template-columns: 1fr 1fr; }\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-actions .tga-llc-button,\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-result-actions .tga-llc-button,\n\t\t\t\t#tga-lead-cleaner-1 .tga-llc-paid .tga-llc-button { width: 100%; }\n\t\t\t}\n\t\t\n\t\t\t\/* TGA_FREE_TOOL_FOCUS_STANDARD *\/\n\t\t\t#tga-lead-cleaner-1 button:focus-visible,\n\t\t\t#tga-lead-cleaner-1 a:focus-visible,\n\t\t\t#tga-lead-cleaner-1 summary:focus-visible,\n\t\t\t#tga-lead-cleaner-1 input:focus-visible,\n\t\t\t#tga-lead-cleaner-1 select:focus-visible,\n\t\t\t#tga-lead-cleaner-1 textarea:focus-visible { outline: 3px solid rgba(101, 40, 247, .24); outline-offset: 3px; }\n<\/style>\n\n\t\t<header class=\"tga-llc-hero\">\n\t\t\t<span class=\"tga-llc-eyebrow\">Prepare Cleaner Lead Data<\/span>\n\t\t\t<h1 id=\"tga-lead-cleaner-1-title\">Lead List Cleaner<\/h1>\n\t\t\t<p>Remove duplicate leads, trim inconsistent fields, normalize email case, and download a cleaner CSV before outreach or CRM import.<\/p>\n\t\t<\/header>\n\n\t\t<div class=\"tga-llc-workspace\">\n\t\t\t<section class=\"tga-llc-panel\" aria-labelledby=\"tga-lead-cleaner-1-input-title\">\n\t\t\t\t<h2 id=\"tga-lead-cleaner-1-input-title\" class=\"tga-llc-panel-title\">Add Your Lead List<\/h2>\n\t\t\t\t<p class=\"tga-llc-panel-copy\">Paste a table with a header row or choose a CSV or TSV file from your device.<\/p>\n\n\t\t\t\t<div class=\"tga-llc-input-grid\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<label for=\"tga-lead-cleaner-1-data\">Lead Data *<\/label>\n\t\t\t\t\t\t<textarea id=\"tga-lead-cleaner-1-data\" name=\"lead_data\" maxlength=\"2000000\" spellcheck=\"false\">First Name,Last Name,Company,Email,Phone,Country\nAlex,Morgan,Northstar Imports,Alex.Morgan@Example.com,+1 212 555 0198,United States\n Alex , Morgan ,Northstar Imports,alex.morgan@example.com,+1 212 555 0198,United States\nMaya,Chen,Pacific Retail,maya.chen@pacific.example,+86 21 5555 0188,China\nOmar,Hassan,Crescent Trading,OMAR@CRESCENT.EXAMPLE,+971 4 555 0130,United Arab Emirates<\/textarea>\n\t\t\t\t\t\t<span class=\"tga-llc-help\">Supports comma, tab, and semicolon separators. Maximum 10,000 data rows.<\/span>\n\t\t\t\t\t\t<div class=\"tga-llc-error\" role=\"alert\" aria-live=\"assertive\"><\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"tga-llc-settings\">\n\t\t\t\t\t\t<label class=\"tga-llc-upload\">\n\t\t\t\t\t\t\t<span data-file-label>Choose CSV or TSV File<\/span>\n\t\t\t\t\t\t\t<input type=\"file\" accept=\".csv,.tsv,text\/csv,text\/tab-separated-values,text\/plain\" data-action=\"file\">\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label for=\"tga-lead-cleaner-1-duplicate\">Find Duplicates By<\/label>\n\t\t\t\t\t\t\t<select id=\"tga-lead-cleaner-1-duplicate\" name=\"duplicate_key\">\n\t\t\t\t\t\t\t\t<option value=\"auto\">Auto Detect<\/option>\n\t\t\t\t\t\t\t\t<option value=\"email\">Email<\/option>\n\t\t\t\t\t\t\t\t<option value=\"phone\">Phone<\/option>\n\t\t\t\t\t\t\t\t<option value=\"company\">Company<\/option>\n\t\t\t\t\t\t\t\t<option value=\"row\">Entire Row<\/option>\n\t\t\t\t\t\t\t<\/select>\n\t\t\t\t\t\t\t<span class=\"tga-llc-help\">Auto Detect prefers Email, then Phone, Company, and Entire Row.<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<label class=\"tga-llc-check\">\n\t\t\t\t\t\t\t<input type=\"checkbox\" name=\"lowercase_email\" checked>\n\t\t\t\t\t\t\t<span>Convert email addresses to lowercase<\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<label class=\"tga-llc-check\">\n\t\t\t\t\t\t\t<input type=\"checkbox\" name=\"protect_csv\" checked>\n\t\t\t\t\t\t\t<span>Protect formula-like cells in the downloaded CSV<\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t\t<div class=\"tga-llc-actions\">\n\t\t\t\t\t<button class=\"tga-llc-button tga-llc-button--primary\" type=\"button\" data-action=\"clean\">Clean Lead List<\/button>\n\t\t\t\t\t<button class=\"tga-llc-button tga-llc-button--secondary\" type=\"button\" data-action=\"reset\">Reset<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\n\t\t\t<section class=\"tga-llc-panel\" aria-labelledby=\"tga-lead-cleaner-1-results-title\">\n\t\t\t\t<h2 id=\"tga-lead-cleaner-1-results-title\" class=\"tga-llc-panel-title\">Cleaned List Preview<\/h2>\n\t\t\t\t<p class=\"tga-llc-panel-copy\">Review the cleaned rows before copying or downloading the complete file.<\/p>\n\t\t\t\t<div class=\"tga-llc-stats\" hidden>\n\t\t\t\t\t<div class=\"tga-llc-stat\"><strong data-stat=\"input\">0<\/strong><span>Input Rows<\/span><\/div>\n\t\t\t\t\t<div class=\"tga-llc-stat\"><strong data-stat=\"kept\">0<\/strong><span>Rows Kept<\/span><\/div>\n\t\t\t\t\t<div class=\"tga-llc-stat\"><strong data-stat=\"duplicates\">0<\/strong><span>Duplicates Removed<\/span><\/div>\n\t\t\t\t\t<div class=\"tga-llc-stat\"><strong data-stat=\"changed\">0<\/strong><span>Cells Standardized<\/span><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"tga-llc-preview\">\n\t\t\t\t\t<div class=\"tga-llc-empty\">Clean the sample list or add your own data to preview the results.<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"tga-llc-result-actions\">\n\t\t\t\t\t<button class=\"tga-llc-button tga-llc-button--secondary\" type=\"button\" data-action=\"copy\">Copy Clean CSV<\/button>\n\t\t\t\t\t<button class=\"tga-llc-button tga-llc-button--primary\" type=\"button\" data-action=\"download\">Download Clean CSV<\/button>\n\t\t\t\t<\/div>\n\t\t\t\t<p class=\"tga-llc-note\">The preview shows up to 50 rows. Copy and Download include every cleaned row. Formula-like cells are protected in downloaded CSV files when that option is selected.<\/p>\n\t\t\t\t<div class=\"tga-llc-status\" role=\"status\" aria-live=\"polite\"><\/div>\n\t\t\t<\/section>\n\t\t<\/div>\n\n\t\t<div class=\"tga-llc-after\">\n\t\t\t<section class=\"tga-llc-section\" aria-labelledby=\"tga-lead-cleaner-1-rules-title\">\n\t\t\t\t<h2 id=\"tga-lead-cleaner-1-rules-title\">Know What Changes<\/h2>\n\t\t\t\t<p class=\"tga-llc-section-intro\">The cleaner applies transparent formatting and duplicate rules without guessing missing lead information.<\/p>\n\t\t\t\t<div class=\"tga-llc-info-grid\">\n\t\t\t\t\t<div class=\"tga-llc-info-card\">\n\t\t\t\t\t\t<strong>Local Processing<\/strong>\n\t\t\t\t\t\t<p>Your pasted or uploaded lead list stays in your browser and is not stored by TradeGo AI.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"tga-llc-info-card\">\n\t\t\t\t\t\t<strong>Predictable Cleanup<\/strong>\n\t\t\t\t\t\t<p>Leading and trailing spaces are removed, blank rows are dropped, and email case is normalized when selected.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t<div class=\"tga-llc-info-card\">\n\t\t\t\t\t\t<strong>Transparent Deduplication<\/strong>\n\t\t\t\t\t\t<p>The selected field determines duplicates. Blank keys remain separate so unrelated leads are not merged.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\n\t\t\t<section class=\"tga-llc-section tga-llc-paid\" aria-labelledby=\"tga-lead-cleaner-1-paid-title\">\n\t\t\t\t<div>\n\t\t\t\t\t<span class=\"tga-llc-paid-label\">Related Paid Agent<\/span>\n\t\t\t\t\t<h2 id=\"tga-lead-cleaner-1-paid-title\">Turn a Clean List Into Prioritized Opportunities<\/h2>\n\t\t\t\t\t<p>Use Lead Ads Enricher to organize incoming leads, identify which prospects deserve attention first, and prepare the next email or WhatsApp action.<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t<a class=\"tga-llc-button tga-llc-button--primary\" href=\"https:\/\/app.tradegoai.app\/admin\/lead-ads-enricher\">Open Lead Ads Enricher<\/a>\n\t\t\t<\/section>\n\n\t\t\t<section class=\"tga-llc-section\" aria-labelledby=\"tga-lead-cleaner-1-faq-title\">\n\t\t\t\t<h2 id=\"tga-lead-cleaner-1-faq-title\">Frequently Asked Questions<\/h2>\n\t\t\t\t<p class=\"tga-llc-section-intro\">Learn how files, duplicate keys, blank values, and browser-only processing are handled.<\/p>\n\t\t\t\t<div class=\"tga-llc-faq-list\">\n\t\t\t\t\t\t\t\t\t\t<details>\n\t\t\t\t\t\t<summary>What files can I clean?<\/summary>\n\t\t\t\t\t\t<p>You can paste data or upload a CSV or TSV file with a header row. The cleaner supports comma, tab, and semicolon separators.<\/p>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t<details>\n\t\t\t\t\t\t<summary>Is my lead list uploaded or saved?<\/summary>\n\t\t\t\t\t\t<p>No. Your list is read and cleaned in your browser. The tool does not send the file or its contents to TradeGo AI.<\/p>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t<details>\n\t\t\t\t\t\t<summary>How are duplicate leads identified?<\/summary>\n\t\t\t\t\t\t<p>Choose Email, Phone, Company, or Entire Row. Auto Detect uses an email column first, then phone, then company, and finally the complete row.<\/p>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t<details>\n\t\t\t\t\t\t<summary>What happens when the duplicate field is blank?<\/summary>\n\t\t\t\t\t\t<p>Rows with a blank duplicate key are kept. The cleaner does not merge unrelated leads simply because the selected field is empty.<\/p>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t\t<details>\n\t\t\t\t\t\t<summary>Does this tool verify email addresses or companies?<\/summary>\n\t\t\t\t\t\t<p>No. It standardizes and deduplicates the data you provide. Use an email verification or lead enrichment tool before outreach.<\/p>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/section>\n\n\t\t\t<section class=\"tga-llc-section\" aria-labelledby=\"tga-lead-cleaner-1-related-title\">\n\t\t\t\t<h2 id=\"tga-lead-cleaner-1-related-title\">Related Free Tools<\/h2>\n\t\t\t\t<p class=\"tga-llc-section-intro\">Continue from finding prospects to preparing contact details and researching each company.<\/p>\n\t\t\t\t<div class=\"tga-llc-related-grid\">\n\t\t\t\t\t<a class=\"tga-llc-related-card\" href=\"https:\/\/tradegoai.app\/tools\/b2b-search-query-builder\/\">\n\t\t\t\t\t\t<strong>B2B Search Query Builder<\/strong>\n\t\t\t\t\t\t<span>Build focused searches for buyers, distributors, companies, and decision-makers.<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t<a class=\"tga-llc-related-card\" href=\"https:\/\/tradegoai.app\/tools\/email-pattern-generator\/\">\n\t\t\t\t\t\t<strong>Email Pattern Generator<\/strong>\n\t\t\t\t\t\t<span>Build common business email formats from a contact name and company domain.<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t<a class=\"tga-llc-related-card\" href=\"https:\/\/tradegoai.app\/tools\/client-qualification-assistant\/\">\n\t\t\t\t\t\t<strong>Client Qualification Assistant<\/strong>\n\t\t\t\t\t\t<span>Open public company, person, registry, and contact research paths.<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t<\/section>\n\t\t<\/div>\n\n\t\t<div class=\"tga-llc-i18n\" aria-hidden=\"true\">\n\t\t\t<span data-key=\"empty\">Clean the sample list or add your own data to preview the results.<\/span>\n\t\t\t<span data-key=\"chooseFile\">Choose CSV or TSV File<\/span>\n\t\t\t<span data-key=\"fileTooLarge\">Choose a file smaller than 5 MB.<\/span>\n\t\t\t<span data-key=\"fileReadError\">The file could not be read. Choose a valid CSV or TSV file.<\/span>\n\t\t\t<span data-key=\"dataRequired\">Paste a table or choose a CSV or TSV file.<\/span>\n\t\t\t<span data-key=\"headerRequired\">Add a header row and at least one data row.<\/span>\n\t\t\t<span data-key=\"tooManyRows\">Limit the list to 10,000 data rows.<\/span>\n\t\t\t<span data-key=\"fieldMissing\">The selected duplicate field was not found in the header row.<\/span>\n\t\t\t<span data-key=\"autoEmail\">Email<\/span>\n\t\t\t<span data-key=\"autoPhone\">Phone<\/span>\n\t\t\t<span data-key=\"autoCompany\">Company<\/span>\n\t\t\t<span data-key=\"autoRow\">Entire Row<\/span>\n\t\t\t<span data-key=\"dedupeUsed\">Duplicate key<\/span>\n\t\t\t<span data-key=\"cleaned\">lead rows ready.<\/span>\n\t\t\t<span data-key=\"cleanFirst\">Clean a lead list first.<\/span>\n\t\t\t<span data-key=\"copied\">Clean CSV copied.<\/span>\n\t\t\t<span data-key=\"downloaded\">Clean CSV downloaded.<\/span>\n\t\t\t<span data-key=\"resetDone\">Tool reset.<\/span>\n\t\t\t<span data-key=\"previewNote\">Showing the first<\/span>\n\t\t\t<span data-key=\"ofRows\">of<\/span>\n\t\t\t<span data-key=\"rows\">rows<\/span>\n\t\t<\/div>\n\n\t\t<script>\n\t\t(function() {\n\t\t\tconst root = document.getElementById(\"tga-lead-cleaner-1\");\n\t\t\tif (!root || root.dataset.ready === '1') return;\n\t\t\troot.dataset.ready = '1';\n\n\t\t\tconst textarea = root.querySelector('[name=\"lead_data\"]');\n\t\t\tconst duplicateSelect = root.querySelector('[name=\"duplicate_key\"]');\n\t\t\tconst lowerEmail = root.querySelector('[name=\"lowercase_email\"]');\n\t\t\tconst protectCsv = root.querySelector('[name=\"protect_csv\"]');\n\t\t\tconst fileInput = root.querySelector('[data-action=\"file\"]');\n\t\t\tconst fileLabel = root.querySelector('[data-file-label]');\n\t\t\tconst preview = root.querySelector('.tga-llc-preview');\n\t\t\tconst stats = root.querySelector('.tga-llc-stats');\n\t\t\tconst error = root.querySelector('.tga-llc-error');\n\t\t\tconst status = root.querySelector('.tga-llc-status');\n\t\t\tconst labels = {};\n\t\t\tlet current = null;\n\n\t\t\troot.querySelectorAll('.tga-llc-i18n [data-key]').forEach(function(node) {\n\t\t\t\tlabels[node.dataset.key] = node.textContent.trim();\n\t\t\t});\n\n\t\t\tconst announce = function(message) {\n\t\t\t\tstatus.textContent = message;\n\t\t\t\twindow.setTimeout(function() {\n\t\t\t\t\tif (status.textContent === message) status.textContent = '';\n\t\t\t\t}, 2800);\n\t\t\t};\n\t\t\tconst setError = function(message) {\n\t\t\t\terror.textContent = message;\n\t\t\t\tif (message) textarea.setAttribute('aria-invalid', 'true');\n\t\t\t\telse textarea.removeAttribute('aria-invalid');\n\t\t\t};\n\t\t\tconst normalizeHeader = function(value) {\n\t\t\t\treturn String(value || '')\n\t\t\t\t\t.trim()\n\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t.normalize('NFD')\n\t\t\t\t\t.replace(\/[\\u0300-\\u036f]\/g, '')\n\t\t\t\t\t.replace(\/[\\s_.\\-()\/]\/g, '');\n\t\t\t};\n\t\t\tconst headerKind = function(value) {\n\t\t\t\tconst key = normalizeHeader(value);\n\t\t\t\tif (['email', 'emailaddress', 'emailadresse', 'workemail', 'businessemail', 'correo', 'correoelectronico', '\u30e1\u30fc\u30eb', '\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9', '\uc774\uba54\uc77c', '\uc774\uba54\uc77c\uc8fc\uc18c'].includes(key)) return 'email';\n\t\t\t\tif (['phone', 'phonenumber', 'mobile', 'mobilenumber', 'telephone', 'telefono', 'telefon', 'tel', 'whatsapp', '\u96fb\u8a71', '\u96fb\u8a71\u756a\u53f7', '\uc804\ud654', '\uc804\ud654\ubc88\ud638', '\ud734\ub300\ud3f0'].includes(key)) return 'phone';\n\t\t\t\tif (['company', 'companyname', 'organization', 'organisation', 'business', 'businessname', 'unternehmen', 'firma', 'societe', 'entreprise', 'empresa', 'compania', '\u4f1a\u793e', '\u4f01\u696d', '\ud68c\uc0ac', '\uae30\uc5c5'].includes(key)) return 'company';\n\t\t\t\treturn '';\n\t\t\t};\n\t\t\tconst detectDelimiter = function(text) {\n\t\t\t\tconst line = String(text || '').replace(\/^\\uFEFF\/, '').split(\/\\r?\\n\/, 1)[0] || '';\n\t\t\t\tconst candidates = [',', '\\t', ';'];\n\t\t\t\tlet best = ',';\n\t\t\t\tlet bestCount = -1;\n\t\t\t\tcandidates.forEach(function(delimiter) {\n\t\t\t\t\tlet count = 0;\n\t\t\t\t\tlet quoted = false;\n\t\t\t\t\tfor (let index = 0; index < line.length; index += 1) {\n\t\t\t\t\t\tif (line[index] === '\"') quoted = !quoted;\n\t\t\t\t\t\telse if (!quoted && line[index] === delimiter) count += 1;\n\t\t\t\t\t}\n\t\t\t\t\tif (count > bestCount) {\n\t\t\t\t\t\tbest = delimiter;\n\t\t\t\t\t\tbestCount = count;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn best;\n\t\t\t};\n\t\t\tconst parseDelimited = function(text, delimiter) {\n\t\t\t\tconst rows = [];\n\t\t\t\tlet row = [];\n\t\t\t\tlet field = '';\n\t\t\t\tlet quoted = false;\n\t\t\t\tconst source = String(text || '').replace(\/^\\uFEFF\/, '');\n\n\t\t\t\tfor (let index = 0; index < source.length; index += 1) {\n\t\t\t\t\tconst char = source[index];\n\t\t\t\t\tif (char === '\"') {\n\t\t\t\t\t\tif (quoted && source[index + 1] === '\"') {\n\t\t\t\t\t\t\tfield += '\"';\n\t\t\t\t\t\t\tindex += 1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tquoted = !quoted;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (char === delimiter && !quoted) {\n\t\t\t\t\t\trow.push(field);\n\t\t\t\t\t\tfield = '';\n\t\t\t\t\t} else if ((char === '\\n' || char === '\\r') && !quoted) {\n\t\t\t\t\t\tif (char === '\\r' && source[index + 1] === '\\n') index += 1;\n\t\t\t\t\t\trow.push(field);\n\t\t\t\t\t\trows.push(row);\n\t\t\t\t\t\trow = [];\n\t\t\t\t\t\tfield = '';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfield += char;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trow.push(field);\n\t\t\t\trows.push(row);\n\t\t\t\treturn rows;\n\t\t\t};\n\t\t\tconst isBlankRow = function(row) {\n\t\t\t\treturn row.every(function(value) { return !String(value || '').trim(); });\n\t\t\t};\n\t\t\tconst normalizeKey = function(value, kind) {\n\t\t\t\tconst text = String(value || '').trim();\n\t\t\t\tif (kind === 'email') return text.toLowerCase();\n\t\t\t\tif (kind === 'phone') return text.replace(\/\\D\/g, '');\n\t\t\t\tif (kind === 'company') return text.toLowerCase().replace(\/\\s+\/g, ' ').replace(\/[.,]+$\/g, '');\n\t\t\t\treturn text.toLowerCase();\n\t\t\t};\n\t\t\tconst protectCell = function(value) {\n\t\t\t\tconst text = String(value ?? '');\n\t\t\t\treturn protectCsv.checked && \/^[=+\\-@]\/.test(text) ? \"'\" + text : text;\n\t\t\t};\n\t\t\tconst csvValue = function(value) {\n\t\t\t\treturn '\"' + protectCell(value).replaceAll('\"', '\"\"') + '\"';\n\t\t\t};\n\t\t\tconst toCsv = function(headers, rows) {\n\t\t\t\treturn [headers].concat(rows).map(function(row) {\n\t\t\t\t\treturn row.map(csvValue).join(',');\n\t\t\t\t}).join('\\r\\n');\n\t\t\t};\n\n\t\t\tfunction findColumn(headers, requested) {\n\t\t\t\tconst kinds = headers.map(headerKind);\n\t\t\t\tif (requested === 'auto') {\n\t\t\t\t\tfor (const kind of ['email', 'phone', 'company']) {\n\t\t\t\t\t\tconst index = kinds.indexOf(kind);\n\t\t\t\t\t\tif (index !== -1) return { index: index, kind: kind };\n\t\t\t\t\t}\n\t\t\t\t\treturn { index: -1, kind: 'row' };\n\t\t\t\t}\n\t\t\t\tif (requested === 'row') return { index: -1, kind: 'row' };\n\t\t\t\treturn { index: kinds.indexOf(requested), kind: requested };\n\t\t\t}\n\n\t\t\tfunction cleanData() {\n\t\t\t\tsetError('');\n\t\t\t\tconst source = textarea.value;\n\t\t\t\tif (!source.trim()) {\n\t\t\t\t\tsetError(labels.dataRequired);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tconst parsed = parseDelimited(source, detectDelimiter(source));\n\t\t\t\tconst nonBlank = parsed.filter(function(row) { return !isBlankRow(row); });\n\t\t\t\tif (nonBlank.length < 2) {\n\t\t\t\t\tsetError(labels.headerRequired);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tif (nonBlank.length - 1 > 10000) {\n\t\t\t\t\tsetError(labels.tooManyRows);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst maxColumns = Math.max.apply(null, nonBlank.map(function(row) { return row.length; }));\n\t\t\t\tconst headers = nonBlank.shift().map(function(value, index) {\n\t\t\t\t\tconst trimmed = String(value || '').trim();\n\t\t\t\t\treturn trimmed || 'Column ' + String(index + 1);\n\t\t\t\t});\n\t\t\t\twhile (headers.length < maxColumns) headers.push('Column ' + String(headers.length + 1));\n\n\t\t\t\tconst match = findColumn(headers, duplicateSelect.value);\n\t\t\t\tif (duplicateSelect.value !== 'auto' && duplicateSelect.value !== 'row' && match.index === -1) {\n\t\t\t\t\tsetError(labels.fieldMissing);\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst emailIndexes = headers.map(headerKind).map(function(kind, index) {\n\t\t\t\t\treturn kind === 'email' ? index : -1;\n\t\t\t\t}).filter(function(index) { return index !== -1; });\n\t\t\t\tlet changed = 0;\n\t\t\t\tconst rows = nonBlank.map(function(sourceRow) {\n\t\t\t\t\tconst row = [];\n\t\t\t\t\tfor (let index = 0; index < maxColumns; index += 1) {\n\t\t\t\t\t\tconst original = String(sourceRow[index] ?? '');\n\t\t\t\t\t\tlet value = original.trim();\n\t\t\t\t\t\tif (lowerEmail.checked && emailIndexes.includes(index)) {\n\t\t\t\t\t\t\tvalue = value.toLowerCase();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (value !== original) changed += 1;\n\t\t\t\t\t\trow.push(value);\n\t\t\t\t\t}\n\t\t\t\t\treturn row;\n\t\t\t\t});\n\n\t\t\t\tconst seen = new Set();\n\t\t\t\tconst kept = [];\n\t\t\t\tlet duplicates = 0;\n\t\t\t\trows.forEach(function(row) {\n\t\t\t\t\tconst key = match.kind === 'row'\n\t\t\t\t\t\t? JSON.stringify(row.map(function(value) { return normalizeKey(value, 'row'); }))\n\t\t\t\t\t\t: normalizeKey(row[match.index], match.kind);\n\t\t\t\t\tif (!key) {\n\t\t\t\t\t\tkept.push(row);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (seen.has(key)) {\n\t\t\t\t\t\tduplicates += 1;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tseen.add(key);\n\t\t\t\t\tkept.push(row);\n\t\t\t\t});\n\n\t\t\t\treturn {\n\t\t\t\t\theaders: headers,\n\t\t\t\t\trows: kept,\n\t\t\t\t\tinputRows: rows.length,\n\t\t\t\t\tduplicates: duplicates,\n\t\t\t\t\tchanged: changed,\n\t\t\t\t\tmatchKind: match.kind,\n\t\t\t\t\tcsv: toCsv(headers, kept)\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tfunction renderTable(data) {\n\t\t\t\tpreview.replaceChildren();\n\t\t\t\tconst wrap = document.createElement('div');\n\t\t\t\twrap.className = 'tga-llc-table-wrap';\n\t\t\t\tconst table = document.createElement('table');\n\t\t\t\tconst thead = document.createElement('thead');\n\t\t\t\tconst headRow = document.createElement('tr');\n\t\t\t\tdata.headers.forEach(function(header) {\n\t\t\t\t\tconst th = document.createElement('th');\n\t\t\t\t\tth.scope = 'col';\n\t\t\t\t\tth.textContent = header;\n\t\t\t\t\theadRow.appendChild(th);\n\t\t\t\t});\n\t\t\t\tthead.appendChild(headRow);\n\t\t\t\tconst tbody = document.createElement('tbody');\n\t\t\t\tdata.rows.slice(0, 50).forEach(function(row) {\n\t\t\t\t\tconst tr = document.createElement('tr');\n\t\t\t\t\trow.forEach(function(value) {\n\t\t\t\t\t\tconst td = document.createElement('td');\n\t\t\t\t\t\ttd.textContent = value;\n\t\t\t\t\t\ttr.appendChild(td);\n\t\t\t\t\t});\n\t\t\t\t\ttbody.appendChild(tr);\n\t\t\t\t});\n\t\t\t\ttable.append(thead, tbody);\n\t\t\t\twrap.appendChild(table);\n\t\t\t\tpreview.appendChild(wrap);\n\t\t\t\tif (data.rows.length > 50) {\n\t\t\t\t\tconst note = document.createElement('p');\n\t\t\t\t\tnote.className = 'tga-llc-note';\n\t\t\t\t\tnote.textContent = labels.previewNote + ' 50 ' + labels.ofRows + ' ' + String(data.rows.length) + ' ' + labels.rows + '.';\n\t\t\t\t\tpreview.appendChild(note);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction renderStats(data) {\n\t\t\t\tstats.hidden = false;\n\t\t\t\troot.querySelector('[data-stat=\"input\"]').textContent = String(data.inputRows);\n\t\t\t\troot.querySelector('[data-stat=\"kept\"]').textContent = String(data.rows.length);\n\t\t\t\troot.querySelector('[data-stat=\"duplicates\"]').textContent = String(data.duplicates);\n\t\t\t\troot.querySelector('[data-stat=\"changed\"]').textContent = String(data.changed);\n\t\t\t}\n\n\t\t\tfunction runCleaner() {\n\t\t\t\tconst cleaned = cleanData();\n\t\t\t\tif (!cleaned) return;\n\t\t\t\tcurrent = cleaned;\n\t\t\t\trenderStats(cleaned);\n\t\t\t\trenderTable(cleaned);\n\t\t\t\tconst keyLabel = {\n\t\t\t\t\temail: labels.autoEmail,\n\t\t\t\t\tphone: labels.autoPhone,\n\t\t\t\t\tcompany: labels.autoCompany,\n\t\t\t\t\trow: labels.autoRow\n\t\t\t\t}[cleaned.matchKind];\n\t\t\t\tannounce(String(cleaned.rows.length) + ' ' + labels.cleaned + ' ' + labels.dedupeUsed + ': ' + keyLabel + '.');\n\t\t\t}\n\n\t\t\troot.querySelector('[data-action=\"clean\"]').addEventListener('click', runCleaner);\n\n\t\t\troot.querySelector('[data-action=\"reset\"]').addEventListener('click', function() {\n\t\t\t\ttextarea.value = \"First Name,Last Name,Company,Email,Phone,Country\\nAlex,Morgan,Northstar Imports,Alex.Morgan@Example.com,+1 212 555 0198,United States\\n Alex , Morgan ,Northstar Imports,alex.morgan@example.com,+1 212 555 0198,United States\\nMaya,Chen,Pacific Retail,maya.chen@pacific.example,+86 21 5555 0188,China\\nOmar,Hassan,Crescent Trading,OMAR@CRESCENT.EXAMPLE,+971 4 555 0130,United Arab Emirates\";\n\t\t\t\tduplicateSelect.value = 'auto';\n\t\t\t\tlowerEmail.checked = true;\n\t\t\t\tprotectCsv.checked = true;\n\t\t\t\tfileInput.value = '';\n\t\t\t\tfileLabel.textContent = labels.chooseFile;\n\t\t\t\tsetError('');\n\t\t\t\tcurrent = null;\n\t\t\t\tstats.hidden = true;\n\t\t\t\tpreview.innerHTML = '<div class=\"tga-llc-empty\"><\/div>';\n\t\t\t\tpreview.querySelector('.tga-llc-empty').textContent = labels.empty;\n\t\t\t\tannounce(labels.resetDone);\n\t\t\t});\n\n\t\t\tfileInput.addEventListener('change', async function() {\n\t\t\t\tconst file = fileInput.files && fileInput.files[0];\n\t\t\t\tif (!file) return;\n\t\t\t\tif (file.size > 5 * 1024 * 1024) {\n\t\t\t\t\tfileInput.value = '';\n\t\t\t\t\tfileLabel.textContent = labels.chooseFile;\n\t\t\t\t\tsetError(labels.fileTooLarge);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttry {\n\t\t\t\t\ttextarea.value = await file.text();\n\t\t\t\t\tfileLabel.textContent = file.name;\n\t\t\t\t\tsetError('');\n\t\t\t\t} catch (readError) {\n\t\t\t\t\tsetError(labels.fileReadError);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\troot.querySelector('[data-action=\"copy\"]').addEventListener('click', async function() {\n\t\t\t\tif (!current) {\n\t\t\t\t\tannounce(labels.cleanFirst);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst text = '\\uFEFF' + current.csv;\n\t\t\t\tif (navigator.clipboard && window.isSecureContext) {\n\t\t\t\t\tawait navigator.clipboard.writeText(text);\n\t\t\t\t} else {\n\t\t\t\t\tconst helper = document.createElement('textarea');\n\t\t\t\t\thelper.value = text;\n\t\t\t\t\thelper.setAttribute('readonly', '');\n\t\t\t\t\thelper.style.position = 'fixed';\n\t\t\t\t\thelper.style.opacity = '0';\n\t\t\t\t\tdocument.body.appendChild(helper);\n\t\t\t\t\thelper.select();\n\t\t\t\t\tdocument.execCommand('copy');\n\t\t\t\t\thelper.remove();\n\t\t\t\t}\n\t\t\t\tannounce(labels.copied);\n\t\t\t});\n\n\t\t\troot.querySelector('[data-action=\"download\"]').addEventListener('click', function() {\n\t\t\t\tif (!current) {\n\t\t\t\t\tannounce(labels.cleanFirst);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst blob = new Blob(['\\uFEFF' + current.csv], { type: 'text\/csv;charset=utf-8' });\n\t\t\t\tconst url = URL.createObjectURL(blob);\n\t\t\t\tconst link = document.createElement('a');\n\t\t\t\tlink.href = url;\n\t\t\t\tlink.download = 'cleaned-lead-list.csv';\n\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\tlink.click();\n\t\t\t\tlink.remove();\n\t\t\t\tURL.revokeObjectURL(url);\n\t\t\t\tannounce(labels.downloaded);\n\t\t\t});\n\n\t\t\trunCleaner();\n\t\t})();\n\t\t<\/script>\n\t<\/section>\n\t\n","protected":false},"excerpt":{"rendered":"<p>L\u00e0m s\u1ea1ch v\u00e0 chu\u1ea9n h\u00f3a danh s\u00e1ch kh\u00e1ch h\u00e0ng ti\u1ec1m n\u0103ng B2B ngay tr\u00ean tr\u00ecnh duy\u1ec7t\u2014lo\u1ea1i b\u1ecf c\u00e1c m\u1ee5c tr\u00f9ng l\u1eb7p, c\u1eaft g\u1ecdn c\u00e1c tr\u01b0\u1eddng, chu\u1ea9n h\u00f3a ki\u1ec3u ch\u1eef email, xem tr\u01b0\u1edbc k\u1ebft qu\u1ea3 v\u00e0 t\u1ea3i xu\u1ed1ng t\u1ec7p CSV s\u1eb5n s\u00e0ng s\u1eed d\u1ee5ng.<\/p>","protected":false},"featured_media":9574,"template":"","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"disabled","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"default","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"spectra_gs_classes":"[\"\"]"},"tool_categories":[47,32],"class_list":["post-9573","tools","type-tools","status-publish","has-post-thumbnail","hentry","tool_categories-lead-management-tools","tool_categories-sales-tools"],"spectra_custom_meta":{"spectra_gs_classes":["[\"\"]"],"rank_math_internal_links_processed":["1"],"site-post-title":["disabled"],"ast-breadcrumbs-content":["disabled"],"site-sidebar-layout":["default"],"ast-site-content-layout":["default"],"site-content-style":["default"],"site-sidebar-style":["default"],"theme-transparent-header-meta":["default"],"stick-header-meta":["default"],"astra-migrate-meta-layouts":["set"],"rank_math_title":["%title% %sep% %sitename%"],"rank_math_description":["%excerpt%"],"rank_math_robots":["a:2:{i:0;s:5:\"index\";i:1;s:6:\"follow\";}"],"rank_math_schema_SoftwareApplication":["a:9:{s:8:\"metadata\";a:8:{s:5:\"title\";s:20:\"Software Application\";s:4:\"type\";s:8:\"template\";s:9:\"shortcode\";s:15:\"s-3c8f78bb9323f\";s:9:\"isPrimary\";s:1:\"1\";s:4:\"name\";s:17:\"Lead List Cleaner\";s:11:\"description\";s:158:\"Clean and standardize B2B lead lists in your browser\u2014remove duplicates, trim fields, normalize email case, preview results, and download a ready-to-use CSV.\";s:14:\"reviewLocation\";s:6:\"custom\";s:23:\"reviewLocationShortcode\";s:24:\"[rank_math_rich_snippet]\";}s:5:\"@type\";s:19:\"SoftwareApplication\";s:4:\"name\";s:17:\"Lead List Cleaner\";s:11:\"description\";s:158:\"Clean and standardize B2B lead lists in your browser\u2014remove duplicates, trim fields, normalize email case, preview results, and download a ready-to-use CSV.\";s:15:\"operatingSystem\";s:11:\"Web Browser\";s:19:\"applicationCategory\";s:19:\"BusinessApplication\";s:6:\"offers\";a:4:{s:5:\"@type\";s:5:\"Offer\";s:5:\"price\";s:1:\"0\";s:13:\"priceCurrency\";s:3:\"USD\";s:12:\"availability\";s:7:\"InStock\";}s:5:\"image\";s:84:\"https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share.webp\";s:3:\"url\";s:46:\"https:\/\/tradegoai.app\/tools\/lead-list-cleaner\/\";}"],"_thumbnail_id":["9574"],"wp_statistics_words_count":["1"],"astra_style_timestamp_css":["1790742060"],"_uag_page_assets":["a:9:{s:3:\"css\";s:4963:\".uag-blocks-common-selector{z-index:var(--z-index-desktop) !important}@media (max-width: 976px){.uag-blocks-common-selector{z-index:var(--z-index-tablet) !important}}@media (max-width: 767px){.uag-blocks-common-selector{z-index:var(--z-index-mobile) !important}}\n.uagb-icon-list__wrap{display:flex;align-items:flex-start;justify-content:flex-start}.wp-block-uagb-icon-list-child{padding:0;transition:all 0.2s;display:inline-flex;color:#3a3a3a;align-items:center;text-decoration:none;box-shadow:none}.wp-block-uagb-icon-list-child span.uagb-icon-list__source-wrap{display:block;align-items:center}.uagb-icon-list__source-wrap svg{display:block}.uagb-icon-list__source-image{width:40px}.uagb-icon-list__outer-wrap .uagb-icon-list__content-wrap{color:#3a3a3a;display:flex;align-items:center}\n.wp-block-uagb-icon-list-child{position:relative}.wp-block-uagb-icon-list-child>a{position:absolute;top:0;left:0;width:100%;height:100%}img.uagb-icon-list__source-image{max-width:unset}.wp-block-uagb-icon-list-child .uagb-icon-list__label{word-break:break-word}\n.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__source-image{width: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap svg{width: 16px;height: 16px;font-size: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap{padding: 0px;border-radius: 0px;border-width: 0px;align-self: center;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__label{text-decoration: !important;font-weight: 600;line-height: em;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__wrap{display: flex;flex-direction: column;justify-content: center;-webkit-box-pack: center;-ms-flex-pack: center;-webkit-box-align: flex-start;-ms-flex-align: flex-start;align-items: flex-start;margin-top: 30px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__label{text-align: left;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child{text-decoration: !important;font-weight: 600;line-height: em;}.wp-block-uagb-icon-list.uagb-block-b5768981.wp-block-uagb-icon-list .wp-block-uagb-icon-list-child{margin-left: 0;margin-right: 0;margin-bottom: 10px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__source-wrap{margin-right: 15px;}.uagb-block-75fa870d.wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap{background:  !important;border-color:  !important;}.uagb-block-75fa870d.wp-block-uagb-icon-list-child:hover .uagb-icon-list__source-wrap{background:  !important;border-color:  !important;}.uagb-block-5bf81fd2.wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap{background:  !important;border-color:  !important;}.uagb-block-5bf81fd2.wp-block-uagb-icon-list-child:hover .uagb-icon-list__source-wrap{background:  !important;border-color:  !important;}@media only screen and (max-width: 976px) {.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__source-image{width: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap svg{width: 16px;height: 16px;font-size: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap {padding: 0px;border-width: 0px;align-self: center;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__wrap{display: flex;flex-direction: column;justify-content: center;-webkit-box-pack: center;-ms-flex-pack: center;-webkit-box-align: flex-start;-ms-flex-align: flex-start;align-items: flex-start;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__label{text-align: left;}.wp-block-uagb-icon-list.uagb-block-b5768981.wp-block-uagb-icon-list .wp-block-uagb-icon-list-child{margin-left: 0;margin-right: 0;margin-bottom: 10px;}}@media only screen and (max-width: 767px) {.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__source-image{width: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__label{text-align: center;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap svg{width: 16px;height: 16px;font-size: 16px;}.wp-block-uagb-icon-list.uagb-block-b5768981 .wp-block-uagb-icon-list-child .uagb-icon-list__source-wrap{padding: 0px;border-width: 0px;align-self: center;}.wp-block-uagb-icon-list.uagb-block-b5768981 .uagb-icon-list__wrap{display: flex;flex-direction: column;justify-content: center;-webkit-box-pack: center;-ms-flex-pack: center;-webkit-box-align: center;-ms-flex-align: center;align-items: center;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;margin-left: 0px;}.wp-block-uagb-icon-list.uagb-block-b5768981.wp-block-uagb-icon-list .wp-block-uagb-icon-list-child{margin-left: 0;margin-right: 0;margin-bottom: 10px;}}\";s:2:\"js\";s:0:\"\";s:18:\"current_block_list\";a:10:{i:0;s:14:\"core\/shortcode\";i:1;s:11:\"core\/search\";i:2;s:10:\"core\/group\";i:3;s:12:\"core\/heading\";i:4;s:17:\"core\/latest-posts\";i:5;s:20:\"core\/latest-comments\";i:6;s:13:\"core\/archives\";i:7;s:15:\"core\/categories\";i:8;s:14:\"uagb\/icon-list\";i:9;s:20:\"uagb\/icon-list-child\";}s:8:\"uag_flag\";b:1;s:11:\"uag_version\";s:10:\"1791813617\";s:6:\"gfonts\";a:0:{}s:10:\"gfonts_url\";s:0:\"\";s:12:\"gfonts_files\";a:0:{}s:14:\"uag_faq_layout\";b:0;}"],"rank_math_facebook_image":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share.webp"],"rank_math_facebook_image_id":["9574"],"rank_math_twitter_use_facebook":["on"],"rank_math_twitter_card_type":["summary_large_image"],"_uag_css_file_name":["uag-css-9573.css"]},"uagb_featured_image_src":{"full":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share.webp",1200,630,false],"thumbnail":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share-150x150.webp",150,150,true],"medium":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share-300x158.webp",300,158,true],"medium_large":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share-768x403.webp",768,403,true],"large":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share-1024x538.webp",1024,538,true],"1536x1536":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share.webp",1200,630,false],"2048x2048":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share.webp",1200,630,false],"trp-custom-language-flag":["https:\/\/tradegoai.app\/wp-content\/uploads\/2026\/07\/lead-list-cleaner-social-share-18x9.webp",18,9,true]},"uagb_author_info":{"display_name":"xiaoxi99202@gmail.com","author_link":"https:\/\/tradegoai.app\/vi\/author\/"},"uagb_comment_info":0,"uagb_excerpt":"Clean and standardize B2B lead lists in your browser\u2014remove duplicates, trim fields, normalize email case, preview results, and download a ready-to-use CSV.","_links":{"self":[{"href":"https:\/\/tradegoai.app\/vi\/wp-json\/wp\/v2\/tools\/9573","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tradegoai.app\/vi\/wp-json\/wp\/v2\/tools"}],"about":[{"href":"https:\/\/tradegoai.app\/vi\/wp-json\/wp\/v2\/types\/tools"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tradegoai.app\/vi\/wp-json\/wp\/v2\/media\/9574"}],"wp:attachment":[{"href":"https:\/\/tradegoai.app\/vi\/wp-json\/wp\/v2\/media?parent=9573"}],"wp:term":[{"taxonomy":"tool_categories","embeddable":true,"href":"https:\/\/tradegoai.app\/vi\/wp-json\/wp\/v2\/tool_categories?post=9573"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}