<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Creator Cash</title>
	<atom:link href="https://creator-cash.com/pt-pt/feed/" rel="self" type="application/rss+xml" />
	<link>https://creator-cash.com/pt-pt/</link>
	<description>The #1 Place to Earn Money as a Creator</description>
	<lastBuildDate>Fri, 27 Feb 2026 12:59:22 +0000</lastBuildDate>
	<language>pt-PT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://creator-cash.com/wp-content/uploads/2025/10/cropped-creator-cash-favicon-32x32.png</url>
	<title>Creator Cash</title>
	<link>https://creator-cash.com/pt-pt/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Calculadora de Subs Twitch: Converter subs em dinheiro</title>
		<link>https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/</link>
		
		<dc:creator><![CDATA[Kevin]]></dc:creator>
		<pubDate>Thu, 15 Jan 2026 12:18:35 +0000</pubDate>
				<category><![CDATA[Twitch]]></category>
		<guid isPermaLink="false">https://creator-cash.com/?p=1235</guid>

					<description><![CDATA[Quanto dinheiro rendem os subs da Twitch? A calculadora mostra quanto ganhas por mês com subscrições. Calculadora de Subs da Twitch Converter subs em dinheiro A calculadora de subs da Twitch explicada em detalhe]]></description>
										<content:encoded><![CDATA[<div class="tool-post twitch">
<div class="page-header">
<div class="page-header-image">
<p><!-- ME: OG IMAGE--><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/calculadora-subs-twitch-1-1024x1024.png" alt="Calculadora Subs Twitch" width="1200" height="1200" class="alignnone size-full" title="Calculadora de Subs Twitch: Converter subs em dinheiro 12"></div>
<div class="page-header-content">
<div class="page-header-title">
<p><!-- Area 1 --><!-- SECTION START --></p>
<h1>Calculadora de Subs Twitch: Converter subs em dinheiro</h1>
<p><!-- SECTION ENDE -->
</div>
<div class="page-header-description">
<p><!-- SECTION START META DESCRIPTION --><span>Quanto dinheiro rendem os subs da Twitch? A calculadora mostra quanto ganhas por mês com subscrições.</span><!-- SECTION ENDE --></p>
</div>
<div class="page-header-background">
<p><!-- ME: MOBILE MAIN IMAGE--><img decoding="async" src="/wp-content/themes/gp-child/img-posts/twitch-subs-calculator-tool-mobile.png" alt="Calculadora Subs Twitch" width="394" height="410" class="alignnone size-full wp-image-319" title="Calculadora de Subs Twitch: Converter subs em dinheiro 13"><br />
<!-- Area 1 Ende --></p>
</div>
</div>
</div>
<div class="tool twitch-tool">
<div class="tool-header">
<div class="tool-tabs">
<div class="tool-tab tool-tab-active"><span class="svg-icon icon-small"><svg width="13" height="14" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" aria-hidden="true" focusable="false"><path d="M3 2L1 6v15h6v3h3l3-3h4l6-6V2H3zm18 12-4 4h-5l-3 3v-3H5V4h16v10z"/><path d="M14 7h2v6h-2zM9 7h2v6H9z"/></svg></span><!-- SECTION START -->Calculadora Subs Twitch<!-- SECTION ENDE --></div>
<div class="tool-tab"><a href="https://creator-cash.com/pt-pt/twitch/"><!-- SECTION START -->Todos os calculadores de Twitch<!-- SECTION ENDE --></a></p>
</div>
</div>
</div>
<div class="tool-content">
<div class="tool-code">
<div class="tool-title">
<p><!-- SECTION START RECHNER NAME -->Calculadora de Subs da Twitch<!-- SECTION ENDE --></div>
<p><span class="tool-subtitle"><!-- SECTION START -->Converter subs em dinheiro<!-- SECTION ENDE --></span><!-- ME: MAIN RECHNER --><style>
:root{
  --tw-border:#9E77D4;
  --tw-text:#ffffff;
  --tw-green:#6CFF3A;
  --tw-red:#ff4b4b;

  --tw-card:rgba(78,45,144,.55);
  --tw-card-dark:rgba(48,22,97,.70);
  --tw-card-fee:rgba(48,22,97,.62);
}

/* OUTER: no background/border/padding */
#cc-twsub{
  width:100%;
  padding:0;margin:0;border:0;
  background:transparent;border-radius:0;box-shadow:none;
}
#cc-twsub, #cc-twsub *{box-sizing:border-box}
#cc-twsub *{font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}

/* rows */
#cc-twsub .cc-row{
  display:flex;
  gap:12px;
  flex-wrap:nowrap;
  width:100%;
  min-width:0;
}
#cc-twsub .cc-row + .cc-row{margin-top:9px}

/* TOP FILTERS (desktop) */
#cc-twsub .cc-filters .cc-card{
  flex:1;
  min-width:0;
  background:var(--tw-card);
  border:1px solid var(--tw-border);
  border-radius:12px;
  box-shadow:none;
  padding:0;
}
#cc-twsub .cc-filter{
  height:42px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  position:relative;
  min-width:0;
}
#cc-twsub .cc-abslabel{
  position:absolute;left:14px;top:52%;
  transform:translateY(-50%);
  color:#fff;font-weight:600;font-size:13px;
  pointer-events:none;
}

/* dd align like your template */
#cc-twsub .dd-selected{color:#fff;font-weight:600;font-size:13px}
#cc-twsub .cc-filters .dd-selected{
  width:225px!important;
  margin-left:-15px;
  padding-left:134px;
}
#cc-twsub #cc-tw-currency-dd .dd-selected{padding-left:149px}

/* dropdown 3: NO label, content flush-left, ellipsis if too long */
#cc-twsub #cc-tw-split-dd .dd-selected{
  padding-left:0;
  margin-left:-3px;
  width:100%!important;
  justify-content:flex-start;
}
#cc-twsub #cc-tw-split-dd .dd-name{justify-content:flex-start;min-width:0}
#cc-twsub #cc-tw-split-dd .dd-text{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#cc-twsub #cc-tw-split-dd .dd-caret{margin-left:auto}

/* caret white everywhere */
#cc-twsub .dd-caret{color:#fff;opacity:1}

/* country flag */
#cc-twsub .dd-name{display:flex;align-items:center;gap:10px;min-width:0}
#cc-twsub .dd-name img{width:20px;height:15px;border-radius:3px;display:inline-block}

/* dropdown list */
#cc-twsub .dd-list{
  background:#2a1453;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  box-shadow:0 18px 34px rgba(0,0,0,.32);
  left:44px;
}

/* SLIDER CARDS (4) */
#cc-twsub .cc-sliders .cc-card{
  background:var(--tw-card);
  border:1px solid var(--tw-border);
  border-radius:14px;
  box-shadow:none;
  padding:12px 12px 8px;
  min-width:0;
  position:relative;
  overflow:hidden; /* prevents right overflow on mobile when range updates */
}
#cc-twsub .cc-s-title{
  text-align:center;color:var(--tw-green);
  font-weight:1000;font-size:18px;line-height:1.05;margin-top:2px;
}
#cc-twsub .cc-s-sub{
  text-align:center;color:var(--tw-text);
  opacity:.95;font-weight:600;font-size:13px;margin-top:2px;
}
#cc-twsub .cc-s-val{
  display:flex;align-items:center;justify-content:center;
  gap:10px;margin-top:2px;
  font-size:27px;font-weight:1000;color:#fff;line-height:1;min-height:38px;margin-left:6px;
  position:relative;
}

/* spinner triangles (hover only) */
#cc-twsub .cc-spin{
  display:flex;flex-direction:column;gap:4px;
  opacity:0;pointer-events:none;
  transition:opacity .15s ease;
}
#cc-twsub .cc-sliders .cc-card:hover .cc-spin{opacity:1;pointer-events:auto}
#cc-twsub .cc-tri-btn{
  width:0;height:0;display:block;cursor:pointer;
  border-left:7px solid transparent;border-right:7px solid transparent;
  filter:drop-shadow(0 2px 0 rgba(0,0,0,.18));
}
#cc-twsub .cc-tri-btn.up{border-bottom:12px solid var(--tw-green)}
#cc-twsub .cc-tri-btn.down{border-top:12px solid var(--tw-green);opacity:.85}
#cc-twsub .cc-tri-btn:active{transform:translateY(1px)}

/* RANGE */
#cc-twsub .cc-range{margin-top:4px;padding:0 2px}
#cc-twsub input[type="range"]{
  --pct:0%;
  -webkit-appearance:none;appearance:none;
  height:22px;cursor:pointer;
  width:100%;
  max-width:100%;
  display:block;
  background:transparent;
}
#cc-twsub input[type="range"]::-webkit-slider-runnable-track{
  height:8px;border-radius:10px;
  background:linear-gradient(to right,var(--tw-green) var(--pct), rgba(255,255,255,.20) var(--pct));
}
#cc-twsub input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:18px;height:18px;border-radius:50%;
  background:var(--tw-green);
  border:2px solid rgba(0,0,0,.25);
  margin-top:-5px;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
#cc-twsub input[type="range"]::-moz-range-track{height:8px;border-radius:10px;background:rgba(255,255,255,.20)}
#cc-twsub input[type="range"]::-moz-range-progress{height:8px;border-radius:10px;background:var(--tw-green)}
#cc-twsub input[type="range"]::-moz-range-thumb{
  width:18px;height:18px;border-radius:50%;
  background:var(--tw-green);
  border:2px solid rgba(0,0,0,.25);
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}

/* RESULTS */
#cc-twsub .cc-results .cc-card{
  background:var(--tw-card-dark);
  border:none;
  border-radius:14px;
  box-shadow:none;
  padding:12px 14px;
  min-width:0;
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;
}
#cc-twsub .cc-r-title{color:#fff;font-weight:600;font-size:13px;line-height:16px;margin-bottom:6px}
#cc-twsub .cc-r-val{font-size:29px;font-weight:800;line-height:1;color:#fff}
#cc-twsub .cc-r-val.green{color:var(--tw-green)}

#cc-twsub .cc-mini{
  display:flex;align-items:center;gap:4px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  padding:4px 6px;
  white-space:nowrap;
}
#cc-twsub .cc-mini label{color:#fff;font-weight:600;font-size:12px;opacity:.95}
#cc-twsub .cc-mini input{
  width:40px;border:0;background:transparent;outline:none;
  color:#fff;font-weight:1000;font-size:12px;text-align:right;padding:2px 2px;
}
#cc-twsub .cc-mini .pct{color:#fff;font-weight:600;font-size:13px}

/* FEES */
#cc-twsub .cc-fees .cc-card{
  background:var(--tw-card-fee);
  border:none;
  border-radius:14px;
  box-shadow:none;
  padding:12px 14px;
  min-width:0;
  text-align:center;
}
#cc-twsub .cc-fee-title{color:#fff;font-weight:900;font-size:13px;opacity:.92;line-height:1.1}
#cc-twsub .cc-fee-val{margin-top:4px;color:var(--tw-red);font-weight:700;font-size:22px}

/* ---------- MOBILE ---------- */
#cc-tw-country-native,#cc-tw-currency-native,#cc-tw-split-native{display:none!important}

@media (max-width:760px){
  /* override global CSS that forces column layout */
  #cc-twsub .cc-row{flex-direction:row !important; flex-wrap:wrap !important;}

  /* mobile: filters should NOT look like cards (no bg/border/padding), only the select has border */
  #cc-twsub .cc-filters .cc-card{
    flex:0 0 100%;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    border-radius:0 !important;
  }
  #cc-twsub .cc-filter{
    padding:0 !important;
    height:auto !important;
  }

  /* hide the 3 labels on mobile (País/Moeda/Split) */
  #cc-twsub .cc-filters .cc-abslabel{display:none!important}

  /* fix "double inputs" on mobile: force-hide custom dropdowns, show native selects */
  #cc-twsub #cc-tw-country-dd,
  #cc-twsub #cc-tw-currency-dd,
  #cc-twsub #cc-tw-split-dd{display:none!important}

  #cc-twsub #cc-tw-country-native,
  #cc-twsub #cc-tw-currency-native,
  #cc-twsub #cc-tw-split-native{
    display:block!important;
    width:100%;
    height:44px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.14);
    background:var(--tw-card);
    color:#fff;
    font-weight:900;
    font-size:16px;
    padding:0 12px;
    min-width:0;
    outline:none;
  }

  /* sliders: 2 per row (compact) */
  #cc-twsub .cc-sliders .cc-card{
    flex:0 0 calc((100% - 12px)/2);
    padding:10px 10px 6px;
  }
  #cc-twsub .cc-s-title{font-size:16px}
  #cc-twsub .cc-s-sub{font-size:12px}
  #cc-twsub .cc-s-val{font-size:22px;min-height:32px;margin-left:0}

  /* results + fees: full width */
  #cc-twsub .cc-results .cc-card{flex:0 0 100%}
  #cc-twsub .cc-fees .cc-card{flex:0 0 100%}

  #cc-twsub .cc-r-val{font-size:34px}
}
</style>

<div id="cc-twsub" class="cc-twitch-tool">
  <!-- TOP FILTERS -->
  <div class="cc-row cc-filters">
    <div class="cc-card">
      <div class="cc-filter">
        <div class="cc-abslabel">País</div>
        <div id="cc-tw-country-dd" class="dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <span class="dd-name"><img alt="" width="20" height="15"><span class="dd-text"></span></span>
            <span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Selecionar país"></ul>
        </div>
        <select id="cc-tw-country-native" aria-label="Selecionar país"></select>
      </div>
    </div>

    <div class="cc-card">
      <div class="cc-filter">
        <div class="cc-abslabel">Moeda</div>
        <div id="cc-tw-currency-dd" class="dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <span class="dd-name"><span class="dd-text"></span></span>
            <span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Selecionar moeda"></ul>
        </div>
        <select id="cc-tw-currency-native" aria-label="Selecionar moeda"></select>
      </div>
    </div>

    <div class="cc-card">
      <div class="cc-filter">
        <div class="cc-abslabel" style="opacity:0">Split</div>
        <div id="cc-tw-split-dd" class="dd" style="width:100%">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <span class="dd-name" style="min-width:0"><span class="dd-text"></span></span>
            <span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Selecionar split"></ul>
        </div>
        <select id="cc-tw-split-native" aria-label="Selecionar split"></select>
      </div>
    </div>
  </div>

  <!-- SLIDERS -->
  <div class="cc-row cc-sliders">
    <div class="cc-card">
      <div class="cc-s-title">Nível 1</div>
      <div class="cc-s-sub">Subscrições</div>
      <div class="cc-s-val">
        <span id="cc-l1-v">250</span>
        <span class="cc-spin" aria-label="Spinner Nível 1">
          <i class="cc-tri-btn up" data-spin="cc-l1" data-dir="up" role="button" tabindex="0" aria-label="Aumentar Nível 1"></i>
          <i class="cc-tri-btn down" data-spin="cc-l1" data-dir="down" role="button" tabindex="0" aria-label="Diminuir Nível 1"></i>
        </span>
      </div>
      <div class="cc-range"><input id="cc-l1" type="range" min="0" max="20000" step="1" value="250"></div>
    </div>

    <div class="cc-card">
      <div class="cc-s-title">Twitch Prime</div>
      <div class="cc-s-sub">Subscrições</div>
      <div class="cc-s-val">
        <span id="cc-prime-v">50</span>
        <span class="cc-spin" aria-label="Spinner Prime">
          <i class="cc-tri-btn up" data-spin="cc-prime" data-dir="up" role="button" tabindex="0" aria-label="Aumentar Prime"></i>
          <i class="cc-tri-btn down" data-spin="cc-prime" data-dir="down" role="button" tabindex="0" aria-label="Diminuir Prime"></i>
        </span>
      </div>
      <div class="cc-range"><input id="cc-prime" type="range" min="0" max="20000" step="1" value="50"></div>
    </div>

    <div class="cc-card">
      <div class="cc-s-title">Nível 2</div>
      <div class="cc-s-sub">Subscrições</div>
      <div class="cc-s-val">
        <span id="cc-l2-v">2</span>
        <span class="cc-spin" aria-label="Spinner Nível 2">
          <i class="cc-tri-btn up" data-spin="cc-l2" data-dir="up" role="button" tabindex="0" aria-label="Aumentar Nível 2"></i>
          <i class="cc-tri-btn down" data-spin="cc-l2" data-dir="down" role="button" tabindex="0" aria-label="Diminuir Nível 2"></i>
        </span>
      </div>
      <div class="cc-range"><input id="cc-l2" type="range" min="0" max="2000" step="1" value="2"></div>
    </div>

    <div class="cc-card">
      <div class="cc-s-title">Nível 3</div>
      <div class="cc-s-sub">Subscrições</div>
      <div class="cc-s-val">
        <span id="cc-l3-v">1</span>
        <span class="cc-spin" aria-label="Spinner Nível 3">
          <i class="cc-tri-btn up" data-spin="cc-l3" data-dir="up" role="button" tabindex="0" aria-label="Aumentar Nível 3"></i>
          <i class="cc-tri-btn down" data-spin="cc-l3" data-dir="down" role="button" tabindex="0" aria-label="Diminuir Nível 3"></i>
        </span>
      </div>
      <div class="cc-range"><input id="cc-l3" type="range" min="0" max="2000" step="1" value="1"></div>
    </div>
  </div>

  <!-- RESULTS -->
  <div class="cc-row cc-results">
    <div class="cc-card">
      <div>
        <div class="cc-r-title">Preço para o espectador</div>
        <div class="cc-r-val" id="cc-viewer-price">0,00 €</div>
      </div>
      <div class="cc-mini" title="O desconto só afeta o preço do espectador (a Twitch cobre a diferença)">
        <label for="cc-discount">Desconto:</label>
        <div style="display:flex;align-items:center;gap:6px">
          <input id="cc-discount" type="number" min="0" max="80" step="1" value="0" aria-label="Desconto em %">
          <span class="pct">%</span>
        </div>
      </div>
    </div>

    <div class="cc-card">
      <div>
        <div class="cc-r-title">Ganhos do streamer</div>
        <div class="cc-r-val green" id="cc-streamer-earn">0,00 €</div>
      </div>
    </div>
  </div>

  <!-- FEES -->
  <div class="cc-row cc-fees">
    <div class="cc-card">
      <div class="cc-fee-title">IVA<br>(Finanças)</div>
      <div class="cc-fee-val" id="cc-fee-vat">-0,00 €</div>
    </div>
    <div class="cc-card">
      <div class="cc-fee-title">Taxas de pagamento<br>(ex.: PayPal)</div>
      <div class="cc-fee-val" id="cc-fee-pay">-0,00 €</div>
    </div>
    <div class="cc-card">
      <div class="cc-fee-title">Taxas Twitch</div>
      <div class="cc-fee-val" id="cc-fee-twitch">-0,00 €</div>
    </div>
  </div>
</div>

<script>
(function(){
  const $ = (id)=>document.getElementById(id);
  const root = $("cc-twsub");
  if(!root) return;

  // ✅ Added Portugal (pt) with EUR + 23% VAT
  const COUNTRIES=[
    {code:'de',name:'DEU',cur:'EUR',vat:0.19},
    {code:'us',name:'USA',cur:'USD',vat:0.00},
    {code:'gb',name:'UK', cur:'GBP',vat:0.20},
    {code:'fr',name:'FRA',cur:'EUR',vat:0.20},
    {code:'it',name:'ITA',cur:'EUR',vat:0.22},
    {code:'es',name:'ESP',cur:'EUR',vat:0.21},
    {code:'pt',name:'PRT',cur:'EUR',vat:0.23},
    {code:'ca',name:'CAN',cur:'CAD',vat:0.05},
    {code:'au',name:'AUS',cur:'AUD',vat:0.10},
    {code:'nl',name:'NLD',cur:'EUR',vat:0.21},
    {code:'br',name:'BRA',cur:'BRL',vat:0.17},
    {code:'mx',name:'MEX',cur:'MXN',vat:0.16},
    {code:'ph',name:'PHL',cur:'USD',vat:0.12},
  ];
  const CTRY=Object.fromEntries(COUNTRIES.map(c=>[c.code,c]));
  const CURRENCIES=['EUR','USD','GBP','CAD','AUD','BRL','MXN'];

  const FX={
    "EUR→EUR":1,"EUR→USD":1.09,"EUR→GBP":0.84,"EUR→CAD":1.46,"EUR→AUD":1.62,"EUR→BRL":5.80,"EUR→MXN":20.0,
    "USD→USD":1,"USD→EUR":0.92,"USD→GBP":0.77,"USD→CAD":1.34,"USD→AUD":1.49,"USD→BRL":5.32,"USD→MXN":18.4,
    "GBP→GBP":1,"GBP→EUR":1.19,"GBP→USD":1.30,"GBP→CAD":1.74,"GBP→AUD":1.93,"GBP→BRL":6.90,"GBP→MXN":24.0,
    "CAD→CAD":1,"CAD→EUR":0.69,"CAD→USD":0.75,"CAD→GBP":0.57,"CAD→AUD":1.11,"CAD→BRL":3.95,"CAD→MXN":13.6,
    "AUD→AUD":1,"AUD→EUR":0.62,"AUD→USD":0.67,"AUD→GBP":0.52,"AUD→CAD":0.90,"AUD→BRL":3.60,"AUD→MXN":12.5,
    "BRL→BRL":1,"BRL→EUR":0.17,"BRL→USD":0.19,"BRL→GBP":0.14,"BRL→CAD":0.25,"BRL→AUD":0.28,"BRL→MXN":3.45,
    "MXN→MXN":1,"MXN→EUR":0.05,"MXN→USD":0.054,"MXN→GBP":0.042,"MXN→CAD":0.074,"MXN→AUD":0.08,"MXN→BRL":0.29
  };
  const rate=(f,t)=>FX[`${f}→${t}`]??1;

  // ✅ EUR formatted as pt-PT
  const localeFor=cur=>({EUR:'pt-PT',USD:'en-US',GBP:'en-GB',CAD:'en-CA',AUD:'en-AU',BRL:'pt-BR',MXN:'es-MX'})[cur]||'pt-PT';
  const fmt=(v,cur)=>{try{return v.toLocaleString(localeFor(cur),{style:'currency',currency:cur});}catch(e){return (Math.round(v*100)/100).toFixed(2)+' '+cur;}};

  const BASE_EUR = { tier1:3.99, tier2:7.99, tier3:19.99 };
  const PAY_FEE_RATE = 0.029;
  const PAY_FEE_FIXED = 0.00;

  const SPLITS = [
    { key:"50", label:"Split padrão 50/50", creatorShare:0.50 },
    { key:"60", label:"Split melhor 60/40", creatorShare:0.60 },
    { key:"70", label:"Split forte 70/30", creatorShare:0.70 },
    { key:"80", label:"Split top 80/20", creatorShare:0.80 }
  ];

  function openList(btn,list,open){
    btn.setAttribute('aria-expanded',open?'true':'false');
    list.style.display=open?'block':'none';
    if(open) list.focus();
  }
  function setupDD(ddId){
    const dd=$(ddId), btn=dd.querySelector('.dd-selected'), list=dd.querySelector('.dd-list');
    btn.addEventListener('click',()=>openList(btn,list,list.style.display!=='block'));
    document.addEventListener('click',e=>{ if(!dd.contains(e.target)) openList(btn,list,false); });
    return {dd,btn,list};
  }

  const countryDD = setupDD('cc-tw-country-dd');
  const currencyDD = setupDD('cc-tw-currency-dd');
  const splitDD = setupDD('cc-tw-split-dd');

  const cImg = countryDD.btn.querySelector('img');
  const cText = countryDD.btn.querySelector('.dd-text');
  const curText = currencyDD.btn.querySelector('.dd-text');
  const splitText = splitDD.btn.querySelector('.dd-text');

  const countryNative = $('cc-tw-country-native');
  const currencyNative = $('cc-tw-currency-native');
  const splitNative = $('cc-tw-split-native');

  function buildCountryList(){
    countryDD.list.innerHTML=''; countryNative.innerHTML='';
    COUNTRIES.forEach(c=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.code=c.code;
      li.innerHTML=`<img decoding="async" alt="" width="20" height="15" src="https://flagcdn.com/w20/${c.code}.png" srcset="https://flagcdn.com/w40/${c.code}.png 2x" onerror="this.style.display='none'"><span>${c.name}</span>`;
      li.addEventListener('click',()=>selectCountry(c.code,true));
      countryDD.list.appendChild(li);

      const opt=document.createElement('option');
      opt.value=c.code; opt.textContent=c.name;
      countryNative.appendChild(opt);
    });
  }

  function buildCurrencyList(){
    currencyDD.list.innerHTML=''; currencyNative.innerHTML='';
    CURRENCIES.forEach(code=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=code;
      li.textContent=code;
      li.addEventListener('click',()=>selectCurrency(code,true,true));
      currencyDD.list.appendChild(li);

      const opt=document.createElement('option');
      opt.value=code; opt.textContent=code;
      currencyNative.appendChild(opt);
    });
  }

  function buildSplitList(){
    splitDD.list.innerHTML=''; splitNative.innerHTML='';
    SPLITS.forEach(s=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=s.key;
      li.textContent=s.label;
      li.addEventListener('click',()=>selectSplit(s.key,true));
      splitDD.list.appendChild(li);

      const opt=document.createElement('option');
      opt.value=s.key; opt.textContent=s.label;
      splitNative.appendChild(opt);
    });
  }

  // PT DEFAULTS: Portugal + EUR
  let state={country:'pt', currency:'EUR', split:'50', currencyOverridden:false};

  function selectCountry(code,closeAfter){
    state.country=code;
    const c=CTRY[code]||CTRY.pt;

    cImg.src=`https://flagcdn.com/w20/${code}.png`;
    cImg.srcset=`https://flagcdn.com/w40/${code}.png 2x`;
    cText.textContent=c.name;

    [...countryDD.list.children].forEach(li=>li.setAttribute('aria-selected',li.dataset.code===code?'true':'false'));
    countryNative.value=code;

    if(!state.currencyOverridden) selectCurrency(c.cur,false,false);
    if(closeAfter) openList(countryDD.btn,countryDD.list,false);
    calc();
  }

  function selectCurrency(val,closeAfter,markOverride){
    state.currency=val;
    if(markOverride) state.currencyOverridden=true;

    curText.textContent=val;
    [...currencyDD.list.children].forEach(li=>li.setAttribute('aria-selected',li.dataset.val===val?'true':'false'));
    currencyNative.value=val;

    if(closeAfter) openList(currencyDD.btn,currencyDD.list,false);
    calc();
  }

  function selectSplit(key,closeAfter){
    state.split=key;
    const s=SPLITS.find(x=>x.key===key)||SPLITS[0];

    splitText.textContent=s.label;
    [...splitDD.list.children].forEach(li=>li.setAttribute('aria-selected',li.dataset.val===key?'true':'false'));
    splitNative.value=key;

    if(closeAfter) openList(splitDD.btn,splitDD.list,false);
    calc();
  }

  const elL1=$('cc-l1'), elPrime=$('cc-prime'), elL2=$('cc-l2'), elL3=$('cc-l3');
  const vL1=$('cc-l1-v'), vP=$('cc-prime-v'), vL2=$('cc-l2-v'), vL3=$('cc-l3-v');
  const elDisc=$('cc-discount');

  const outViewer=$('cc-viewer-price');
  const outEarn=$('cc-streamer-earn');
  const outVat=$('cc-fee-vat');
  const outPay=$('cc-fee-pay');
  const outTw=$('cc-fee-twitch');

  function setPct(rangeEl){
    const min=+rangeEl.min||0, max=+rangeEl.max||1, val=+rangeEl.value||0;
    rangeEl.style.setProperty('--pct',(((val-min)/(max-min))*100)+'%');
  }

  function getCountryPricing(){
    const c=CTRY[state.country]||CTRY.pt;
    const fx=rate('EUR', c.cur);
    return {
      cur: c.cur,
      vat: c.vat,
      tier1: BASE_EUR.tier1 * fx,
      tier2: BASE_EUR.tier2 * fx,
      tier3: BASE_EUR.tier3 * fx,
      outFx: rate(c.cur, state.currency)
    };
  }

  function clamp(n,min,max){ return Math.max(min, Math.min(max, n)); }

  function calc(){
    const pricing=getCountryPricing();
    const split=SPLITS.find(s=>s.key===state.split)||SPLITS[0];

    const l1=+elL1.value||0;
    const prime=+elPrime.value||0;
    const l2=+elL2.value||0;
    const l3=+elL3.value||0;

    let discount=+elDisc.value||0;
    discount = clamp(discount,0,80);
    elDisc.value=String(Math.round(discount));

    const baseViewerGross =
      (l1*pricing.tier1) +
      (l2*pricing.tier2) +
      (l3*pricing.tier3);

    const viewerPayGross = baseViewerGross * (1 - discount/100);

    const viewerPayNet = pricing.vat>0 ? (viewerPayGross / (1 + pricing.vat)) : viewerPayGross;
    const vatAmount = viewerPayGross - viewerPayNet;

    const primeGrossEquivalent = prime * pricing.tier1;
    const primeNet = pricing.vat>0 ? (primeGrossEquivalent / (1 + pricing.vat)) : primeGrossEquivalent;

    const baseViewerNet = pricing.vat>0 ? (baseViewerGross / (1 + pricing.vat)) : baseViewerGross;
    const totalNetForSplit = baseViewerNet + primeNet;

    const creatorBeforePay = totalNetForSplit * split.creatorShare;
    const twitchFee = totalNetForSplit * (1 - split.creatorShare);

    const payFee = Math.max(0, creatorBeforePay * PAY_FEE_RATE + PAY_FEE_FIXED);
    const streamerEarn = Math.max(0, creatorBeforePay - payFee);

    const fxOut = pricing.outFx;

    outViewer.textContent = fmt(viewerPayGross * fxOut, state.currency);
    outVat.textContent = '-' + fmt(vatAmount * fxOut, state.currency);
    outPay.textContent = '-' + fmt(payFee * fxOut, state.currency);
    outTw.textContent  = '-' + fmt(twitchFee * fxOut, state.currency);
    outEarn.textContent = fmt(streamerEarn * fxOut, state.currency);
  }

  // spinner logic
  function stepRange(rangeId, dir){
    const el = $(rangeId);
    if(!el) return;
    const step = parseFloat(el.step || "1") || 1;
    const min = parseFloat(el.min || "0") || 0;
    const max = parseFloat(el.max || "999999") || 999999;
    const cur = parseFloat(el.value || "0") || 0;

    const next = dir === "up" ? (cur + step) : (cur - step);
    el.value = String(clamp(next, min, max));
    el.dispatchEvent(new Event("input", {bubbles:true}));
  }

  root.addEventListener("click", (e)=>{
    const t = e.target;
    if(!(t instanceof Element)) return;
    if(t.classList.contains("cc-tri-btn")){
      e.preventDefault();
      stepRange(t.getAttribute("data-spin"), t.getAttribute("data-dir"));
    }
  });

  root.addEventListener("keydown", (e)=>{
    const t = e.target;
    if(!(t instanceof Element)) return;
    if(t.classList.contains("cc-tri-btn") && (e.key==="Enter" || e.key===" ")){
      e.preventDefault();
      stepRange(t.getAttribute("data-spin"), t.getAttribute("data-dir"));
    }
  });

  // native selects (mobile)
  countryNative.addEventListener('change',()=>selectCountry(countryNative.value,false));
  currencyNative.addEventListener('change',()=>selectCurrency(currencyNative.value,false,true));
  splitNative.addEventListener('change',()=>selectSplit(splitNative.value,false));

  // init lists
  buildCountryList();
  buildCurrencyList();
  buildSplitList();

  // defaults
  state.currencyOverridden=false;
  selectSplit('50',false);
  selectCountry('pt',false);
  selectCurrency('EUR',false,false);

  // bind slider updates
  function updateLabels(){
    vL1.textContent=String(+elL1.value||0);
    vP.textContent=String(+elPrime.value||0);
    vL2.textContent=String(+elL2.value||0);
    vL3.textContent=String(+elL3.value||0);
    setPct(elL1);setPct(elPrime);setPct(elL2);setPct(elL3);
    calc();
  }
  elL1.addEventListener('input',updateLabels);
  elPrime.addEventListener('input',updateLabels);
  elL2.addEventListener('input',updateLabels);
  elL3.addEventListener('input',updateLabels);
  elDisc.addEventListener('input', calc);

  /* ==========
     INIT ANIMATION (0 -> defaults in 2s)
     ========== */
  function easeOutCubic(t){ return 1 - Math.pow(1-t, 3); }
  function animateInit(durationMs){
    const targets={
      l1:+elL1.value||0,
      prime:+elPrime.value||0,
      l2:+elL2.value||0,
      l3:+elL3.value||0
    };

    elL1.value=0; elPrime.value=0; elL2.value=0; elL3.value=0;
    updateLabels();

    const start=performance.now();
    function frame(now){
      const t=Math.min(1,(now-start)/durationMs);
      const e=easeOutCubic(t);

      const setVal=(el, target)=>{
        const step=parseFloat(el.step||"1")||1;
        const v=Math.round((target*e)/step)*step;
        el.value=String(v);
      };

      setVal(elL1, targets.l1);
      setVal(elPrime, targets.prime);
      setVal(elL2, targets.l2);
      setVal(elL3, targets.l3);

      updateLabels();
      if(t<1) requestAnimationFrame(frame);
    }
    requestAnimationFrame(frame);
  }

  updateLabels();
  animateInit(2000);
})();
</script>
</div>
<div class="tool-char">
<!-- ME: DESKTOP MAIN IMAGE--><br />
<img decoding="async" src="/wp-content/themes/gp-child/img-posts/twitch-subs-calculator-tool.png" alt="Calculadora de Subs da Twitch" width="396" height="538" class="alignnone size-full" title="Calculadora de Subs Twitch: Converter subs em dinheiro 14"></div>
</div>
<p><!-- ME: TOOL FOOTER BULLETPOINTS--><div class="tool-footer">
<ul><li>Seja sincero: esta calculadora é genial</li><li>Adaptada ao vosso feedback</li><li>De criadores para criadores</li></ul>
</div>
</div>
<p><!-- ME: MAIN OPTIN -->
<p><!-- ME: INFO HEADER IMG ALT --></p>
<div class="tool-information-header"><img decoding="async" src="/wp-content/themes/gp-child/img-posts/twitch-tool-explanation.png" alt="Explicação da ferramenta Twitch" width="432" height="310" class="alignnone size-full" title="Calculadora de Subs Twitch: Converter subs em dinheiro 15"></p>
<p><!-- ME: H2 Einleitung --></p>
<h2>A calculadora de subs da Twitch explicada em detalhe</h2>
</div>
<div class="tool-information"><div class="su-tabs su-tabs-style-default su-tabs-mobile-stack" data-active="1" data-scroll-offset="0" data-anchor-in-url="no"><div class="su-tabs-nav"><span class="" data-url="" data-target="blank" tabindex="0" role="button">Detalhes da calculadora</span><span class="" data-url="" data-target="blank" tabindex="0" role="button">Mais informações</span></div><div class="su-tabs-panes"><div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Detalhes da calculadora">
<p><!------------------------- PART 1 SECTION START -------------------------></p>
<h3>Informações sobre o Calculador de Subs da Twitch:</h3>
<p><strong>O Calculador de Subs da Twitch calcula os rendimentos de subscrições de forma realista com base no valor líquido real (sem IVA). Considera os diferentes tipos de subs (Tier 1, Tier 2, Tier 3, Prime), o revenue split escolhido (por exemplo, 50/50 ou 70/30) e as taxas dos prestadores de pagamento.</strong></p>
<p>Ao contrário de cálculos simplificados (“preço dividido por dois”), o calculador separa primeiro o IVA do preço pago pelo espectador e só depois aplica o revenue split ao valor líquido. Assim, consegues ver exatamente quanto recebe o streamer, quanto fica para a Twitch e quais são as deduções.</p>
<div class="infobox">
<strong>Dica:</strong> Se também quiseres compreender modelos de monetização semelhantes noutras plataformas, a <a href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/">calculadora de moedas do TikTok</a> ajuda a perceber como funcionam valores líquidos e conversões.
</div>
<div id="ez-toc-container" class="ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title" style="cursor:inherit">Table of contents:</p>
<span class="ez-toc-title-toggle"></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#A_calculadora_de_subs_da_Twitch_explicada_em_detalhe">A calculadora de subs da Twitch explicada em detalhe</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Quanto_ganha_realmente_um_streamer_por_um_sub_da_Twitch">Quanto ganha realmente um streamer por um sub da Twitch?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Valor_por_sub_da_Twitch_Portugal_EUR">Valor por sub da Twitch (Portugal, EUR)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Como_converter_corretamente_os_subs_da_Twitch_em_euros">Como converter corretamente os subs da Twitch em euros?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#O_que_e_exatamente_um_sub_da_Twitch">O que é exatamente um sub da Twitch?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Diferencas_internacionais_nos_subs_da_Twitch_porque_os_precos_por_pais_alteram_o_valor_do_sub">Diferenças internacionais nos subs da Twitch: porque os preços por país alteram o valor do sub</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-7" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Quantos_subs_tem_os_grandes_streamers_da_Twitch_%E2%80%93_e_quanto_ganham_com_isso">Quantos subs têm os grandes streamers da Twitch – e quanto ganham com isso?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Exemplos_de_calculo_rendimentos_mensais_na_Twitch_com_50%E2%80%931000_subs">Exemplos de cálculo: rendimentos mensais na Twitch com 50–1.000 subs</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Porque_o_numero_de_subs_por_si_so_nao_diz_nada_sobre_sucesso">Porque o número de subs, por si só, não diz nada sobre sucesso</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#O_sistema_de_subscricoes_da_Twitch_explicado_em_detalhe">O sistema de subscrições da Twitch explicado em detalhe</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-11" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Quem_recebe_quanto_numa_subscricao_da_Twitch">Quem recebe quanto numa subscrição da Twitch?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-12" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#O_que_e_um_Prime_Sub_da_Twitch_e_como_funciona">O que é um Prime Sub da Twitch e como funciona?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-13" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Que_requisitos_tem_os_streamers_de_cumprir_para_receber_subs">Que requisitos têm os streamers de cumprir para receber subs?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-14" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Com_o_que_se_ganha_mais_subs_ou_donativos">Com o que se ganha mais: subs ou donativos?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-15" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Como_subscrever_um_canal_da_Twitch">Como subscrever um canal da Twitch?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-16" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Subs_como_base_%E2%80%93_porque_a_diversificacao_e_obrigatoria">Subs como base – porque a diversificação é obrigatória</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-17" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Como_oferecer_subs_da_Twitch">Como oferecer subs da Twitch?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-18" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Porque_e_que_os_espectadores_oferecem_subs_da_Twitch">Porque é que os espectadores oferecem subs da Twitch?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-19" href="https://creator-cash.com/pt-pt/twitch/calculadora-subs-twitch/#Que_impostos_tem_um_streamer_de_pagar_sobre_os_subs_da_Twitch">Que impostos tem um streamer de pagar sobre os subs da Twitch?</a></li></ul></nav></div>

<h2 class="trenner checkbox" id="subs-rechner">Quanto ganha realmente um streamer por um sub da Twitch?</h2>
<p><strong>A parte do streamer não é calculada com base no preço bruto, mas sim no preço <u>sem IVA</u>. Só depois é aplicado o revenue split (por exemplo, 50/50 ou 70/30).</strong></p>
<p>Em Portugal (EUR), aplicam-se atualmente os seguintes preços padrão para os espectadores:</p>
<ul class="numbers">
<li><strong>Sub Tier 1:</strong> 3,99 €</li>
<li><strong>Sub Tier 2:</strong> 7,99 €</li>
<li><strong>Sub Tier 3:</strong> 19,99 €</li>
<li><strong>Prime Sub:</strong> 0,00 € (gratuito para o espectador)</li>
</ul>
<p>Após a dedução do IVA em Portugal (23 %), o valor líquido restante é dividido entre a Twitch e o streamer. Os Prime Subs são pagos ao streamer como um Tier 1, mesmo que o espectador não pague diretamente.</p>
<h2 class="checkbox">Valor por sub da Twitch (Portugal, EUR)</h2>
<p><strong>A tabela seguinte mostra o valor líquido realista por sub para streamers, dependendo do revenue split. Todos os valores seguem a mesma lógica do Calculador de Subs da Twitch.</strong></p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat td3 td5" style="width:100%;border-collapse:collapse">
<tr>
<td>Tipo de sub</td>
<td>Preço espectador (bruto)</td>
<td>Preço sem IVA</td>
<td>Streamer líquido (50/50)</td>
<td>Streamer líquido (70/30)</td>
</tr>
<tr>
<td>Tier 1</td>
<td>3,99 €</td>
<td>3,24 €</td>
<td class="positive">1,62 €</td>
<td class="positive">2,27 €</td>
</tr>
<tr>
<td>Tier 2</td>
<td>7,99 €</td>
<td>6,50 €</td>
<td class="positive">3,25 €</td>
<td class="positive">4,55 €</td>
</tr>
<tr>
<td>Tier 3</td>
<td>19,99 €</td>
<td>16,25 €</td>
<td class="positive">8,12 €</td>
<td class="positive">11,38 €</td>
</tr>
<tr>
<td>Prime</td>
<td>0,00 €</td>
<td>0,00 €</td>
<td class="positive">1,62 €</td>
<td class="positive">2,27 €</td>
</tr>
</table>
</div>
</div>
<p><i>Nota:</i> Os Prime Subs pagam ao streamer como um Tier 1, mas não aparecem no preço para o espectador, pois são financiados através do Amazon Prime.</p>
<h2 class="trenner checkbox" id="subs-umrechnen">Como converter corretamente os subs da Twitch em euros?</h2>
<p><strong>O cálculo correto segue sempre três passos: deduzir o IVA → determinar o valor líquido → aplicar o revenue split.</strong></p>
<p>Cálculos simplificados (“preço / 2”) levam a resultados incorretos porque ignoram o IVA. Por isso, o Calculador de Subs da Twitch trabalha exclusivamente com valores líquidos.</p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Exemplo (Sub Tier 1, 50/50):</span></p>
<ul>
<li>Preço do espectador: 3,99 €</li>
<li>Sem IVA (23 %): 3,24 €</li>
<li>Parte do streamer (50 %): <span class="positive"><b>1,62 €</b></span></li>
<li>Parte da Twitch (50 %): 1,62 €</li>
</ul>
</div>
<p>Taxas adicionais de prestadores de pagamento (por exemplo, ~2,9 %) são apresentadas separadamente no calculador e, de forma simplificada, aplicadas à parte do criador.</p>
<h3>Que modelos de condições existem para subs da Twitch?</h3>
<p><strong>O modelo padrão é um split 50/50. Streamers maiores podem negociar condições especiais (por exemplo, 70/30), mas estas só se aplicam com acordo contratual confirmado.</strong></p>
<div class="infobox">
<strong>Importante:</strong> Planeia sempre de forma conservadora com 50/50 enquanto não tiveres um acordo confirmado.
</div>
<h2 class="trenner checkbox" id="subs-details">O que é exatamente um sub da Twitch?</h2>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/twitch-subs.jpg" alt="Twitch Subs" width="440" height="516" class="alignright size-full wp-image-1200" title="Calculadora de Subs Twitch: Converter subs em dinheiro 16" srcset="https://creator-cash.com/wp-content/uploads/2026/01/twitch-subs.jpg 440w, https://creator-cash.com/wp-content/uploads/2026/01/twitch-subs-256x300.jpg 256w" sizes="(max-width: 440px) 100vw, 440px" /><strong>Um sub da Twitch é uma subscrição paga mensalmente a um canal. Os espectadores apoiam o streamer e recebem vantagens como emotes, emblemas ou, dependendo do canal, visualização sem anúncios.</strong></p>
<p>Existem quatro tipos relevantes de subs: Tier 1, Tier 2, Tier 3 e Prime. Quanto mais alto o tier, maior é o valor mensal e o valor líquido para o streamer.</p>
<p>As subs normais renovam-se automaticamente até serem canceladas. Os <strong>Prime Subs</strong>, por outro lado, têm de ser atribuídos manualmente todos os meses.</p>
<h3 class="cleanheadline">Que vantagens recebe um espectador com uma subscrição da Twitch?</h3>
<p><strong>Os subscritores recebem emotes exclusivos, emblemas no chat e, muitas vezes, vantagens adicionais na comunidade. O alcance depende do canal e do nível da subscrição.</strong></p>
<p>As vantagens exatas podem ser vistas diretamente na janela de subscrição da Twitch antes de concluir a subscrição.</p>
<h2 class="trenner checkbox" id="subs-international">Diferenças internacionais nos subs da Twitch: porque os preços por país alteram o valor do sub</h2>
<p><strong>Importante: um sub da Twitch não vale o mesmo em todos os países. Os preços para o espectador, a lógica fiscal (IVA) e os preços regionais influenciam diretamente o valor líquido que entra no revenue split.</strong></p>
<p>Se tiveres espectadores de vários países, o teu rendimento médio real por sub pode variar bastante. A Twitch utiliza <strong>preços regionais</strong>: em alguns países um Tier 1 custa menos do que em Portugal, noutros mais. Isso afeta diretamente quanto ganhas, mesmo que o número de subs seja o mesmo.</p>
<div class="infobox">
<strong>Nota:</strong> O revenue split (por exemplo, 50/50) aplica-se sempre ao <u>valor líquido</u> – e esse valor depende do país do espectador.
</div>
<p>Outro ponto importante é o <strong>tratamento fiscal</strong>. Na UE, o IVA está normalmente incluído no preço para o espectador, o que reduz o valor líquido. Isto significa que “um sub” não é automaticamente “um valor fixo em euros” para o streamer.</p>
<div class="beispielbox">
<span class="box-headline">Check prático:</span></p>
<ul>
<li>Muitos viewers internacionais → o <b>valor médio por sub</b> pode ficar abaixo do valor PT.</li>
<li>Muitos subs de países de preço elevado → a média pode ser superior.</li>
<li>Os subs aumentam, mas os rendimentos crescem pouco → muitas vezes os preços por país são o motivo.</li>
</ul>
</div>
<p>Por isso, faz sentido planear com suposições realistas no Calculador de Subs da Twitch e não assumir simplesmente “Tier 1 = X €”. Fatores como <strong>split, IVA, mix de subs</strong> e a origem da tua comunidade são decisivos. Se quiseres comparar com outras plataformas, a <a href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/">calculadora de ganhos do TikTok</a> segue uma lógica líquida muito semelhante.</p>
<p><!------------------------- PART 1 SECTION ENDE -------------------------><br />
<!------------------------- PART 2 SECTION START -------------------------></p>
<h2 class="trenner checkbox" id="subs-ranges">Quantos subs têm os grandes streamers da Twitch – e quanto ganham com isso?</h2>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/twitch-reaction-300x233.png" alt="Twitch Reaction" width="300" height="233" class="alignright size-medium wp-image-1202" title="Calculadora de Subs Twitch: Converter subs em dinheiro 17" srcset="https://creator-cash.com/wp-content/uploads/2026/01/twitch-reaction-300x233.png 300w, https://creator-cash.com/wp-content/uploads/2026/01/twitch-reaction-1024x795.png 1024w, https://creator-cash.com/wp-content/uploads/2026/01/twitch-reaction-768x596.png 768w, https://creator-cash.com/wp-content/uploads/2026/01/twitch-reaction.png 1128w" sizes="(max-width: 300px) 100vw, 300px" /><strong>Em vez de olhar para nomes específicos, faz mais sentido dividir os streamers da Twitch por escalões. O número de subs varia muito (eventos, subathons, pausas), por isso todos os valores apresentados aqui devem ser entendidos como <u>intervalos realistas</u>, não como números exatos.</strong></p>
<p>É exatamente aqui que um <strong>Calculador de Subs da Twitch</strong> ajuda: transforma números visíveis de subs em euros e torna transparentes as diferenças de split, países e tipos de subs.</p>
<p>A tabela seguinte mostra intervalos típicos de subs para streamers grandes, médios e pequenos, bem como os rendimentos mensais resultantes. A base é um rendimento médio por sub – tal como utilizado num <strong>Calculador de Subs da Twitch</strong>.</p>
<div class="infobox">
<strong>Importante:</strong> Para uma estimativa rápida, podes usar simplesmente o valor de Tier 1 no Calculador de Subs da Twitch (por exemplo, <b>1,62 €</b> por sub com split 50/50 em Portugal/EUR). Na prática, a média costuma ser ligeiramente superior porque existem também subs Tier 2 e Tier 3.
</div>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat td3 td5" style="width:100%;border-collapse:collapse">
<tr>
<td>Categoria de streamer</td>
<td>Número típico de subs</td>
<td><b>Rendimentos mensais (apenas subs)</b></td>
</tr>
<tr>
<td>Top streamers</td>
<td>50.000+ subs</td>
<td class="positive">75.000 € – 240.000 €+</td>
</tr>
<tr>
<td>Streamers grandes</td>
<td>10.000 – 50.000 subs</td>
<td class="positive">15.000 € – 75.000 €</td>
</tr>
<tr>
<td>Streamers médios</td>
<td>1.000 – 10.000 subs</td>
<td class="positive">1.500 € – 15.000 €</td>
</tr>
<tr>
<td>Streamers pequenos</td>
<td>100 – 1.000 subs</td>
<td class="positive">150 € – 1.500 €</td>
</tr>
</table>
</div>
</div>
<p><i>Nota:</i> Os intervalos são propositadamente amplos. Um Calculador de Subs da Twitch mostra rapidamente o impacto de (1) split de receitas, (2) preços por país e (3) mix de Tier 1 / Prime / Tier 2 / Tier 3 no valor líquido final.</p>
<h2 class="trenner checkbox" id="subs-szenario">Exemplos de cálculo: rendimentos mensais na Twitch com 50–1.000 subs</h2>
<p><strong>Para ganhar noção de valores reais, ajuda analisar um cenário concreto – exatamente o que um Calculador de Subs da Twitch faz. Em baixo vês um mix de exemplo: <b>80 % Tier 1 · 15 % Prime · 4 % Tier 2 · 1 % Tier 3</b>. Desconto = 0 %.</strong></p>
<p>A tabela utiliza a mesma lógica do Calculador de Subs da Twitch desta página (incluindo a separação do IVA). Assim, consegues perceber claramente a diferença entre um <b>split 50/50</b> e um <b>70/30</b> nos teus ganhos reais.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat td3 td5" style="width:100%;border-collapse:collapse">
<tr>
<td>Total de subs</td>
<td>Tier 1</td>
<td>Prime</td>
<td>Tier 2</td>
<td>Tier 3</td>
<td><b>Streamer líquido (50/50)</b></td>
<td><b>Streamer líquido (70/30)</b></td>
</tr>
<tr>
<td>50</td>
<td>40</td>
<td>8</td>
<td>2</td>
<td>0</td>
<td class="positive">≈ 85 €</td>
<td class="positive">≈ 119 €</td>
</tr>
<tr>
<td>100</td>
<td>80</td>
<td>15</td>
<td>4</td>
<td>1</td>
<td class="positive">≈ 170 €</td>
<td class="positive">≈ 238 €</td>
</tr>
<tr>
<td>500</td>
<td>400</td>
<td>75</td>
<td>20</td>
<td>5</td>
<td class="positive">≈ 850 €</td>
<td class="positive">≈ 1.190 €</td>
</tr>
<tr>
<td>1.000</td>
<td>800</td>
<td>150</td>
<td>40</td>
<td>10</td>
<td class="positive">≈ 1.700 €</td>
<td class="positive">≈ 2.380 €</td>
</tr>
</table>
</div>
</div>
<p><i>Nota:</i> Se alterares preços por país, mix de tiers ou taxas adicionais no Calculador de Subs da Twitch, os resultados ajustam-se imediatamente.</p>
<h3>Quantos subs são necessários para viver da Twitch?</h3>
<p><strong>“Viver da Twitch” depende fortemente dos custos de vida, do split e do valor médio por sub. Um Calculador de Subs da Twitch mostra claramente que, com um <b>split 50/50</b>, são normalmente necessários vários milhares de subs se os subs forem a única fonte de rendimento.</strong></p>
<p>Na realidade, os rendimentos na Twitch quase nunca vêm de apenas uma fonte:</p>
<ul class="numbers">
<li><strong>Subs</strong> (base previsível, fácil de calcular com um Calculador de Subs da Twitch)</li>
<li><strong>Bits</strong> e <strong>donativos</strong> (mais voláteis)</li>
<li><strong>Publicidade</strong> (dependente de viewers e watchtime)</li>
<li><strong>Afiliados</strong>, <strong>patrocínios</strong> e <strong>parcerias</strong></li>
</ul>
<div class="beispielbox">
<span class="box-headline">Importante:</span></p>
<ul>
<li>Planeia sempre com a <b>média a longo prazo</b>, não com picos de subathons.</li>
<li>Usa o Calculador de Subs da Twitch para definir objetivos realistas com base no split e no mix de tiers.</li>
<li>A partir de certo nível: planeia bem impostos e reservas financeiras.</li>
</ul>
</div>
<h2 class="trenner checkbox" id="subs-mythos">Porque o número de subs, por si só, não diz nada sobre sucesso</h2>
<p><strong>“Tem 1.000 subs, deve estar rico.” Parece lógico – mas muitas vezes é falso. Sem contexto, o número de subs diz muito pouco. É exatamente por isso que existe um Calculador de Subs da Twitch.</strong></p>
<p><strong>1.000 subs não são sempre 1.000 subs.</strong> Dependendo do país, do IVA e do split, o valor líquido pode variar bastante. Um Calculador de Subs da Twitch torna estas diferenças visíveis, enquanto os números brutos as escondem.</p>
<p>Além disso, os subs são <strong>momentâneos</strong>. Hypes, gift subs ou eventos podem criar uma imagem distorcida a curto prazo. Para uma avaliação realista, o que conta é a <strong>média ao longo de vários meses</strong>, não o pico.</p>
<div class="infobox">
<strong>Reality check:</strong> Um streamer com menos subs pode ganhar mais através de publicidade, afiliados ou patrocínios do que um canal focado apenas em subs. Um Calculador de Subs da Twitch mostra apenas uma parte do quadro geral.
</div>
<p>Conclusão: os subs são um bom indicador de ligação à comunidade – mas não garantem rendimentos. Converte sempre os subs em euros. É exatamente para isso que serve o Calculador de Subs da Twitch.</p>
<p><!------------------------- PART 2 SECTION ENDE -------------------------><br />
<!------------------------- PART 3 SECTION START -------------------------></p>
<h2 class="trenner checkbox" id="subs-system">O sistema de subscrições da Twitch explicado em detalhe</h2>
<p><strong>O sistema de subscrições da Twitch está dividido em vários níveis (tiers) para representar diferentes formas de apoio e interação. Tiers mais elevados significam um valor líquido maior por sub para o streamer e vantagens adicionais para o subscritor.</strong></p>
<p>Ao contrário de rendimentos pontuais (por exemplo, donativos), os subs são uma <strong>fonte de rendimento recorrente e previsível</strong>. Promovem a fidelização da comunidade a longo prazo e constituem a base financeira de muitos canais.</p>
<p>O cálculo dos rendimentos segue sempre o mesmo princípio: preço para o espectador → dedução do IVA → pool líquido → revenue split. É exatamente esta a lógica utilizada pelo Calculador de Subs da Twitch.</p>
<h2 class="checkbox">Quem recebe quanto numa subscrição da Twitch?</h2>
<p><strong>Depois da dedução do IVA, o valor líquido restante é dividido entre a Twitch e o streamer. O split padrão é 50/50, mas pode variar em caso de condições contratuais especiais (por exemplo, 70/30).</strong></p>
<p>A parte da Twitch não é calculada como uma percentagem fixa do preço bruto, mas como o valor restante do pool líquido após a aplicação do split.</p>
<h3>Quanto ganha a Twitch por cada sub?</h3>
<p><strong>A Twitch ganha a parte do valor líquido que sobra depois da percentagem do streamer. O montante exato depende diretamente do split acordado e do tipo de sub.</strong></p>
<p>Existem ainda receitas indiretas através de programas Prime, gestão de loja e retenção na plataforma. Estes valores não são quantificáveis de forma geral e variam conforme a região.</p>
<h2 class="trenner checkbox">O que é um Prime Sub da Twitch e como funciona?</h2>
<p><strong>Um Prime Sub da Twitch é uma subscrição gratuita para espectadores com Amazon Prime. Para o streamer, é pago como um sub Tier 1, mesmo que o espectador não pague um preço direto.</strong></p>
<p>Os Prime Subs têm de ser atribuídos manualmente todos os meses e não se renovam automaticamente. Desempenham um papel importante no crescimento do alcance e da comunidade.</p>
<ul class="numbers">
<li>Ligar a conta Amazon à conta Twitch</li>
<li>Selecionar o Prime Sub na janela de subscrição</li>
<li>Atribuí-lo novamente todos os meses</li>
</ul>
<h3 class="cleanheadline">Quanto vale um Prime Sub para o streamer?</h3>
<p><strong>O valor de um Prime Sub corresponde ao payout de um Tier 1 e é, consoante o split, por exemplo, cerca de <span class="positive">1,62 €</span> (50/50) ou <span class="positive">2,27 €</span> (70/30) em Portugal (EUR).</strong></p>
<p>Para o espectador, o Prime Sub é “gratuito” por fazer parte da subscrição Amazon Prime. Para o streamer, continua a ser um sub completo.</p>
<h2 class="trenner checkbox">Que requisitos têm os streamers de cumprir para receber subs?</h2>
<p><strong>Para poder receber subs da Twitch, um streamer tem de fazer parte do programa de Afiliados ou Partners da Twitch. Só a partir desse estatuto é possível subscrever um canal.</strong></p>
<p>O estatuto de Afiliado é normalmente o ponto de entrada na monetização. Os requisitos exatos podem mudar, mas geralmente incluem:</p>
<ul class="advantage">
<li>Pelo menos 50 seguidores</li>
<li>Média de pelo menos 3 espectadores nos últimos 30 dias</li>
<li>Pelo menos 7 streams nos últimos 30 dias</li>
<li>Pelo menos 500 minutos transmitidos nos últimos 30 dias</li>
</ul>
<p>As condições atuais podem ser consultadas na <a href="https://help.twitch.tv/s/article/joining-the-affiliate-program?language=pt" target="_blank" rel="noopener">ajuda oficial da Twitch</a>.</p>
<h2 class="trenner checkbox">Com o que se ganha mais: subs ou donativos?</h2>
<p><strong>Para muitos streamers, os subs representam uma grande parte do rendimento previsível, enquanto os donativos são mais voláteis. A proporção exata depende da comunidade e da estratégia de conteúdo.</strong></p>
<p>Os subs trazem estabilidade; os donativos podem gerar picos de curto prazo. Canais bem-sucedidos combinam ambos com publicidade, afiliados e parcerias.</p>
<h2 class="trenner checkbox">Como subscrever um canal da Twitch?</h2>
<p><strong>Para subscrever um canal, é necessário segui-lo primeiro de forma gratuita. Depois, podes escolher um Prime Sub ou uma subscrição Tier 1, Tier 2 ou Tier 3.</strong></p>
<ul class="numbers">
<li>Abrir o canal</li>
<li>Clicar no botão “Seguir”</li>
<li>Selecionar o botão “Subscrever”</li>
<li>Escolher o tipo e a duração da subscrição</li>
</ul>
<h2 class="trenner checkbox" id="subs-diversifikation">Subs como base – porque a diversificação é obrigatória</h2>
<p><strong>Os subs são previsíveis e, para muitos streamers, a fonte de rendimento mais estável. Ainda assim, nunca devem ser o único pilar, pois depender de uma única plataforma é sempre um risco.</strong></p>
<p>A razão principal é simples: a Twitch define as regras. Preços, splits, ajustes regionais ou programas podem mudar sem que tenhas controlo. Mesmo com o mesmo número de subs, o teu resultado líquido pode variar. A isto juntam-se flutuações normais: pausas, menos streams ou mudanças nos hábitos dos espectadores afetam diretamente as subscrições.</p>
<p>A dinâmica da comunidade também não deve ser subestimada. Os subs são recorrentes, mas não garantidos. Após hypes, subathons ou eventos, os números costumam normalizar mais do que o esperado. Quem depende apenas de subs sente essas quebras imediatamente nos rendimentos.</p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Exemplo prático:</span></p>
<ul>
<li>Um canal vive quase só de subs → um mês mais fraco tem impacto direto.</li>
<li>Um canal combina subs com publicidade e afiliados → as flutuações são amortecidas.</li>
<li>Os subs são a base, outras receitas trazem estabilidade.</li>
</ul>
</div>
<p>Complementos sensatos aos subs incluem publicidade (com elevada watchtime), rendimentos de afiliados, patrocínios ou produtos próprios. O objetivo não é a monetização máxima, mas a previsibilidade. Os subs dão-te a base; a diversificação garante estabilidade mesmo quando um mês não corre de forma perfeita.</p>
<h2 class="trenner checkbox">Como oferecer subs da Twitch?</h2>
<p><strong>As subscrições podem ser oferecidas selecionando a opção “Oferecer uma sub” na janela de subscrição de um canal. A quantidade e o tier podem ser escolhidos livremente.</strong></p>
<p>Os gift subs fortalecem a ligação da comunidade e costumam aumentar a interação durante a stream.</p>
<h2 class="trenner checkbox">Porque é que os espectadores oferecem subs da Twitch?</h2>
<p><strong>Os espectadores oferecem subs para apoiar visivelmente o streamer e aumentar a sua própria presença dentro da comunidade.</strong></p>
<p>As subs oferecidas aumentam o alcance, o envolvimento e a taxa de retorno de outros espectadores.</p>
<h2 class="trenner checkbox">Que impostos tem um streamer de pagar sobre os subs da Twitch?</h2>
<p><strong>A carga fiscal depende da situação individual. Consoante os rendimentos, a forma jurídica e os limites aplicáveis, as deduções podem ser reduzidas ou representar uma parte relevante dos ganhos.</strong></p>
<p>Como os impostos não podem ser calculados de forma geral, não estão integrados como valor fixo no Calculador de Subs da Twitch. Com o aumento dos rendimentos, é aconselhável envolver um contabilista ou consultor fiscal o mais cedo possível.</p>
<div class="infobox">
<strong>Conclusão:</strong> Os subs da Twitch são uma fonte de rendimento estável e previsível. Quem compreende o modelo líquido, o split e o seu mix de subs consegue estimar ganhos de forma realista e otimizar de forma estratégica.
</div>
<p><!------------------------- PART 3 SECTION ENDE -------------------------></p>
<p><!-- ME: FOOTER OPTIN --><div class="optin-box twitch-optin">

</div>
<!-- ME: MORE INFO TRANSLATION --></div>
<div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Mais informações">
Informações sobre esta ferramenta:
<ul class="post-info">
<li><strong>Nome:</strong> Calculadora de Subs Twitch: Converter subs em dinheiro</li>
<li><strong>Descrição:</strong> Quanto dinheiro rendem os subs da Twitch? A calculadora mostra quanto ganhas por mês com subscrições.</li>
</ul>

<ul class="post-info">
<li><strong>Autor:</strong> Kevin</li>
<li><strong>Publicado:</strong> 15 de Janeiro, 2026</li>
<li><strong>Última atualização:</strong> 27.02.2026</li>
<li><strong>Categoria:</strong> Twitch</li>
<li><strong>Tempo de leitura:</strong> 15 min.</li>
</ul>


<strong>Sobre o autor:</strong>

<div class="author-box">
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/kevin-founder-of-creator-cash.png" alt="kevin founder of creator cash" width="90" height="90" class="size-full wp-image-234" title="Calculadora de Subs Twitch: Converter subs em dinheiro 18"><strong>Kevin - Fundador da Creator Cash</strong>
Kevin é um criador de conteúdo experiente e especialista em SEO com foco na economia criativa, monetização de redes sociais e fontes de receita digital. Ele analisa plataformas como TikTok, Twitch e YouTube em detalhes e partilha cálculos, dados e estratégias práticas. Com a sua experiência em marketing e consultoria criativa, ele transmite conhecimentos sólidos com claro valor acrescentado para criadores e marcas.</div>

<div class="share-box">
<strong>Partilhar esta publicação:</strong><br>
<div class="share-box"> 
  <div class="share-row">
    <input class="share-input" type="text" value="" placeholder="https://…" readonly>
    <button class="share-copy" type="button" aria-label="Copy link" title="Copy link">
      <span class="ico ico-copy" aria-hidden="true">
        <!-- Dein SVG -->
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="8" y="8" width="12" height="12" rx="2" ry="2"></rect>
          <path d="M4 16V6a2 2 0 0 1 2-2h10"></path>
        </svg>
      </span>
      <span class="ico ico-check" aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
          <path d="M20 6 L9 17 L4 12"></path>
        </svg>
      </span>
    </button>
  </div>

  <div class="share-links">
    <a class="share-btn share-x"      href="#" target="_blank" rel="noopener nofollow" aria-label="Share on X"        title="X"></a>
    <a class="share-btn share-fb"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Facebook" title="Facebook"></a>
    <a class="share-btn share-li"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on LinkedIn" title="LinkedIn"></a>
    <a class="share-btn share-reddit" href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Reddit"   title="Reddit"></a>
    <a class="share-btn share-wa"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on WhatsApp" title="WhatsApp"></a>
    <a class="share-btn share-tg"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Telegram" title="Telegram"></a>
  </div>
</div>

<style id="share-box-css">
.share-box{border:1px solid #eee;border-radius:12px;padding:12px 14px}
.share-links a{padding:5px 8px!important}
.share-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.share-input{flex:1;padding:10px;border:1px solid #e5e5e5;border-radius:10px;background:#f7f7f7}
.share-copy{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:40px;border:0;border-radius:10px;background:#54FFA7;color:#000;cursor:pointer}
.share-copy svg{width:22px;height:22px;display:block}
.share-copy .ico-check{display:none}
.share-copy.ok .ico-copy{display:none}
.share-copy.ok .ico-check{display:block}

.share-links{display:flex;flex-wrap:wrap;gap:8px}
.share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid #eaeaea;border-radius:10px;background:#B9FFD8;color:#111;text-decoration:none;position:relative}
.share-btn::before{content:"";display:block;width:18px;height:18px;mask-size:contain;mask-repeat:no-repeat;background:currentColor}

/* Platform Icons */
.share-x::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 3h3l6 7 6-7h3l-7.5 8.5L21 21h-3l-6-7-6 7H3l8.5-9.5z'/></svg>")}
.share-fb::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M13 22v-9h3l1-4h-4V7a1 1 0 0 1 1-1h3V2h-3a5 5 0 0 0-5 5v3H6v4h3v9z'/></svg>")}
.share-li::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM4 8h4v12H4zM14.5 8A4.5 4.5 0 0 1 19 12.5V20h-4v-6a2 2 0 1 0-4 0v6H7v-12h4v1.6A4.49 4.49 0 0 1 14.5 8z'/></svg>")}
.share-reddit::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 12c0 4.4-4.5 8-9 8s-9-3.6-9-8 4.5-8 9-8c2.1 0 4 .6 5.5 1.7l1.6-1.6L20 5l-2.5.7A7 7 0 0 1 21 12z'/></svg>")}
.share-wa::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 12a8 8 0 0 1-12.3 6.7L4 20l1.3-3.6A8 8 0 1 1 20 12z'/></svg>")}
.share-tg::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 4 3 12l6.3 2.1L18 7l-7.3 8.1V20l3-2.6L18.8 21z'/></svg>")}
</style>

<script>
(function(){
  document.querySelectorAll('.share-box').forEach(function(box){
    if (box.dataset.bound) return; box.dataset.bound = "1";

    var url   = window.location.href.split('#')[0];
    var title = document.title || '';
    var uEnc  = encodeURIComponent(url);
    var tEnc  = encodeURIComponent(title);

    var input = box.querySelector('.share-input');
    if (input) input.value = url;

    var map = {
      '.share-x'     : 'https://twitter.com/intent/tweet?url='+uEnc+'&text='+tEnc,
      '.share-fb'    : 'https://www.facebook.com/sharer/sharer.php?u='+uEnc,
      '.share-li'    : 'https://www.linkedin.com/sharing/share-offsite/?url='+uEnc,
      '.share-reddit': 'https://www.reddit.com/submit?url='+uEnc+'&title='+tEnc,
      '.share-wa'    : 'https://wa.me/?text='+tEnc+'%20'+uEnc,
      '.share-tg'    : 'https://t.me/share/url?url='+uEnc+'&text='+tEnc
    };
    Object.keys(map).forEach(function(sel){
      var a = box.querySelector(sel); if(a) a.href = map[sel];
    });

    var copy = box.querySelector('.share-copy');
    if (copy && input) {
      copy.addEventListener('click', async function(){
        try { await navigator.clipboard.writeText(input.value); copy.classList.add('ok'); } catch(e){}
        setTimeout(function(){ copy.classList.remove('ok'); }, 1200);
      });
    }
  });
})();
</script>

</div>
</div></div></div>
</p></div>

</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Ganhar dinheiro no TikTok: Calculadora de ganhos</title>
		<link>https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/</link>
		
		<dc:creator><![CDATA[Kevin]]></dc:creator>
		<pubDate>Tue, 13 Jan 2026 08:45:40 +0000</pubDate>
				<category><![CDATA[Tiktok]]></category>
		<guid isPermaLink="false">https://creator-cash.com/?p=1096</guid>

					<description><![CDATA[Ganhar dinheiro no TikTok: A calculadora de ganhos do TikTok mostra quanto podes ganhar com visualizações, CPM e moedas. Ganhar dinheiro no TikTok Calculadora de ganhos Ganhar dinheiro no TikTok explicado em detalhe]]></description>
										<content:encoded><![CDATA[<div class="tool-post tiktok">
<div class="page-header">
<div class="page-header-image">
<p><!-- ME: OG IMAGE--><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/ganhar-dinheiro-no-tiktok-1024x1024.jpg" alt="Ganhar dinheiro no TikTok" width="1200" height="1200" class="alignnone size-full" title="Ganhar dinheiro no TikTok: Calculadora de ganhos 30"></div>
<div class="page-header-content">
<div class="page-header-title">
<p><!-- Area 1 --><!-- SECTION START --></p>
<h1>Ganhar dinheiro no TikTok: Calculadora de ganhos</h1>
<p><!-- SECTION ENDE -->
</div>
<div class="page-header-description">
<p><!-- SECTION START META DESCRIPTION --><span>Ganhar dinheiro no TikTok: A calculadora de ganhos do TikTok mostra quanto podes ganhar com visualizações, CPM e moedas.</span><!-- SECTION ENDE --></p>
</div>
<div class="page-header-background">
<p><!-- ME: MOBILE MAIN IMAGE--><img decoding="async" src="/wp-content/themes/gp-child/img-posts/make-money-on-tiktok-tool-mobile.png" alt="Ganhar dinheiro no TikTok" width="394" height="410" class="alignnone size-full wp-image-319" title="Ganhar dinheiro no TikTok: Calculadora de ganhos 31"><br />
<!-- Area 1 Ende --></p>
</div>
</div>
</div>
<div class="tool tiktok-tool">
<div class="tool-header">
<div class="tool-tabs">
<div class="tool-tab tool-tab-active"><span class="svg-icon icon-small"><svg width="13" height="14" viewBox="0 0 13 14" xmlns="http://www.w3.org/2000/svg" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.3605 4.01483C11.5991 4.01483 10.8966 3.76261 10.3325 3.33712C9.68556 2.84936 9.22073 2.13386 9.05657 1.3092C9.01593 1.10544 8.99404 0.895169 8.99196 0.679688H6.81708V6.6225L6.81447 9.87766C6.81447 10.7479 6.24776 11.4858 5.46217 11.7453C5.23418 11.8206 4.98796 11.8563 4.73157 11.8423C4.40431 11.8243 4.09763 11.7255 3.83108 11.5661C3.26384 11.2268 2.87926 10.6114 2.86884 9.90736C2.85242 8.80702 3.74197 7.90992 4.84152 7.90992C5.05857 7.90992 5.26701 7.94535 5.46217 8.00971V6.38539V5.80148C5.25633 5.771 5.04684 5.7551 4.83501 5.7551C3.63149 5.7551 2.50588 6.25537 1.70127 7.15665C1.09313 7.83774 0.72835 8.70671 0.672069 9.61788C0.598331 10.8149 1.03633 11.9527 1.88575 12.7923C2.01056 12.9155 2.14162 13.0299 2.27867 13.1354C3.00693 13.6959 3.89726 13.9997 4.83501 13.9997C5.04684 13.9997 5.25633 13.9841 5.46217 13.9536C6.33817 13.8238 7.14642 13.4228 7.78427 12.7923C8.56803 12.0176 9.00108 10.9892 9.00577 9.89459L8.99456 5.03362C9.36846 5.32205 9.77728 5.56073 10.2161 5.74598C10.8985 6.0339 11.622 6.17981 12.3667 6.17955V4.60031V4.01431C12.3672 4.01483 12.361 4.01483 12.3605 4.01483Z" /></svg></span><!-- SECTION START -->Ganhar dinheiro no TikTok<!-- SECTION ENDE --></div>
<div class="tool-tab"><a href="/pt-pt/cagegory/tiktok/"><!-- SECTION START -->Todos os calculadores de Tiktok<!-- SECTION ENDE --></a></p>
</div>
</div>
</div>
<div class="tool-content">
<div class="tool-code">
<div class="tool-title">
<p><!-- SECTION START RECHNER NAME -->Ganhar dinheiro no TikTok<!-- SECTION ENDE --></div>
<p><span class="tool-subtitle"><!-- SECTION START -->Calculadora de ganhos<!-- SECTION ENDE --></span><!-- ME: MAIN RECHNER --><style>
/* --- TikTok Earnings Hochrechner (compact, same ttk/dd style) --- */
@media (min-width:1024px){.tool-content{height:558px!important}}
@media (max-width:1023px){.ttk-filter-label{display:none}}

.tth, .tth *{font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important}
.tth{max-width:720px;width:100%;margin:10px auto;overflow:hidden}
.tth-row{gap:12px;margin-top:9px}
.tth-card{padding:10px 14px 0px}

/* match your grey input cards from example */
.tth .ttk-card{
  background:#f3f4f6;
  border:1px solid #D1D5DB;
  border-radius:7px;
  box-shadow:none;
}

/* keep filter boxes compact */
.tth .ttk-filter{margin-bottom:0;height:37px;position:relative}
.tth .tth-abslabel{position:absolute;left:14px;top:50%;transform:translateY(-50%);margin:0;pointer-events:none;font-weight:600}
.tth .ttk-filters{margin-top:0}

/* remove native selects on desktop */
#tth-country-native,#tth-currency-native,#tth-niche-native{display:none!important}

/* niche: ensure one visible */
#tth-niche-label{display:none!important}
#tth-niche-dd{width:100%}
.tth-niche-dd .dd-selected{width:225px!important;padding-left:4px;margin-left:-15px}
#tth-niche-dd .dd-list{left:0px}

/* row headline (big number) */
.tth-headline{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.tth-big{font-size:21px;font-weight:900;letter-spacing:.1px;line-height:1}
.tth-right{font-size:14px;font-weight:800}
.tth-right.subtle{opacity:.65}

/* row 2: label above + tight grey boxes */
.tth-midlabel{font-size:13.5px;font-weight:600;margin:0 0 6px 2px}
.tth-midbox{
  height:37px;background:#f3f4f6;border:1px solid #D1D5DB;border-radius:7px;
  display:flex;align-items:center;padding:0 8px
}
.tth-midbox .tth-select{
  width:100%;height:35px;border:0;background:transparent;border-radius:7px;
  padding:0 6px;font-weight:800;font-size:13.5px;outline:none
}
.tth-midbox .tth-inline{width:100%;gap:10px;display:flex;align-items:center}
.tth-midbox .tth-miniinput{
  height:35px;background:transparent;border:0;padding:0 6px;width:70px;
  font-size:14px;font-weight:900;outline:none
}
.tth-midbox input[type="range"]{flex:1;margin:0}

/* make row-2 wrapper cards "invisible" (no bg/border/padding) */
.tth-plain{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}

/* dark results (compact) */
.tth-darkrow{align-items:stretch}
.tth-dark{
  flex:1;background:#0a0a0a;border:1px solid #000;border-radius:10px;
  padding:14px 16px;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.12)
}
.tth-dark-title{font-size:14px;font-weight:700;margin-bottom:4px}
.tth-dark-val{font-size:25px;font-weight:800;line-height:1}
.tth-dark-val.green{color:#2BE070}
.tth-dark-sub{margin-top:8px;font-size:13px;font-style:italic;opacity:.75;line-height:1.25}
.tth-yellow{border:1px solid #F2D699!important;background:#FDF5E1;color:#000}
.tth-yellow .tth-dark-val{color:#D5A623}
.tth-yellow .tth-dark-sub{color:#A47C0C}
.tth-green{border:1px solid #77D991!important;background:#E8F9EB;color:#000}
.tth-green .tth-dark-val{color:#1FAF56}
.tth-green .tth-dark-sub{color:#127C3A}

/* tiny metrics row */
.tth-metrics{margin-top:12px}
.tth-metrics .ttk-card{padding:8px 12px 4px;flex:0 1 calc((100% - 24px)/3);min-width:0}
.tth-sub{font-size:12.5px;color:#000;font-weight:600}
.tth-fee{font-size:21px;font-weight:700}

/* mobile */
@media (max-width:760px){
  #tth-country-dd,#tth-currency-dd,#tth-niche-dd{display:none!important}
  #tth-country-native,#tth-currency-native,#tth-niche-native{
    display:block!important;width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:16px
  }
  .tth-row{flex-direction:column}
  .tth-darkrow{flex-direction:column}
  .tth-darkrow .tth-dark{min-width:100%}

  /* bottom metrics full width stacked */
  .tth-metrics{flex-direction:column}
  .tth-metrics .ttk-card{flex:1 1 100%;min-width:100%}
}
</style>

<div id="tth-calc" class="ttk tth">
  <!-- TOP FILTERS -->
  <div class="tool-filters ttk-row ttk-filters">
    <div class="tool-filter ttk-card ttk-top">
      <div class="ttk-filter">
        <div class="ttk-filter-label tth-abslabel">País</div>
        <div id="tth-country-dd" class="dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <img alt="" width="20" height="15"><span class="dd-name"></span><span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Escolher país"></ul>
        </div>
        <select id="tth-country-native" aria-label="Escolher país"></select>
      </div>
    </div>

    <div class="tool-filter ttk-card ttk-top">
      <div class="ttk-filter">
        <div class="ttk-filter-label tth-abslabel">Moeda</div>
        <div id="tth-currency-dd" class="dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <span class="dd-name"></span><span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Escolher moeda"></ul>
        </div>
        <select id="tth-currency-native" aria-label="Escolher moeda"></select>
      </div>
    </div>

    <div class="tool-filter ttk-card ttk-top">
      <div class="ttk-filter">
        <div class="ttk-filter-label" id="tth-niche-label">UGC/Entretenimento</div>
        <div id="tth-niche-dd" class="dd tth-niche-dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <span class="dd-name" id="tth-niche-selected">UGC/Entretenimento</span><span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Escolher nicho"></ul>
        </div>
        <select id="tth-niche-native" aria-label="Escolher nicho"></select>
      </div>
    </div>
  </div>

  <!-- ROW 1 -->
  <div class="ttk-row tth-row">
    <div class="ttk-card tth-card">
      <div class="tth-headline">
        <div class="tth-big" id="tth-followers-label">250.000</div>
        <div class="tth-right">Seguidores</div>
      </div>
      <input id="tth-followers" type="range" min="0" max="5000000" step="1000" value="250000" class="ttk-range ttk-range-black">
    </div>

    <div class="ttk-card tth-card">
      <div class="tth-headline">
        <div class="tth-big" id="tth-views-label">120.000</div>
        <div class="tth-right">Média views/vídeo</div>
      </div>
      <input id="tth-views-range" type="range" min="0" max="2000000" step="1000" value="120000" class="ttk-range ttk-range-black">
      <input id="tth-views" type="number" min="0" max="50000000" step="100" value="120000" style="display:none!important" aria-hidden="true">
    </div>
  </div>

  <!-- ROW 2 -->
  <div class="ttk-row tth-row">
    <div class="ttk-card tth-card tth-plain">
      <div class="tth-midlabel">Posts/mês</div>
      <div class="tth-midbox">
        <div class="tth-inline">
          <input id="tth-posts" class="tth-miniinput" type="number" min="0" max="90" step="1" value="20" aria-label="Posts por mês">
          <input id="tth-posts-range" type="range" min="0" max="90" step="1" value="20" class="ttk-range ttk-range-black">
        </div>
      </div>
    </div>

    <div class="ttk-card tth-card tth-plain">
      <div class="tth-midlabel">Monetização</div>
      <div class="tth-midbox">
        <select id="tth-model" class="tth-select" aria-label="Modelo de monetização">
          <option value="ads" selected>Mais Ads (Creator Program)</option>
          <option value="balanced">Equilibrado (Ads + Deals)</option>
          <option value="deals">Mais Deals (Sponsors/UGC)</option>
        </select>
      </div>
    </div>
  </div>

  <!-- DARK RESULTS -->
  <div class="ttk-row tth-row tth-darkrow">
    <div class="tth-dark tth-yellow">
      <div class="tth-dark-title">Ganhos mensais (intervalo)</div>
      <div class="tth-dark-val" id="tth-range">€0–€0</div>
      <div class="tth-dark-sub" id="tth-range-sub">Base: €0 · Qualidade: Média</div>
    </div>

    <div class="tth-dark tth-green">
      <div class="tth-dark-title">Sponsor/UGC por post (est.)</div>
      <div class="tth-dark-val green" id="tth-sponsor">€0</div>
      <div class="tth-dark-sub" id="tth-sponsor-sub">Deals/mês: 0 · RPM efetivo: 0.00 / 1k</div>
    </div>
  </div>

  <!-- MINI METRICS -->
  <div class="tool-results ttk-row tth-metrics">
    <div class="ttk-card">
      <div class="tth-sub">Views mensais (est.)</div>
      <div class="tth-fee" id="tth-month-views">0</div>
    </div>
    <div class="ttk-card">
      <div class="tth-sub">Ads/Creator Program (est.)</div>
      <div class="tth-fee" id="tth-ads">€0</div>
    </div>
    <div class="ttk-card">
      <div class="tth-sub">Sponsors/UGC (est.)</div>
      <div class="tth-fee" id="tth-deals">€0</div>
    </div>
  </div>
</div>

<script>
(function(){
  const $=id=>document.getElementById(id);
  const root=$('tth-calc'); if(!root) return;

  /* --- data --- */
  const COUNTRIES=[
    {code:'de',name:'DEU',cur:'EUR',rpm:1.40, tax:30, sponsorV:10.0, sponsorF:0.18},
    {code:'us',name:'USA',cur:'USD',rpm:1.80, tax:25, sponsorV:14.0, sponsorF:0.22},
    {code:'gb',name:'UK', cur:'GBP',rpm:1.60, tax:25, sponsorV:12.0, sponsorF:0.20},
    {code:'fr',name:'FRA',cur:'EUR',rpm:1.30, tax:30, sponsorV:9.5,  sponsorF:0.17},
    {code:'it',name:'ITA',cur:'EUR',rpm:1.20, tax:30, sponsorV:9.0,  sponsorF:0.16},
    {code:'es',name:'ESP',cur:'EUR',rpm:1.10, tax:28, sponsorV:8.5,  sponsorF:0.15},

    /* added Portugal (PT-PT) */
    {code:'pt',name:'PRT',cur:'EUR',rpm:1.15, tax:28, sponsorV:8.8,  sponsorF:0.155},

    {code:'ca',name:'CAN',cur:'CAD',rpm:1.35, tax:25, sponsorV:10.0, sponsorF:0.18},
    {code:'au',name:'AUS',cur:'AUD',rpm:1.30, tax:25, sponsorV:10.0, sponsorF:0.18},
    {code:'nl',name:'NLD',cur:'EUR',rpm:1.25, tax:30, sponsorV:9.5,  sponsorF:0.17},
    {code:'br',name:'BRA',cur:'BRL',rpm:0.70, tax:25, sponsorV:4.8,  sponsorF:0.10},
    {code:'mx',name:'MEX',cur:'MXN',rpm:0.75, tax:25, sponsorV:5.0,  sponsorF:0.10},
    {code:'ph',name:'PHL',cur:'USD',rpm:0.60, tax:25, sponsorV:4.0,  sponsorF:0.09},
  ];
  const CTRY=Object.fromEntries(COUNTRIES.map(c=>[c.code,c]));

  const NICHES={
    ugc:{label:'UGC/Entretenimento', rpmF:1.00, dealF:1.00},
    gaming:{label:'Gaming',               rpmF:0.95, dealF:0.90},
    lifestyle:{label:'Lifestyle',         rpmF:1.00, dealF:1.05},
    fitness:{label:'Fitness/Saúde',       rpmF:1.05, dealF:1.10},
    edu:{label:'Educação/How-to',         rpmF:1.10, dealF:1.15},
    biz:{label:'Negócios/Finanças',       rpmF:1.15, dealF:1.25},
    beauty:{label:'Beleza/Moda',          rpmF:1.05, dealF:1.20},
    tech:{label:'Tech/Reviews',           rpmF:1.10, dealF:1.15},
  };

  const MODELS={
    ads:{label:'Ads-dominant', dealMult:0.55, otherPct:0.04},
    balanced:{label:'Balanced', dealMult:1.00, otherPct:0.07},
    deals:{label:'Deals-dominant', dealMult:1.60, otherPct:0.10},
  };

  const CURRENCIES=['EUR','USD','GBP','CAD','AUD','BRL','MXN'];
  const FX={
    "EUR→EUR":1,"EUR→USD":1.09,"EUR→GBP":0.84,"EUR→CAD":1.46,"EUR→AUD":1.62,"EUR→BRL":5.80,"EUR→MXN":20.0,
    "USD→USD":1,"USD→EUR":0.92,"USD→GBP":0.77,"USD→CAD":1.34,"USD→AUD":1.49,"USD→BRL":5.32,"USD→MXN":18.4,
    "GBP→GBP":1,"GBP→EUR":1.19,"GBP→USD":1.30,"GBP→CAD":1.74,"GBP→AUD":1.93,"GBP→BRL":6.90,"GBP→MXN":24.0,
    "CAD→CAD":1,"CAD→EUR":0.69,"CAD→USD":0.75,"CAD→GBP":0.57,"CAD→AUD":1.11,"CAD→BRL":3.95,"CAD→MXN":13.6,
    "AUD→AUD":1,"AUD→EUR":0.62,"AUD→USD":0.67,"AUD→GBP":0.52,"AUD→CAD":0.90,"AUD→BRL":3.60,"AUD→MXN":12.5,
    "BRL→BRL":1,"BRL→EUR":0.17,"BRL→USD":0.19,"BRL→GBP":0.14,"BRL→CAD":0.25,"BRL→AUD":0.28,"BRL→MXN":3.45,
    "MXN→MXN":1,"MXN→EUR":0.05,"MXN→USD":0.054,"MXN→GBP":0.042,"MXN→CAD":0.074,"MXN→AUD":0.08,"MXN→BRL":0.29
  };
  const rate=(f,t)=>FX[`${f}→${t}`]??1;

  // PT-PT formatting: prefer pt-PT for EUR.
  const localeFor=cur=>({EUR:'pt-PT',USD:'en-US',GBP:'en-GB',CAD:'en-CA',AUD:'en-AU',BRL:'pt-BR',MXN:'es-MX'})[cur]||'pt-PT';

  const fmt=(v,cur)=>{try{return v.toLocaleString(localeFor(cur),{style:'currency',currency:cur});}catch(e){return (Math.round(v*100)/100).toFixed(2)+' '+cur;}};
  const fmtInt=(n,cur)=>{try{return Math.round(n).toLocaleString(localeFor(cur));}catch(e){return String(Math.round(n));}};

  /* --- language defaults --- */
  // PT (Portugal) requested: PRT + EUR
  const LANG_DEFAULTS={
    de:{country:'de',currency:'EUR'},
    en:{country:'us',currency:'USD'},
    es:{country:'es',currency:'EUR'},
    pt:{country:'pt',currency:'EUR'},
    fr:{country:'fr',currency:'EUR'},
    it:{country:'it',currency:'EUR'}
  };
  function inferLang(){
    const lang=(document.documentElement.getAttribute('lang')||'pt').toLowerCase();
    const short=lang.split('-')[0];
    return LANG_DEFAULTS[short]?short:'pt';
  }

  /* --- dropdown wiring --- */
  const countryDD=$('tth-country-dd'), cBtn=countryDD.querySelector('.dd-selected'),
        cImg=cBtn.querySelector('img'), cName=cBtn.querySelector('.dd-name'),
        cList=countryDD.querySelector('.dd-list'), countryNative=$('tth-country-native');

  const currDD=$('tth-currency-dd'), curBtn=currDD.querySelector('.dd-selected'),
        curName=curBtn.querySelector('.dd-name'), curList=currDD.querySelector('.dd-list'),
        currencyNative=$('tth-currency-native');

  const nicheDD=$('tth-niche-dd'), nicheBtn=nicheDD.querySelector('.dd-selected'),
        nicheList=nicheDD.querySelector('.dd-list'), nicheNative=$('tth-niche-native'),
        nicheSelected=$('tth-niche-selected');

  function openList(btn,list,open){btn.setAttribute('aria-expanded',open?'true':'false');list.style.display=open?'block':'none';}
  document.addEventListener('click',e=>{
    if(!countryDD.contains(e.target)) openList(cBtn,cList,false);
    if(!currDD.contains(e.target)) openList(curBtn,curList,false);
    if(!nicheDD.contains(e.target)) openList(nicheBtn,nicheList,false);
  });
  cBtn.addEventListener('click',()=>openList(cBtn,cList,cList.style.display!=='block'));
  curBtn.addEventListener('click',()=>openList(curBtn,curList,curList.style.display!=='block'));
  nicheBtn.addEventListener('click',()=>openList(nicheBtn,nicheList,nicheList.style.display!=='block'));

  /* --- inputs --- */
  const followersRange=$('tth-followers');
  const followersLabel=$('tth-followers-label');
  const viewsRange=$('tth-views-range');
  const viewsLabel=$('tth-views-label');
  const viewsHidden=$('tth-views');
  const postsInput=$('tth-posts');
  const postsRange=$('tth-posts-range');
  const modelSel=$('tth-model');

  /* --- outputs --- */
  const rangeEl=$('tth-range'), rangeSub=$('tth-range-sub');
  const sponsorEl=$('tth-sponsor'), sponsorSub=$('tth-sponsor-sub');
  const monthViewsEl=$('tth-month-views'), adsEl=$('tth-ads'), dealsEl=$('tth-deals');

  let state={country:'pt',currency:'EUR',niche:'ugc',currencyOverridden:false};

  function updateSliderFill(el){
    const min=+el.min||0, max=+el.max||1, val=+el.value||0;
    el.style.setProperty('--pct',(((val-min)/(max-min))*100)+'%');
  }
  function clampInt(el,min,max){
    let v=parseInt(el.value||'0',10);
    if(isNaN(v)) v=0;
    v=Math.max(min,Math.min(max,v));
    el.value=v;
    return v;
  }

  function buildCountryList(){
    cList.innerHTML=''; countryNative.innerHTML='';
    COUNTRIES.forEach(c=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.code=c.code;
      li.innerHTML=`<img decoding="async" alt="" width="20" height="15" src="https://flagcdn.com/w20/${c.code}.png" srcset="https://flagcdn.com/w40/${c.code}.png 2x" onerror="this.style.display='none'"><span>${c.name}</span>`;
      li.addEventListener('click',()=>selectCountry(c.code,true));
      cList.appendChild(li);
      const opt=document.createElement('option'); opt.value=c.code; opt.textContent=c.name; countryNative.appendChild(opt);
    });
  }
  function buildCurrencyList(){
    curList.innerHTML=''; currencyNative.innerHTML='';
    CURRENCIES.forEach(code=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=code;
      li.textContent=code;
      li.addEventListener('click',()=>selectCurrency(code,true,true));
      curList.appendChild(li);
      const opt=document.createElement('option'); opt.value=code; opt.textContent=code; currencyNative.appendChild(opt);
    });
  }
  function buildNicheList(){
    nicheList.innerHTML=''; nicheNative.innerHTML='';
    Object.entries(NICHES).forEach(([key,cfg])=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=key;
      li.textContent=cfg.label;
      li.addEventListener('click',()=>selectNiche(key,true));
      nicheList.appendChild(li);
      const opt=document.createElement('option'); opt.value=key; opt.textContent=cfg.label; nicheNative.appendChild(opt);
    });
  }

  function selectCountry(code,closeAfter){
    state.country=code;
    const c=CTRY[code]||CTRY.pt;
    cImg.src=`https://flagcdn.com/w20/${code}.png`;
    cImg.srcset=`https://flagcdn.com/w40/${code}.png 2x`;
    cName.textContent=c.name;
    countryNative.value=code;
    if(!state.currencyOverridden) selectCurrency(c.cur,false,false);
    if(closeAfter) openList(cBtn,cList,false);
    calc();
  }
  function selectCurrency(val,closeAfter,markOverride){
    state.currency=val;
    if(markOverride) state.currencyOverridden=true;
    curName.textContent=val;
    currencyNative.value=val;
    if(closeAfter) openList(curBtn,curList,false);
    calc();
  }
  function selectNiche(key,closeAfter){
    state.niche=key;
    const cfg=NICHES[key]||NICHES.ugc;
    nicheSelected.textContent=cfg.label;
    nicheNative.value=key;
    if(closeAfter) openList(nicheBtn,nicheList,false);
    calc();
  }

  function dealsPerMonthFromFollowers(f){
    if(f < 10000) return 1;
    if(f < 50000) return 2;
    if(f < 200000) return 4;
    if(f < 1000000) return 7;
    return 10;
  }
  function qualityLabel(f, v){
    if(f <= 0 && v <= 0) return 'Baixa';
    if(f > 0 && v <= 0) return 'Baixa';
    const ratio = f > 0 ? (v / f) : 0;
    if(f > 50000 && ratio < 0.15) return 'Baixa';
    if(ratio < 0.35) return 'Média';
    return 'Alta';
  }

  function calc(){
    const c=CTRY[state.country]||CTRY.pt;
    const n=NICHES[state.niche]||NICHES.ugc;
    const model=MODELS[modelSel.value]||MODELS.ads;

    const followers=+followersRange.value||0;
    const avgViews=Math.max(0,+viewsHidden.value||0);
    const posts=clampInt(postsInput,0,90);

    const monthViews = avgViews * posts;

    const rpm = c.rpm * n.rpmF;
    const ads = (monthViews/1000) * rpm;

    const sponsorPerPost =
      ((avgViews/1000) * c.sponsorV + (followers/1000) * c.sponsorF) * n.dealF;

    let dealsPm = Math.round(dealsPerMonthFromFollowers(followers) * model.dealMult);
    dealsPm = Math.max(0, Math.min(20, dealsPm));

    const deals = dealsPm * sponsorPerPost;
    const other = (ads + deals) * model.otherPct;
    const total = ads + deals + other;

    const q = qualityLabel(followers, avgViews);
    const spread = (q==='Baixa') ? 0.55 : (q==='Média' ? 0.40 : 0.28);
    const low = Math.max(0, total * (1 - spread));
    const high = total * (1 + spread);

    const effRpm = monthViews > 0 ? (total / monthViews) * 1000 : 0;
    const fx = rate(c.cur, state.currency);

    rangeEl.textContent = `${fmt(low*fx,state.currency)}–${fmt(high*fx,state.currency)}`;
    rangeSub.textContent = `Base: ${fmt(total*fx,state.currency)} · Qualidade: ${q}`;

    sponsorEl.textContent = fmt(sponsorPerPost*fx, state.currency);
    sponsorSub.textContent = `Deals/mês: ${dealsPm} · RPM efetivo: ${(effRpm*fx).toFixed(2)} / 1k`;

    monthViewsEl.textContent = fmtInt(monthViews, state.currency);
    adsEl.textContent = fmt(ads*fx, state.currency);
    dealsEl.textContent = fmt(deals*fx, state.currency);
  }

  /* --- start animation (0 -> target, 1.5s) --- */
  const ANIM_MS=1500;
  function animateNumber(to, onUpdate, duration=ANIM_MS){
    const start=performance.now();
    const ease=t=>1-Math.pow(1-t,3);
    function step(now){
      const t=Math.min(1,(now-start)/duration);
      onUpdate(to*ease(t), t);
      if(t<1) requestAnimationFrame(step);
    }
    requestAnimationFrame(step);
  }

  function animateInitial(){
    const fTarget=+followersRange.value||0;
    const vTarget=+viewsRange.value||0;
    const pTarget=+postsRange.value||0;

    // reset all to 0
    followersRange.value=0; viewsRange.value=0; viewsHidden.value=0; postsRange.value=0; postsInput.value=0;
    followersLabel.textContent=fmtInt(0,state.currency);
    viewsLabel.textContent=fmtInt(0,state.currency);
    updateSliderFill(followersRange); updateSliderFill(viewsRange); updateSliderFill(postsRange);
    calc();

    animateNumber(fTarget,(val)=>{
      const v=Math.round(val);
      followersRange.value=v;
      followersLabel.textContent=fmtInt(v,state.currency);
      updateSliderFill(followersRange);
      calc();
    });

    animateNumber(vTarget,(val)=>{
      const v=Math.round(val);
      viewsRange.value=v;
      viewsHidden.value=v;
      viewsLabel.textContent=fmtInt(v,state.currency);
      updateSliderFill(viewsRange);
      calc();
    });

    animateNumber(pTarget,(val)=>{
      const v=Math.round(val);
      postsRange.value=v;
      postsInput.value=v;
      updateSliderFill(postsRange);
      calc();
    });
  }

  /* --- events --- */
  followersRange.addEventListener('input',()=>{
    followersLabel.textContent=fmtInt(+followersRange.value||0,state.currency);
    updateSliderFill(followersRange);
    calc();
  });
  viewsRange.addEventListener('input',()=>{
    const v=+viewsRange.value||0;
    viewsHidden.value=v;
    viewsLabel.textContent=fmtInt(v,state.currency);
    updateSliderFill(viewsRange);
    calc();
  });
  postsInput.addEventListener('input',()=>{
    postsRange.value=clampInt(postsInput,0,90);
    updateSliderFill(postsRange);
    calc();
  });
  postsRange.addEventListener('input',()=>{
    postsInput.value=clampInt(postsRange,0,90);
    updateSliderFill(postsRange);
    calc();
  });
  modelSel.addEventListener('change',calc);

  countryNative.addEventListener('change',()=>selectCountry(countryNative.value,false));
  currencyNative.addEventListener('change',()=>selectCurrency(currencyNative.value,false,true));
  nicheNative.addEventListener('change',()=>selectNiche(nicheNative.value,false));

  /* --- init --- */
  buildCountryList(); buildCurrencyList(); buildNicheList();

  // Force PT-PT defaults (PRT + EUR) for this version.
  state.currencyOverridden=false;
  selectNiche('ugc',false);
  selectCountry('pt',false);
  selectCurrency('EUR',false,false);

  // requested defaults
  followersRange.value=250000;
  viewsRange.value=120000;
  viewsHidden.value=120000;
  postsInput.value = postsInput.value ? postsInput.value : 20;
  postsRange.value = +postsInput.value||20;

  followersLabel.textContent=fmtInt(+followersRange.value||0,state.currency);
  viewsLabel.textContent=fmtInt(+viewsRange.value||0,state.currency);
  updateSliderFill(followersRange); updateSliderFill(viewsRange); updateSliderFill(postsRange);

  // run the animation once
  animateInitial();
})();
</script>
</div>
<div class="tool-char">
<!-- ME: DESKTOP MAIN IMAGE--><br />
<img decoding="async" src="/wp-content/themes/gp-child/img-posts/make-money-on-tiktok-tool.png" alt="Ganhar dinheiro no TikTok" width="396" height="538" class="alignnone size-full" title="Ganhar dinheiro no TikTok: Calculadora de ganhos 32"></div>
</div>
<p><!-- ME: TOOL FOOTER BULLETPOINTS--><div class="tool-footer">
<ul><li>Seja sincero: esta calculadora é genial</li><li>Adaptada ao vosso feedback</li><li>De criadores para criadores</li></ul>
</div>
</div>
<p><!-- ME: MAIN OPTIN -->
<p><!-- ME: INFO HEADER IMG ALT --></p>
<div class="tool-information-header"><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-tool-explanation.png" alt="Tiktok Tool Erklärung" width="432" height="310" class="alignnone size-full" title="Ganhar dinheiro no TikTok: Calculadora de ganhos 33"></p>
<p><!-- ME: H2 Einleitung --></p>
<h2>Ganhar dinheiro no TikTok explicado em detalhe</h2>
</div>
<div class="tool-information"><div class="su-tabs su-tabs-style-default su-tabs-mobile-stack" data-active="1" data-scroll-offset="0" data-anchor-in-url="no"><div class="su-tabs-nav"><span class="" data-url="" data-target="blank" tabindex="0" role="button">Detalhes da calculadora</span><span class="" data-url="" data-target="blank" tabindex="0" role="button">Mais informações</span></div><div class="su-tabs-panes"><div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Detalhes da calculadora">
<p><!------------------------- PART 1 SECTION START -------------------------></p>
<h3>Informações sobre a Calculadora de Ganhos do TikTok:</h3>
<p><strong>A <b>Calculadora de Ganhos do TikTok</b> estima os teus rendimentos mensais no TikTok com base nos dados da tua conta: <b>seguidores</b>, <b>visualizações médias por vídeo</b>, <b>publicações por mês</b>, país/moeda, nicho e modelo de monetização (por exemplo, dominado por anúncios, equilibrado ou focado em parcerias). Assim obténs imediatamente um <b>intervalo de ganhos realista</b> e vês claramente quanto vem de <b>Ads / Creator Program</b> e quanto de <b>parcerias / UGC</b>.</strong></p>
<p>Se também fazes transmissões em direto e recebes gifts, usa em paralelo a <a href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/">Calculadora de TikTok Coins</a> para converter Coins e Diamonds corretamente em euros. Esta calculadora de ganhos foi pensada para uma visão <b>global da conta</b>: responde primeiro à pergunta mais importante (“Quanto vale a minha conta de TikTok?”) e depois mostra-te as alavancas que realmente influenciam os teus ganhos mensais.</p>
<div id="ez-toc-container" class="ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title" style="cursor:inherit">Table of contents:</p>
<span class="ez-toc-title-toggle"></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/#Ganhar_dinheiro_no_TikTok_explicado_em_detalhe">Ganhar dinheiro no TikTok explicado em detalhe</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/#Quanto_dinheiro_e_possivel_ganhar_com_o_TikTok_estimativa_de_ganhos">Quanto dinheiro é possível ganhar com o TikTok? (estimativa de ganhos)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/#Quanto_valem_as_visualizacoes_medias_por_video_no_TikTok_o_fator_decisivo">Quanto valem as visualizações médias por vídeo no TikTok? (o fator decisivo)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/#Porque_ganhar_dinheiro_com_o_TikTok_sera_cada_vez_mais_relevante_a_longo_prazo">Porque ganhar dinheiro com o TikTok será cada vez mais relevante a longo prazo</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/#Seguidores_vs_visualizacoes_o_que_e_mais_importante_para_ganhar_dinheiro_no_TikTok">Seguidores vs. visualizações: o que é mais importante para ganhar dinheiro no TikTok?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/#Parcerias_e_brand_deals_como_se_definem_os_precos_por_post_no_TikTok">Parcerias e brand deals: como se definem os preços por post no TikTok?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-7" href="https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/#Ganhar_dinheiro_com_o_TikTok_como_criar_rendimentos_previsiveis">Ganhar dinheiro com o TikTok: como criar rendimentos previsíveis</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/#Com_que_frequencia_deves_publicar_para_ganhar_dinheiro_com_o_TikTok">Com que frequência deves publicar para ganhar dinheiro com o TikTok?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/#Ganhar_dinheiro_com_TikTok_Live_quando_e_que_os_diretos_compensam">Ganhar dinheiro com TikTok Live: quando é que os diretos compensam?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/#Impostos_e_atividade_profissional_ao_ganhar_dinheiro_com_o_TikTok">Impostos e atividade profissional ao ganhar dinheiro com o TikTok</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-11" href="https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/#FAQ_Perguntas_frequentes_sobre_ganhar_dinheiro_com_o_TikTok">FAQ: Perguntas frequentes sobre ganhar dinheiro com o TikTok</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-12" href="https://creator-cash.com/pt-pt/tiktok/ganhar-dinheiro-no-tiktok/#Conclusao_ganhar_dinheiro_com_o_TikTok_de_forma_estrategica">Conclusão: ganhar dinheiro com o TikTok de forma estratégica</a></li></ul></nav></div>

<h2 class="trenner checkbox">Quanto dinheiro é possível ganhar com o TikTok? (estimativa de ganhos)</h2>
<p><strong>Os ganhos no TikTok <b>não dependem apenas dos seguidores</b>, mas sobretudo das <b>visualizações médias por vídeo</b>, da <b>frequência de publicação</b> e da <b>monetização</b> (Ads / Creator Program vs. parcerias e UGC). Com a <b>Calculadora de Ganhos do TikTok</b> obténs um intervalo mensal e vês de forma transparente que parte vem de anúncios e que parte vem de acordos com marcas.</strong></p>
<p>Muitas pessoas procuram “Quanto se ganha com X seguidores?”, mas na prática duas contas com o mesmo número de seguidores podem gerar rendimentos completamente diferentes se as visualizações forem distintas. Por isso, esta calculadora trabalha com <b>seguidores + visualizações + publicações</b>, convertendo esses dados em <b>visualizações mensais</b> e ganhos estimados.</p>
<p><strong>Exemplo (da calculadora):</strong> País <b>Portugal (EUR)</b>, nicho <b>UGC / Entretenimento</b>, <b>250.000 seguidores</b>, <b>120.000 visualizações médias por vídeo</b>, <b>20 publicações por mês</b>, modelo de monetização: <b>Ads-dominante (Creator Program)</b>. Resultado: <b>ganhos mensais (intervalo)</b> <span class="positive">5.600 € – 10.100 €</span> (Base: 7.900 €, qualidade dos dados: alta) com cerca de <b>2.400.000 visualizações mensais</b>.</p>
<div class="beispielbox">
<span class="box-headline">Exemplo:</span></p>
<ul>
<li><b>Seguidores:</b> 250.000</li>
<li><b>Visualizações médias por vídeo:</b> 120.000</li>
<li><b>Publicações por mês:</b> 20 → <b>Visualizações mensais:</b> 2.400.000</li>
<li><b>Ads / Creator Program (estimado):</b> <span class="positive">3.050 €</span></li>
<li><b>Parcerias / UGC (estimado):</b> <span class="positive">4.850 €</span></li>
<li><b>Parceria / UGC por post (estimado):</b> <span class="positive">1.210 €</span> · <b>Parcerias por mês:</b> 4</li>
<li><b>RPM efetivo:</b> 3,30 € / 1.000 visualizações (indicativo)</li>
</ul>
</div>
<h3>Que dados são necessários para uma estimativa realista de ganhos no TikTok?</h3>
<p><strong>Para uma estimativa útil precisas, no mínimo, de: <b>seguidores</b>, <b>visualizações médias por vídeo</b> e <b>publicações por mês</b>. Opcionalmente (mas muito importante para a precisão), o nicho, o país/moeda e o modelo de monetização — porque <b>UGC e parcerias</b> muitas vezes superam claramente os ganhos com anúncios.</strong></p>
<p>Os seguidores, por si só, são um KPI fraco, pois não dizem nada sobre o alcance real. A calculadora usa os seguidores mais como uma “categoria de dimensão” (potencial de parcerias e valores de referência), enquanto as visualizações representam o verdadeiro <b>motor de tráfego</b>. A frequência de publicação determina se boas visualizações se traduzem num <b>volume mensal</b> relevante.</p>
<h3>Regra prática: porque as visualizações médias por vídeo são mais importantes do que os seguidores</h3>
<p><strong>A lógica é simples: <b>Visualizações mensais = visualizações médias por vídeo × publicações por mês</b>. Se as tuas visualizações por vídeo aumentarem, os teus ganhos quase sempre crescem mais rápido do que apenas com o aumento de seguidores — especialmente em Ads / Creator Program e em valores de parcerias ligados ao alcance.</strong></p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Verificação da fórmula:</span></p>
<ul>
<li><b>Visualizações mensais</b> = visualizações médias/vídeo × posts/mês</li>
<li><b>Exemplo:</b> 120.000 × 20 = <span class="positive">2.400.000 visualizações/mês</span></li>
<li><b>Conclusão:</b> Se duplicares as visualizações médias, duplicas o volume mensal sem publicar mais.</li>
</ul>
</div>
<h3>Tabela geral: quanto ganha uma conta de TikTok com X seguidores? (intervalo mensal realista)</h3>
<p><strong>A tabela seguinte responde à pergunta inicial típica (“X seguidores → quanto dinheiro?”) com pressupostos fixos: <b>Portugal (EUR)</b>, <b>visualizações médias/vídeo ≈ 35 % dos seguidores</b>, <b>20 posts/mês</b>, nicho <b>UGC / Entretenimento</b>, modelo de monetização <b>Equilibrado (Ads + Parcerias)</b>. Na prática, as contas podem ficar acima ou abaixo consoante o desempenho real.</strong></p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Seguidores</td>
<td>Visualizações médias / vídeo</td>
<td><b>Ganhos mensais (intervalo)</b></td>
<td>Parceria / UGC por post</td>
<td>Parcerias por mês</td>
</tr>
<tr>
<td>10.000</td>
<td>3.500</td>
<td class="positive">70 € – 150 €</td>
<td>25 € – 40 €</td>
<td>1–2</td>
</tr>
<tr>
<td>50.000</td>
<td>17.500</td>
<td class="positive">300 € – 700 €</td>
<td>75 € – 130 €</td>
<td>2–3</td>
</tr>
<tr>
<td>100.000</td>
<td>35.000</td>
<td class="positive">800 € – 1.600 €</td>
<td>150 € – 260 €</td>
<td>3–4</td>
</tr>
<tr>
<td>250.000</td>
<td>87.500</td>
<td class="positive">2.000 € – 4.200 €</td>
<td>360 € – 620 €</td>
<td>5–7</td>
</tr>
<tr>
<td>500.000</td>
<td>175.000</td>
<td class="positive">4.200 € – 8.400 €</td>
<td>620 € – 1.050 €</td>
<td>7–9</td>
</tr>
<tr>
<td>1.000.000</td>
<td>350.000</td>
<td class="positive">8.400 € – 16.800 €</td>
<td>1.050 € – 1.800 €</td>
<td>9–12</td>
</tr>
</table>
</div>
</div>
<p><i>Nota:</i> Esta tabela é uma <b>aproximação baseada em seguidores</b>. Se as tuas visualizações médias por vídeo forem claramente superiores a “35 % dos seguidores”, normalmente ficarás acima do intervalo — e se forem inferiores, abaixo.</p>
<h2 class="checkbox">Quanto valem as visualizações médias por vídeo no TikTok? (o fator decisivo)</h2>
<p><strong>Não são os seguidores que determinam os ganhos, mas sim as <b>visualizações médias por vídeo</b>. Uma conta pequena pode ganhar mais do que uma grande se tiver melhores visualizações. A tabela seguinte mostra como os ganhos aumentam quando as visualizações médias crescem (com o mesmo número de seguidores e a mesma frequência de publicação).</strong></p>
<p>Para a comparação, usamos valores fixos para tornar o efeito claro: país <b>Portugal (EUR)</b>, <b>250.000 seguidores</b>, <b>20 posts/mês</b>, nicho <b>UGC / Entretenimento</b>, modelo de monetização <b>Equilibrado (Ads + Parcerias)</b>. A calculadora utiliza intervalos de mercado típicos e uma divisão realista entre anúncios e parcerias.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Visualizações médias / vídeo</td>
<td>Visualizações mensais</td>
<td>Ads / Creator Program</td>
<td>Parcerias / UGC</td>
<td><b>Ganhos totais (intervalo)</b></td>
</tr>
<tr>
<td>10.000</td>
<td>200.000</td>
<td>240 €</td>
<td>800 € – 1.200 €</td>
<td class="positive">1.050 € – 1.900 €</td>
</tr>
<tr>
<td>25.000</td>
<td>500.000</td>
<td>600 €</td>
<td>1.600 € – 2.500 €</td>
<td class="positive">2.200 € – 3.800 €</td>
</tr>
<tr>
<td>50.000</td>
<td>1.000.000</td>
<td>1.200 €</td>
<td>2.900 € – 4.500 €</td>
<td class="positive">4.100 € – 6.700 €</td>
</tr>
<tr>
<td>100.000</td>
<td>2.000.000</td>
<td>2.400 €</td>
<td>5.000 € – 7.800 €</td>
<td class="positive">7.500 € – 12.000 €</td>
</tr>
<tr>
<td>250.000</td>
<td>5.000.000</td>
<td>6.000 €</td>
<td>9.000 € – 13.500 €</td>
<td class="positive">13.500 € – 21.500 €</td>
</tr>
</table>
</div>
</div>
<h3>Como interpretar corretamente os valores (e porque o intervalo é importante)</h3>
<p><strong>O intervalo é essencial porque as parcerias não têm valores fixos: variam consoante o nicho, o alinhamento com a marca, a qualidade do conteúdo, a conversão e a negociação. Por isso, a Calculadora de Ganhos do TikTok mostra deliberadamente <b>intervalos</b> e valores adicionais como <b>parceria/UGC por post</b> e <b>parcerias por mês</b>, para que possas validar a estimativa.</strong></p>
<p>Se quiseres isolar ainda mais os ganhos com anúncios (baseados apenas em visualizações), o próximo passo é uma análise de CPM/RPM. Para isso, a <a href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/">Calculadora de CPM do TikTok</a> é o complemento ideal para converter visualizações em receitas publicitárias de forma mais detalhada.</p>
<h2 class="trenner checkbox">Porque ganhar dinheiro com o TikTok será cada vez mais relevante a longo prazo</h2>
<p><strong>O TikTok já não é apenas uma plataforma de entretenimento, mas um dos ecossistemas mais fortes da economia digital. Só nos Estados Unidos, as receitas estimadas do TikTok cresceram de cerca de <b>1 mil milhão de dólares (2020)</b> para aproximadamente <b>6 mil milhões de dólares (2023)</b>, com previsões de <b>mais de 10 mil milhões</b> nos próximos anos.</strong></p>
<p>Este crescimento mostra porque <b>ganhar dinheiro com o TikTok</b> não é uma tendência passageira. Com mais de <b>100 milhões de utilizadores ativos na Europa</b>, o TikTok concentra uma enorme atenção — e a atenção é a base da publicidade, das parcerias de marca e dos rendimentos dos criadores.</p>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-money-statistics.png" alt="TikTok Money" width="1328" height="1066" class="alignnone size-full wp-image-1091" title="Ganhar dinheiro no TikTok: Calculadora de ganhos 34" srcset="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-money-statistics.png 1328w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-money-statistics-300x241.png 300w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-money-statistics-1024x822.png 1024w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-money-statistics-768x616.png 768w" sizes="(max-width: 1328px) 100vw, 1328px" /><br />
<span class="disclaimer">Fonte: <a href="https://cropink.com/tiktok-revenue-statistics" target="_blank" rel="noopener">Cropink TikTok Data</a></span></p>
<p>Para os criadores, isto significa que <b>ganhar dinheiro com o TikTok</b> escala juntamente com a plataforma. O aumento dos orçamentos publicitários, novos programas de monetização e a crescente procura por UGC fazem com que até contas médias tenham hoje oportunidades muito melhores do que há alguns anos.</p>
<p>A <b>Calculadora de Ganhos do TikTok</b> traduz este crescimento global em números concretos para a tua conta. Converte a evolução da plataforma em projeções realistas com base em visualizações, frequência de publicação e monetização — ajudando-te a perceber não só <i>que</i> é possível ganhar dinheiro com o TikTok, mas também <i>porque</i> o potencial continuará a crescer.</p>
<p><!------------------------- PART 1 SECTION ENDE -------------------------><br />
<!------------------------- PART 2 SECTION START -------------------------></p>
<h3>Porque é que algumas contas de TikTok ganham muito mais do que outras?</h3>
<p><strong>Duas contas com o mesmo número de seguidores podem ter ganhos completamente diferentes. A razão: <b>visualizações, engagement, nicho</b> e o <b>modelo de monetização</b> funcionam como multiplicadores. Nesta secção vais perceber quais os fatores que realmente contam e porque é que “seguidores” por si só dizem muito pouco.</strong></p>
<p>A <b>Calculadora de Ganhos do TikTok</b> separa estes fatores de forma intencional para que consigas identificar <b>qual a alavanca</b> com maior impacto na tua conta — e onde deves otimizar em vez de apenas acumular seguidores.</p>
<div class="infobox">
<strong>Regra prática:</strong> Os seguidores definem o teu <i>potencial</i>, as visualizações definem os teus <i>ganhos</i>.
</div>
<h2 class="trenner checkbox">Seguidores vs. visualizações: o que é mais importante para ganhar dinheiro no TikTok?</h2>
<p><strong>Os seguidores são um sinal de confiança para as marcas, mas <b>as visualizações determinam o alcance real</b>. Para Ads, Creator Program e muitos acordos, o que conta são as visualizações efetivas dos vídeos — não o tamanho do perfil.</strong></p>
<p>Uma conta com 50.000 seguidores e 100.000 visualizações constantes por vídeo é muitas vezes mais atrativa para anunciantes do que uma conta com 500.000 seguidores e apenas 20.000 visualizações. É por isso que a calculadora começa sempre por calcular as <b>visualizações mensais</b> e, a partir daí, estima os ganhos com anúncios e parcerias.</p>
<h3>Taxa de engagement e nicho: o multiplicador oculto dos ganhos</h3>
<p><strong>O nicho e o engagement influenciam diretamente <b>quanto as marcas estão dispostas a pagar</b>. UGC, finanças, software ou educação costumam atingir valores por parceria mais elevados do que contas de memes ou tendências — mesmo com o mesmo alcance.</strong></p>
<p>Uma taxa de engagement elevada (likes, comentários, guardados) indica potencial de conversão. As marcas não pagam apenas por visualizações, mas por <b>atenção + impacto</b>. A calculadora reflete isto de forma indireta através de diferentes intervalos de preços consoante o modelo de monetização.</p>
<div class="beispielbox">
<span class="box-headline">Comparação de nichos (simplificada):</span></p>
<ul>
<li>Entretenimento / memes: muitas visualizações, preços por parceria mais baixos</li>
<li>UGC / lifestyle: visualizações médias, preços estáveis</li>
<li>Finanças / software / B2B: menos visualizações, <b>alto valor em € por post</b></li>
</ul>
</div>
<h2 class="trenner checkbox">Parcerias e brand deals: como se definem os preços por post no TikTok?</h2>
<p><strong>As parcerias com marcas baseiam-se normalmente numa combinação de <b>visualizações</b>, <b>nível de seguidores</b> e <b>nicho</b>. Não existe uma fórmula fixa, mas existem intervalos de mercado bastante claros.</strong></p>
<p>A Calculadora de Ganhos do TikTok utiliza valores médios de mercado (CPV/CPM + experiência real em UGC) para estimar de forma realista o <b>valor por parceria/UGC por post</b>. O objetivo não é um número exato, mas um <b>intervalo credível</b>.</p>
<h3>Tabela geral: preços de brand deals por visualizações por vídeo</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Visualizações médias por vídeo</td>
<td>Preço típico por post</td>
<td>Indicado para</td>
</tr>
<tr>
<td>10.000</td>
<td class="positive">30 € – 80 €</td>
<td>micro-UGC, primeiras colaborações</td>
</tr>
<tr>
<td>50.000</td>
<td class="positive">160 € – 420 €</td>
<td>publicações regulares de marca</td>
</tr>
<tr>
<td>100.000</td>
<td class="positive">320 € – 750 €</td>
<td>parcerias orientadas a performance</td>
</tr>
<tr>
<td>250.000</td>
<td class="positive">750 € – 1.500 €</td>
<td>rendimentos estáveis com UGC e parcerias</td>
</tr>
<tr>
<td>500.000+</td>
<td class="positive">1.500 € – 3.000 €+</td>
<td>deals premium e campanhas</td>
</tr>
</table>
</div>
</div>
<h3>Tabela geral: preços de brand deals por nível de seguidores</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Nível de creator</td>
<td>Seguidores</td>
<td>Preço por post (típico)</td>
</tr>
<tr>
<td>Micro creator</td>
<td>10k – 50k</td>
<td class="positive">60 € – 200 €</td>
</tr>
<tr>
<td>Mid creator</td>
<td>50k – 250k</td>
<td class="positive">200 € – 850 €</td>
</tr>
<tr>
<td>Macro creator</td>
<td>250k – 1M</td>
<td class="positive">850 € – 2.000 €</td>
</tr>
<tr>
<td>Mega creator</td>
<td>1M+</td>
<td class="positive">2.000 € – 4.500 €+</td>
</tr>
</table>
</div>
</div>
<h3>Erros comuns ao estimar ganhos</h3>
<p><strong>Muitos criadores sobrestimam ou subestimam o seu potencial porque partem de pressupostos errados. A calculadora evita estes erros ao trabalhar com intervalos em vez de valores fixos.</strong></p>
<ul class="numbers">
<li>Olhar apenas para os seguidores e ignorar as visualizações</li>
<li>Esperar uma parceria em todos os posts</li>
<li>Confundir ganhos com anúncios e ganhos com parcerias</li>
<li>Não considerar o impacto do nicho</li>
<li>Assumir uma frequência de publicação irrealista</li>
</ul>
<div class="infobox">
<strong>Realidade:</strong> Ganhos sustentáveis no TikTok resultam de uma <b>combinação</b> de anúncios, parcerias e, em alguns casos, outras fontes — não de um único vídeo viral.
</div>
<p><!------------------------- PART 2 SECTION ENDE -------------------------><br />
<!------------------------- PART 3 SECTION START -------------------------></p>
<h2 class="checkbox">Ganhar dinheiro com o TikTok: como criar rendimentos previsíveis</h2>
<p><strong>Se queres <b>ganhar dinheiro com o TikTok</b> a longo prazo, precisas de mais do que vídeos virais. Rendimentos previsíveis constroem-se com estrutura, monetização clara e a compreensão das alavancas que realmente aumentam os ganhos.</strong></p>
<p>A <b>Calculadora de Ganhos do TikTok</b> ajuda-te exatamente nisso: mostra de forma realista <b>quanto dinheiro podes ganhar com o TikTok</b> e o que tens de mudar para passar de algumas centenas de euros para vários milhares de euros por mês.</p>
<h3 class="checkbox trenner">Quando é que ganhar dinheiro com o TikTok começa a compensar?</h3>
<p><strong><b>Ganhar dinheiro com o TikTok</b> é possível mesmo com contas pequenas, desde que as visualizações sejam boas. Muitos criadores começam a gerar rendimentos a partir dos 10.000–20.000 seguidores, enquanto valores mais elevados surgem com maior alcance e monetização bem definida.</strong></p>
<ul class="numbers">
<li><b>Menos de 10k seguidores:</b> primeiros trabalhos de UGC, links de afiliados, campanhas de teste</li>
<li><b>10k – 50k seguidores:</b> pequenas parcerias + primeiros ganhos com Ads</li>
<li><b>50k – 250k seguidores:</b> <b>ganhar dinheiro com o TikTok</b> de forma consistente torna-se realista</li>
<li><b>250k+ seguidores:</b> rendimentos escaláveis com Ads e parcerias</li>
</ul>
<h2 class="trenner checkbox">Com que frequência deves publicar para ganhar dinheiro com o TikTok?</h2>
<p><strong>Ao <b>ganhar dinheiro com o TikTok</b>, a frequência de publicação é um fator central. Mais publicações significam mais oportunidades de alcance e, consequentemente, mais ganhos. A calculadora mostra o impacto que uma maior consistência pode ter no teu rendimento mensal.</strong></p>
<div class="beispielbox">
<span class="box-headline">Cenário-objetivo: ganhar dinheiro com o TikTok</span></p>
<ul>
<li>Objetivo: <b>3.000 € por mês</b></li>
<li>Visualizações médias por vídeo: 50.000</li>
<li>Publicações por mês: 20</li>
<li>Visualizações mensais: 1.000.000</li>
<li>Resultado: <b>ganhar dinheiro com o TikTok</b> é realista com Ads + 2–4 parcerias</li>
</ul>
</div>
<p>Muitos criadores não falham por causa do conteúdo, mas por falta de consistência. Se queres realmente <b>ganhar dinheiro com o TikTok</b>, tens de pensar em volume mensal — não em vídeos virais isolados.</p>
<h3>Formatos de conteúdo que funcionam para ganhar dinheiro no TikTok</h3>
<p><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-reaction.png" alt="TikTok" width="376" height="292" class="alignright size-full" title="Ganhar dinheiro no TikTok: Calculadora de ganhos 35"><strong>Nem todos os formatos de conteúdo são ideais para <b>ganhar dinheiro com o TikTok</b>. Formatos com estrutura clara, valor prático e proximidade com produtos são muito mais fáceis de monetizar.</strong></p>
<ul class="advantage">
<li>UGC e demonstrações de produtos (diretamente vendáveis)</li>
<li>Reviews e experiências reais</li>
<li>Tutoriais e guias passo a passo</li>
<li>Vídeos comparativos (“X vs. Y”)</li>
<li>Conteúdo em direto com chamadas à ação claras</li>
</ul>
<h2 class="trenner checkbox">Ganhar dinheiro com TikTok Live: quando é que os diretos compensam?</h2>
<p><strong><b>Ganhar dinheiro com TikTok Live</b> funciona sobretudo quando existe uma forte ligação com a comunidade. Os diretos não garantem rendimentos, mas podem ser um complemento poderoso aos Ads e às parcerias.</strong></p>
<p>A calculadora de ganhos foca-se em Ads e parcerias. Os gifts em direto (Coins e Diamonds) devem ser analisados separadamente, pois variam bastante e são menos previsíveis — embora possam ser um bónus relevante em comunidades ativas.</p>
<div class="infobox">
<strong>Nota:</strong> Para <b>ganhar dinheiro com TikTok Live</b> é necessária regularidade e interação. Como única fonte de rendimento, os diretos são arriscados.
</div>
<h2 class="trenner checkbox">Impostos e atividade profissional ao ganhar dinheiro com o TikTok</h2>
<p><strong>Quem <b>ganha dinheiro com o TikTok</b> de forma regular é considerado trabalhador independente em Portugal. Os rendimentos de Ads, parcerias ou UGC estão sujeitos a IRS e, dependendo do volume, também a IVA.</strong></p>
<p>Com rendimentos recorrentes de parcerias, é geralmente aconselhável abrir atividade nas Finanças. O TikTok não retém impostos automaticamente — a responsabilidade fiscal é sempre do criador.</p>
<div class="infobox">
<strong>Exemplo:</strong> 1.000 € de lucro ao <b>ganhar dinheiro com o TikTok</b> → cerca de 720 € líquidos após ~28 % de impostos (estimativa simplificada).
</div>
<h2 class="trenner checkbox">FAQ: Perguntas frequentes sobre ganhar dinheiro com o TikTok</h2>
<h3>É possível ganhar dinheiro com o TikTok com poucos seguidores?</h3>
<p><strong>Sim. Mesmo contas pequenas conseguem <b>ganhar dinheiro com o TikTok</b> se as visualizações, o nicho e a qualidade do conteúdo forem bons.</strong></p>
<h3>Quanto paga o TikTok por 1.000 visualizações?</h3>
<p><strong>Ao <b>ganhar dinheiro com o TikTok</b> através de Ads, o valor costuma situar-se em poucos euros por cada 1.000 visualizações. Parcerias e UGC podem atingir valores significativamente mais altos.</strong></p>
<h3>Qual é a melhor forma de ganhar dinheiro com o TikTok?</h3>
<p><strong>A longo prazo, <b>ganhar dinheiro com o TikTok</b> funciona melhor com uma combinação de Ads, parcerias/UGC e, opcionalmente, rendimentos de diretos ou afiliados.</strong></p>
<h3>Como conseguir patrocinadores no TikTok?</h3>
<p><strong>Visualizações consistentes, posicionamento claro e um benefício evidente para as marcas são a chave para <b>ganhar dinheiro com o TikTok</b> de forma sustentável.</strong></p>
<h2 class="trenner checkbox">Conclusão: ganhar dinheiro com o TikTok de forma estratégica</h2>
<p><strong><b>Ganhar dinheiro com o TikTok</b> não é sorte. Com dados realistas, produção consistente e a monetização certa, o alcance transforma-se em rendimentos mensais previsíveis.</strong></p>
<p>Usa a Calculadora de Ganhos do TikTok como base de planeamento. Para uma análise ainda mais detalhada dos ganhos exclusivamente com anúncios, complementa a tua estratégia com a <a href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/">Calculadora de CPM do TikTok</a>.</p>
<p><!------------------------- PART 3 SECTION ENDE -------------------------></p>
<p><!-- ME: FOOTER OPTIN --><div class="optin-box tiktok-optin">
<h3>Ganhar dinheiro no Tiktok? Comece hoje mesmo:</h3>
Faça o download gratuito do nosso e-book.
</div>
<!-- ME: MORE INFO TRANSLATION --></div>
<div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Mais informações">
Informações sobre esta ferramenta:
<ul class="post-info">
<li><strong>Nome:</strong> Ganhar dinheiro no TikTok: Calculadora de ganhos</li>
<li><strong>Descrição:</strong> Ganhar dinheiro no TikTok: A calculadora de ganhos do TikTok mostra quanto você pode ganhar com visualizações, CPM e moedas.</li>
</ul>

<ul class="post-info">
<li><strong>Autor:</strong> Kevin</li>
<li><strong>Publicado:</strong> 13 de Janeiro, 2026</li>
<li><strong>Última atualização:</strong> 13.01.2026</li>
<li><strong>Categoria:</strong> Tiktok</li>
<li><strong>Tempo de leitura:</strong> 15 min.</li>
</ul>


<strong>Sobre o autor:</strong>

<div class="author-box">
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/kevin-founder-of-creator-cash.png" alt="kevin founder of creator cash" width="90" height="90" class="size-full wp-image-234" title="Ganhar dinheiro no TikTok: Calculadora de ganhos 36"><strong>Kevin - Fundador da Creator Cash</strong>
Kevin é um criador de conteúdo experiente e especialista em SEO com foco na economia criativa, monetização de redes sociais e fontes de receita digital. Ele analisa plataformas como TikTok, Twitch e YouTube em detalhes e partilha cálculos, dados e estratégias práticas. Com a sua experiência em marketing e consultoria criativa, ele transmite conhecimentos sólidos com claro valor acrescentado para criadores e marcas.</div>

<div class="share-box">
<strong>Partilhar esta publicação:</strong><br>
<div class="share-box"> 
  <div class="share-row">
    <input class="share-input" type="text" value="" placeholder="https://…" readonly>
    <button class="share-copy" type="button" aria-label="Copy link" title="Copy link">
      <span class="ico ico-copy" aria-hidden="true">
        <!-- Dein SVG -->
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="8" y="8" width="12" height="12" rx="2" ry="2"></rect>
          <path d="M4 16V6a2 2 0 0 1 2-2h10"></path>
        </svg>
      </span>
      <span class="ico ico-check" aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
          <path d="M20 6 L9 17 L4 12"></path>
        </svg>
      </span>
    </button>
  </div>

  <div class="share-links">
    <a class="share-btn share-x"      href="#" target="_blank" rel="noopener nofollow" aria-label="Share on X"        title="X"></a>
    <a class="share-btn share-fb"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Facebook" title="Facebook"></a>
    <a class="share-btn share-li"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on LinkedIn" title="LinkedIn"></a>
    <a class="share-btn share-reddit" href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Reddit"   title="Reddit"></a>
    <a class="share-btn share-wa"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on WhatsApp" title="WhatsApp"></a>
    <a class="share-btn share-tg"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Telegram" title="Telegram"></a>
  </div>
</div>

<style id="share-box-css">
.share-box{border:1px solid #eee;border-radius:12px;padding:12px 14px}
.share-links a{padding:5px 8px!important}
.share-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.share-input{flex:1;padding:10px;border:1px solid #e5e5e5;border-radius:10px;background:#f7f7f7}
.share-copy{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:40px;border:0;border-radius:10px;background:#54FFA7;color:#000;cursor:pointer}
.share-copy svg{width:22px;height:22px;display:block}
.share-copy .ico-check{display:none}
.share-copy.ok .ico-copy{display:none}
.share-copy.ok .ico-check{display:block}

.share-links{display:flex;flex-wrap:wrap;gap:8px}
.share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid #eaeaea;border-radius:10px;background:#B9FFD8;color:#111;text-decoration:none;position:relative}
.share-btn::before{content:"";display:block;width:18px;height:18px;mask-size:contain;mask-repeat:no-repeat;background:currentColor}

/* Platform Icons */
.share-x::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 3h3l6 7 6-7h3l-7.5 8.5L21 21h-3l-6-7-6 7H3l8.5-9.5z'/></svg>")}
.share-fb::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M13 22v-9h3l1-4h-4V7a1 1 0 0 1 1-1h3V2h-3a5 5 0 0 0-5 5v3H6v4h3v9z'/></svg>")}
.share-li::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM4 8h4v12H4zM14.5 8A4.5 4.5 0 0 1 19 12.5V20h-4v-6a2 2 0 1 0-4 0v6H7v-12h4v1.6A4.49 4.49 0 0 1 14.5 8z'/></svg>")}
.share-reddit::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 12c0 4.4-4.5 8-9 8s-9-3.6-9-8 4.5-8 9-8c2.1 0 4 .6 5.5 1.7l1.6-1.6L20 5l-2.5.7A7 7 0 0 1 21 12z'/></svg>")}
.share-wa::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 12a8 8 0 0 1-12.3 6.7L4 20l1.3-3.6A8 8 0 1 1 20 12z'/></svg>")}
.share-tg::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 4 3 12l6.3 2.1L18 7l-7.3 8.1V20l3-2.6L18.8 21z'/></svg>")}
</style>

<script>
(function(){
  document.querySelectorAll('.share-box').forEach(function(box){
    if (box.dataset.bound) return; box.dataset.bound = "1";

    var url   = window.location.href.split('#')[0];
    var title = document.title || '';
    var uEnc  = encodeURIComponent(url);
    var tEnc  = encodeURIComponent(title);

    var input = box.querySelector('.share-input');
    if (input) input.value = url;

    var map = {
      '.share-x'     : 'https://twitter.com/intent/tweet?url='+uEnc+'&text='+tEnc,
      '.share-fb'    : 'https://www.facebook.com/sharer/sharer.php?u='+uEnc,
      '.share-li'    : 'https://www.linkedin.com/sharing/share-offsite/?url='+uEnc,
      '.share-reddit': 'https://www.reddit.com/submit?url='+uEnc+'&title='+tEnc,
      '.share-wa'    : 'https://wa.me/?text='+tEnc+'%20'+uEnc,
      '.share-tg'    : 'https://t.me/share/url?url='+uEnc+'&text='+tEnc
    };
    Object.keys(map).forEach(function(sel){
      var a = box.querySelector(sel); if(a) a.href = map[sel];
    });

    var copy = box.querySelector('.share-copy');
    if (copy && input) {
      copy.addEventListener('click', async function(){
        try { await navigator.clipboard.writeText(input.value); copy.classList.add('ok'); } catch(e){}
        setTimeout(function(){ copy.classList.remove('ok'); }, 1200);
      });
    }
  });
})();
</script>

</div>
</div></div></div>
</p></div>

</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Calculadora CPM TikTok: Ver ganhos com anúncios</title>
		<link>https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/</link>
		
		<dc:creator><![CDATA[Kevin]]></dc:creator>
		<pubDate>Sun, 11 Jan 2026 15:31:51 +0000</pubDate>
				<category><![CDATA[Tiktok]]></category>
		<guid isPermaLink="false">https://creator-cash.com/?p=994</guid>

					<description><![CDATA[Calculadora CPM TikTok: Ver ganhos com anúncios Quanto dinheiro paga a publicidade no TikTok? O CPM costuma variar entre $0,50–$2,00. A calculadora CPM do TikTok mostra os teus ganhos reais. Calculadora CPM TikTok Calculadora CPM TikTok Calcula os teus ganhos com anúncios A calculadora CPM do TikTok explicada em detalhe]]></description>
										<content:encoded><![CDATA[<div class="tool-post tiktok">
<div class="page-header">
<div class="page-header-image">
<p><!-- ME: OG IMAGE--><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/calculadora-cpm-tiktok-3-1024x1024.jpg" alt="Calculadora CPM TikTok" width="1200" height="1200" class="alignnone size-full" title="Calculadora CPM TikTok: Ver ganhos com anúncios 47"></div>
<div class="page-header-content">
<div class="page-header-title">
<p><!-- Area 1 --><!-- SECTION START --></p>
<h1>Calculadora CPM TikTok: Ver ganhos com anúncios</h1>
<p><!-- SECTION ENDE -->
</div>
<div class="page-header-description">
<p><!-- SECTION START META DESCRIPTION --><span>Quanto dinheiro paga a publicidade no TikTok? O CPM costuma variar entre $0,50–$2,00. A calculadora CPM do TikTok mostra os teus ganhos reais.</span><!-- SECTION ENDE --></p>
</div>
<div class="page-header-background">
<p><!-- ME: MOBILE MAIN IMAGE--><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-cpm-calculator-tool-mobile.png" alt="Calculadora CPM TikTok" width="394" height="410" class="alignnone size-full wp-image-319" title="Calculadora CPM TikTok: Ver ganhos com anúncios 48"><br />
<!-- Area 1 Ende --></p>
</div>
</div>
</div>
<div class="tool tiktok-tool">
<div class="tool-header">
<div class="tool-tabs">
<div class="tool-tab tool-tab-active"><span class="svg-icon icon-small"><svg width="13" height="14" viewBox="0 0 13 14" xmlns="http://www.w3.org/2000/svg" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.3605 4.01483C11.5991 4.01483 10.8966 3.76261 10.3325 3.33712C9.68556 2.84936 9.22073 2.13386 9.05657 1.3092C9.01593 1.10544 8.99404 0.895169 8.99196 0.679688H6.81708V6.6225L6.81447 9.87766C6.81447 10.7479 6.24776 11.4858 5.46217 11.7453C5.23418 11.8206 4.98796 11.8563 4.73157 11.8423C4.40431 11.8243 4.09763 11.7255 3.83108 11.5661C3.26384 11.2268 2.87926 10.6114 2.86884 9.90736C2.85242 8.80702 3.74197 7.90992 4.84152 7.90992C5.05857 7.90992 5.26701 7.94535 5.46217 8.00971V6.38539V5.80148C5.25633 5.771 5.04684 5.7551 4.83501 5.7551C3.63149 5.7551 2.50588 6.25537 1.70127 7.15665C1.09313 7.83774 0.72835 8.70671 0.672069 9.61788C0.598331 10.8149 1.03633 11.9527 1.88575 12.7923C2.01056 12.9155 2.14162 13.0299 2.27867 13.1354C3.00693 13.6959 3.89726 13.9997 4.83501 13.9997C5.04684 13.9997 5.25633 13.9841 5.46217 13.9536C6.33817 13.8238 7.14642 13.4228 7.78427 12.7923C8.56803 12.0176 9.00108 10.9892 9.00577 9.89459L8.99456 5.03362C9.36846 5.32205 9.77728 5.56073 10.2161 5.74598C10.8985 6.0339 11.622 6.17981 12.3667 6.17955V4.60031V4.01431C12.3672 4.01483 12.361 4.01483 12.3605 4.01483Z" /></svg></span><!-- SECTION START -->Calculadora CPM TikTok<!-- SECTION ENDE --></div>
<div class="tool-tab"><a href="/pt-pt/cagegory/tiktok/"><!-- SECTION START -->Todos os calculadores de Tiktok<!-- SECTION ENDE --></a></p>
</div>
</div>
</div>
<div class="tool-content">
<div class="tool-code">
<div class="tool-title">
<p><!-- SECTION START RECHNER NAME -->Calculadora CPM TikTok<!-- SECTION ENDE --></div>
<p><span class="tool-subtitle"><!-- SECTION START -->Calcula os teus ganhos com anúncios<!-- SECTION ENDE --></span><!-- ME: MAIN RECHNER --><style>
/* === Calculadora TikTok CPM/RPM – Layout Screenshot (fix: no duplicate dropdown) === */
@media (min-width:1024px){.tool-content{height:558px!important}}
@media (max-width:1023px){.ttk-filter-label{display:none}}

.tcp4, .tcp4 *{
  font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
}
.tcp4{max-width:720px;width:100%;margin:12px auto;overflow:hidden}
.tcp4-row{gap:12px;margin-top:12px}
.ttk-range{margin:12px 0 4px}
#tcp4-preset,#tcp4-scenario{padding:4px 0px!important}

/* cards */
.tcp4-card{
  background:#f3f4f6;
  border:1px solid #D1D5DB;
  border-radius:7px;
  box-shadow:none;
  padding:9px 14px;
}

/* top filters labels */
.tcp4 .ttk-filter{margin-bottom:0;height:37px;position:relative}
.tcp4 .tcp4-abslabel{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  margin:0;pointer-events:none;font-weight:600
}

/* hide native selects desktop */
#tcp4-country-native,#tcp4-currency-native,#tcp4-cat-native{display:none!important}

/* category dd align */
#tcp4-cat-label{display:none!important}
#tcp4-cat-dd{width:100%}
.tcp4-cat-dd .dd-selected{width:225px!important;padding-left:4px;margin-left:-15px}
#tcp4-cat-dd .dd-list{left:0px}

/* row1 views */
.tcp4-headline{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.tcp4-big{font-size:29px;font-weight:800;letter-spacing:.1px;line-height:1}
.tcp4-right{font-size:14px;font-weight:800}

/* RPM/CPM Dropdown (custom) */
.tcp4-mode-dd{width:100%}
.tcp4-mode-dd .dd-selected{
  width:100%!important;
  padding:0 12px!important;
  margin:0!important;
  height:37px;
  border:1px solid #D1D5DB;
  border-radius:7px;
  background:#f3f4f6;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:13px;
  font-weight:600;
  gap:10px;
}
.tcp4-mode-dd .dd-selected .dd-name{
  margin:0!important;
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tcp4-paren{color:#127C3A;font-weight:600;font-size:12.5px;line-height:15px}
.tcp4-mode-dd .dd-list{left:0;right:0;width:100%}

/* tighter spacing under dropdown */
.tcp4-ratewrap{margin-top:6px}
.tcp4-inline{display:flex;align-items:center;gap:10px}
.tcp4-miniinput{
  width:88px;
  border:1px solid #D1D5DB;border-radius:7px;background:#fff;
  padding:6px 10px!important;
  font-size:14px;font-weight:900;outline:none;
  height:35px;
}
.tcp4-range{flex:1;margin:0}
.tcp4-card-tight{padding:12px 14px 3px 14px}

/* middle 4 boxes: 2 per row */
.tcp4-half{flex:0 1 calc((100% - 12px)/2);min-width:0}

/* label left, control right */
.tcp4-minirow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tcp4-label{
  font-size:13.5px;
  font-weight:600;
  color:#111;
  white-space:nowrap;
}
.tcp4-control{flex:1;display:flex;align-items:center;justify-content:flex-end}
.tcp4-control select{
  width:100%;
  height:35px;
  border:0;background:transparent;outline:none;
  font-weight:600;font-size:13.5px;
  text-align:right;
}
.tcp4-control .tcp4-inline{width:100%}
.tcp4-control .tcp4-miniinput{
  border:0;background:transparent;width:64px;
  padding:0 6px!important;height:35px
}
.tcp4-control input[type="range"]{flex:1;margin:0}

/* label-less (dropdowns) */
.tcp4-label-less .tcp4-control{justify-content:flex-start}
.tcp4-label-less .tcp4-control select{text-align:left}

/* output green */
.tcp4-green{
  width:100%;
  border:1px solid #77D991;
  background:#E8F9EB;
  border-radius:7px;
  padding:16px 16px 14px;
}
.tcp4-green-title{font-size:13.5px;font-weight:900;color:#0b0b0b;margin-bottom:6px}
.tcp4-green-val{font-size:34px;font-weight:900;line-height:1;color:#1FAF56}
.tcp4-green-sub{margin-top:8px;font-size:13px;font-style:italic;color:#127C3A}

/* mobile: show native selects except mode (we keep custom only) */
@media (max-width:760px){
  #tcp4-country-dd,#tcp4-currency-dd,#tcp4-cat-dd{display:none!important}
  #tcp4-country-native,#tcp4-currency-native,#tcp4-cat-native{
    display:block!important;width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:16px
  }
  .tcp4-row{flex-direction:column}
  .tcp4-half{width:100%;flex:1 1 100%}
}
</style>

<div id="tcp4-calc" class="ttk tcp4">

  <!-- TOP FILTERS (3) -->
  <div class="tool-filters ttk-row ttk-filters" style="margin-top:0">
    <div class="tool-filter ttk-card ttk-top"><div class="ttk-filter">
      <div class="ttk-filter-label tcp4-abslabel">País</div>
      <div id="tcp4-country-dd" class="dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <img alt="" width="20" height="15"><span class="dd-name"></span><span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="País"></ul>
      </div>
      <select id="tcp4-country-native" aria-label="País"></select>
    </div></div>

    <div class="tool-filter ttk-card ttk-top"><div class="ttk-filter">
      <div class="ttk-filter-label tcp4-abslabel">Moeda</div>
      <div id="tcp4-currency-dd" class="dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <span class="dd-name"></span><span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Moeda"></ul>
      </div>
      <select id="tcp4-currency-native" aria-label="Moeda"></select>
    </div></div>

    <div class="tool-filter ttk-card ttk-top"><div class="ttk-filter">
      <div class="ttk-filter-label" id="tcp4-cat-label">UGC/Entretenimento</div>
      <div id="tcp4-cat-dd" class="dd tcp4-cat-dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <span class="dd-name" id="tcp4-cat-selected">UGC/Entretenimento</span><span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Categoria"></ul>
      </div>
      <select id="tcp4-cat-native" aria-label="Categoria"></select>
    </div></div>
  </div>

  <!-- ROW: Views + RPM/CPM -->
  <div class="ttk-row tcp4-row">
    <!-- Views -->
    <div class="tcp4-card tcp4-half">
      <div class="tcp4-headline">
        <div class="tcp4-big" id="tcp4-views-label">1 250 000</div>
        <div class="tcp4-right">Visualizações</div>
      </div>
      <input id="tcp4-views" type="range" min="0" max="10000000" step="10000" value="1250000" class="ttk-range ttk-range-black">
    </div>

    <!-- RPM/CPM -->
    <div class="tcp4-card tcp4-half tcp4-card-tight">
      <!-- ONLY ONE dropdown: CUSTOM MODE (no native select rendered) -->
      <div id="tcp4-mode-dd" class="dd tcp4-mode-dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <span class="dd-name" id="tcp4-mode-selected">
            RPM como base <span class="tcp4-paren">(ganhos por 1.000 visualizações)</span>
          </span>
          <span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Base"></ul>
      </div>

      <div class="tcp4-ratewrap">
        <div class="tcp4-inline">
          <input id="tcp4-rate" class="tcp4-miniinput" type="number" min="0" max="200" step="0.01" value="1.10" aria-label="Taxa">
          <input id="tcp4-rate-range" type="range" min="0" max="20" step="0.05" value="1.10" class="ttk-range ttk-range-black tcp4-range">
        </div>
      </div>
    </div>
  </div>

  <!-- 4 boxes (2x2) -->
  <div class="ttk-row tcp4-row">
    <div class="tcp4-card tcp4-half tcp4-label-less">
      <div class="tcp4-minirow">
        <div class="tcp4-control">
          <select id="tcp4-preset" aria-label="Tipo de ganhos">
            <option value="creator" selected>Creator Rewards (simples)</option>
            <option value="brand">Anúncios de marca (CPM mais alto)</option>
            <option value="premium">Nicho premium (CPM top)</option>
          </select>
        </div>
      </div>
    </div>

    <div class="tcp4-card tcp4-half tcp4-label-less">
      <div class="tcp4-minirow">
        <div class="tcp4-control">
          <select id="tcp4-scenario" aria-label="Cenário">
            <option value="low">Cenário conservador</option>
            <option value="typical" selected>Cenário realista</option>
            <option value="high">Cenário otimista</option>
          </select>
        </div>
      </div>
    </div>

    <div class="tcp4-card tcp4-half">
      <div class="tcp4-minirow">
        <div class="tcp4-label">Visualizações monetizadas</div>
        <div class="tcp4-control">
          <div class="tcp4-inline">
            <input id="tcp4-mv" class="tcp4-miniinput" type="number" min="0" max="1000" step="10" value="320" aria-label="Visualizações monetizadas por 1000">
            <input id="tcp4-mv-range" type="range" min="0" max="1000" step="10" value="320" class="ttk-range ttk-range-black">
          </div>
        </div>
      </div>
    </div>

    <div class="tcp4-card tcp4-half">
      <div class="tcp4-minirow">
        <div class="tcp4-label">Fator de valor publicitário</div>
        <div class="tcp4-control">
          <div class="tcp4-inline">
            <input id="tcp4-q" class="tcp4-miniinput" type="number" min="0.7" max="1.5" step="0.01" value="1.00" aria-label="Fator de valor publicitário">
            <input id="tcp4-q-range" type="range" min="0.7" max="1.5" step="0.01" value="1.00" class="ttk-range ttk-range-black">
          </div>
        </div>
      </div>
    </div>
  </div>

  <!-- OUTPUT -->
  <div class="ttk-row tcp4-row">
    <div class="tcp4-green">
      <div class="tcp4-green-title">Lucro estimado (líquido)</div>
      <div class="tcp4-green-val" id="tcp4-out">2 250,00 €</div>
      <div class="tcp4-green-sub">RPM efetivo: <span id="tcp4-eff">1.80</span> / 1k</div>
    </div>
  </div>

</div>

<script>
(function(){
  const $=id=>document.getElementById(id);
  const root=$('tcp4-calc'); if(!root) return;

  // --- Data ---
  const COUNTRIES=[
    {code:'de',name:'DEU',cur:'EUR',rpmBase:1.40,cpmBrand:18},
    {code:'us',name:'USA',cur:'USD',rpmBase:1.80,cpmBrand:22},
    {code:'gb',name:'UK', cur:'GBP',rpmBase:1.60,cpmBrand:20},
    {code:'fr',name:'FRA',cur:'EUR',rpmBase:1.30,cpmBrand:17},
    {code:'it',name:'ITA',cur:'EUR',rpmBase:1.20,cpmBrand:16},
    {code:'es',name:'ESP',cur:'EUR',rpmBase:1.10,cpmBrand:15},
    {code:'ca',name:'CAN',cur:'CAD',rpmBase:1.35,cpmBrand:19},
    {code:'au',name:'AUS',cur:'AUD',rpmBase:1.30,cpmBrand:19},
    {code:'nl',name:'NLD',cur:'EUR',rpmBase:1.25,cpmBrand:17},
    {code:'br',name:'BRA',cur:'BRL',rpmBase:0.70,cpmBrand:9},
    {code:'mx',name:'MEX',cur:'MXN',rpmBase:0.75,cpmBrand:10},
    {code:'ph',name:'PHL',cur:'USD',rpmBase:0.60,cpmBrand:8},
    {code:'pt',name:'PRT',cur:'EUR',rpmBase:1.10,cpmBrand:15},
  ];
  const CTRY=Object.fromEntries(COUNTRIES.map(c=>[c.code,c]));

  // Categories (translated labels)
  const CATEGORIES={
    ugc:{label:'UGC/Entretenimento',m:1.00},
    gaming:{label:'Gaming',m:0.95},
    lifestyle:{label:'Estilo de vida',m:1.00},
    fitness:{label:'Fitness/Saúde',m:1.05},
    edu:{label:'Educação/How-to',m:1.10},
    biz:{label:'Negócios/Finanças',m:1.18},
    beauty:{label:'Beleza/Moda',m:1.05},
    tech:{label:'Tecnologia/Reviews',m:1.12},
    news:{label:'Notícias/Política',m:1.20},
    food:{label:'Comida/Receitas',m:1.05},
    travel:{label:'Viagens',m:1.10},
    sports:{label:'Desporto',m:1.00},
  };

  const PRESETS={
    creator:{type:'rpm',mv:320,cpmBoost:1.00,rpmBoost:1.00},
    brand:{type:'cpm',mv:260,cpmBoost:1.00,rpmBoost:1.00},
    premium:{type:'cpm',mv:320,cpmBoost:1.40,rpmBoost:1.12},
  };

  const SCENARIOS={ low:{mult:0.70}, typical:{mult:1.00}, high:{mult:1.35} };

  const CURRENCIES=['EUR','USD','GBP','CAD','AUD','BRL','MXN'];
  const FX={
    "EUR→EUR":1,"EUR→USD":1.09,"EUR→GBP":0.84,"EUR→CAD":1.46,"EUR→AUD":1.62,"EUR→BRL":5.80,"EUR→MXN":20.0,
    "USD→USD":1,"USD→EUR":0.92,"USD→GBP":0.77,"USD→CAD":1.34,"USD→AUD":1.49,"USD→BRL":5.32,"USD→MXN":18.4,
    "GBP→GBP":1,"GBP→EUR":1.19,"GBP→USD":1.30,"GBP→CAD":1.74,"GBP→AUD":1.93,"GBP→BRL":6.90,"GBP→MXN":24.0,
    "CAD→CAD":1,"CAD→EUR":0.69,"CAD→USD":0.75,"CAD→GBP":0.57,"CAD→AUD":1.11,"CAD→BRL":3.95,"CAD→MXN":13.6,
    "AUD→AUD":1,"AUD→EUR":0.62,"AUD→USD":0.67,"AUD→GBP":0.52,"AUD→CAD":0.90,"AUD→BRL":3.60,"AUD→MXN":12.5,
    "BRL→BRL":1,"BRL→EUR":0.17,"BRL→USD":0.19,"BRL→GBP":0.14,"BRL→CAD":0.25,"BRL→AUD":0.28,"BRL→MXN":3.45,
    "MXN→MXN":1,"MXN→EUR":0.05,"MXN→USD":0.054,"MXN→GBP":0.042,"MXN→CAD":0.074,"MXN→AUD":0.08,"MXN→BRL":0.29
  };
  const rate=(f,t)=>FX[`${f}→${t}`]??1;

  // PT-PT formatting
  const localeFor=cur=>({EUR:'pt-PT',USD:'en-US',GBP:'en-GB',CAD:'en-CA',AUD:'en-AU',BRL:'pt-BR',MXN:'es-MX'})[cur]||'pt-PT';
  const fmtMoney=(v,cur)=>{try{return v.toLocaleString(localeFor(cur),{style:'currency',currency:cur});}catch(e){return (Math.round(v*100)/100).toFixed(2)+' '+cur;}};
  const fmtInt=n=>(Math.round(n)).toLocaleString('pt-PT');

  // --- Dropdown plumbing ---
  const countryDD=$('tcp4-country-dd'), cBtn=countryDD.querySelector('.dd-selected'), cImg=cBtn.querySelector('img'),
        cName=cBtn.querySelector('.dd-name'), cList=countryDD.querySelector('.dd-list'), countryNative=$('tcp4-country-native');

  const currDD=$('tcp4-currency-dd'), curBtn=currDD.querySelector('.dd-selected'), curName=curBtn.querySelector('.dd-name'),
        curList=currDD.querySelector('.dd-list'), currencyNative=$('tcp4-currency-native');

  const catDD=$('tcp4-cat-dd'), catBtn=catDD.querySelector('.dd-selected'), catList=catDD.querySelector('.dd-list'),
        catNative=$('tcp4-cat-native'), catSelected=$('tcp4-cat-selected');

  const modeDD=$('tcp4-mode-dd'), modeBtn=modeDD.querySelector('.dd-selected'), modeList=modeDD.querySelector('.dd-list'),
        modeSelected=$('tcp4-mode-selected');

  function openList(btn,list,open){
    btn.setAttribute('aria-expanded',open?'true':'false');
    list.style.display=open?'block':'none';
    if(open) list.focus();
  }
  document.addEventListener('click',e=>{
    if(!countryDD.contains(e.target)) openList(cBtn,cList,false);
    if(!currDD.contains(e.target)) openList(curBtn,curList,false);
    if(!catDD.contains(e.target)) openList(catBtn,catList,false);
    if(!modeDD.contains(e.target)) openList(modeBtn,modeList,false);
  });
  cBtn.addEventListener('click',()=>openList(cBtn,cList,cList.style.display!=='block'));
  curBtn.addEventListener('click',()=>openList(curBtn,curList,curList.style.display!=='block'));
  catBtn.addEventListener('click',()=>openList(catBtn,catList,catList.style.display!=='block'));
  modeBtn.addEventListener('click',()=>openList(modeBtn,modeList,modeList.style.display!=='block'));

  // --- Inputs ---
  const views=$('tcp4-views'), viewsLabel=$('tcp4-views-label');
  const rateIn=$('tcp4-rate'), rateR=$('tcp4-rate-range');
  const preset=$('tcp4-preset'), scenario=$('tcp4-scenario');
  const mvIn=$('tcp4-mv'), mvR=$('tcp4-mv-range');
  const qIn=$('tcp4-q'), qR=$('tcp4-q-range');

  // --- Output ---
  const out=$('tcp4-out'), eff=$('tcp4-eff');

  // Default: Portugal / EUR for PT-PT version
  let state={country:'pt',currency:'EUR',category:'ugc',currencyOverridden:false,mode:'rpm'};

  function updateSliderFill(el){
    const min=+el.min||0,max=+el.max||1,val=+el.value||0;
    el.style.setProperty('--pct',(((val-min)/(max-min))*100)+'%');
  }
  function clampNum(el,min,max,dec){
    let v=parseFloat(el.value||'0'); if(isNaN(v)) v=0;
    v=Math.max(min,Math.min(max,v));
    if(typeof dec==='number'){
      const p=Math.pow(10,dec);
      v=Math.round(v*p)/p;
      el.value=v.toFixed(dec);
    } else el.value=v;
    return v;
  }

  function buildCountryList(){
    cList.innerHTML=''; countryNative.innerHTML='';
    COUNTRIES.forEach(c=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.code=c.code;
      li.innerHTML=`<img decoding="async" alt="" width="20" height="15" src="https://flagcdn.com/w20/${c.code}.png" srcset="https://flagcdn.com/w40/${c.code}.png 2x" onerror="this.style.display='none'"><span>${c.name}</span>`;
      li.addEventListener('click',()=>selectCountry(c.code,true));
      cList.appendChild(li);

      const opt=document.createElement('option');
      opt.value=c.code; opt.textContent=c.name;
      countryNative.appendChild(opt);
    });
  }
  function buildCurrencyList(){
    curList.innerHTML=''; currencyNative.innerHTML='';
    CURRENCIES.forEach(code=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=code; li.textContent=code;
      li.addEventListener('click',()=>selectCurrency(code,true,true));
      curList.appendChild(li);

      const opt=document.createElement('option');
      opt.value=code; opt.textContent=code;
      currencyNative.appendChild(opt);
    });
  }
  function buildCategoryList(){
    catList.innerHTML=''; catNative.innerHTML='';
    Object.entries(CATEGORIES).forEach(([key,cfg])=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=key; li.textContent=cfg.label;
      li.addEventListener('click',()=>selectCategory(key,true));
      catList.appendChild(li);

      const opt=document.createElement('option');
      opt.value=key; opt.textContent=cfg.label;
      catNative.appendChild(opt);
    });
  }
  function buildModeList(){
    modeList.innerHTML='';
    const items=[
      {val:'rpm', html:`RPM como base <span class="tcp4-paren">(ganhos por 1.000 visualizações)</span>`},
      {val:'cpm', html:`CPM como base <span class="tcp4-paren">(por 1.000 visualizações monetizadas)</span>`},
    ];
    items.forEach(it=>{
      const li=document.createElement('li');
      li.className='dd-item'; li.setAttribute('role','option'); li.dataset.val=it.val;
      li.innerHTML=it.html;
      li.addEventListener('click',()=>selectMode(it.val,true));
      modeList.appendChild(li);
    });
  }

  function selectCountry(code,closeAfter){
    state.country=code;
    const c=CTRY[code]||CTRY.pt;

    cImg.src=`https://flagcdn.com/w20/${code}.png`;
    cImg.srcset=`https://flagcdn.com/w40/${code}.png 2x`;
    cName.textContent=c.name;
    countryNative.value=code;

    if(!state.currencyOverridden) selectCurrency(c.cur,false,false);

    applyAuto(false);
    if(closeAfter) openList(cBtn,cList,false);
    calc();
  }
  function selectCurrency(cur,closeAfter,override){
    state.currency=cur;
    if(override) state.currencyOverridden=true;
    curName.textContent=cur;
    currencyNative.value=cur;
    if(closeAfter) openList(curBtn,curList,false);
    calc();
  }
  function selectCategory(key,closeAfter){
    state.category=key;
    catSelected.textContent=(CATEGORIES[key]||CATEGORIES.ugc).label;
    catNative.value=key;

    applyAuto(false);
    if(closeAfter) openList(catBtn,catList,false);
    calc();
  }
  function selectMode(val,closeAfter){
    state.mode=val;

    if(val==='rpm'){
      modeSelected.innerHTML = `RPM como base <span class="tcp4-paren">(ganhos por 1.000 visualizações)</span>`;
      rateR.max='20'; rateIn.max='200';
    }else{
      modeSelected.innerHTML = `CPM como base <span class="tcp4-paren">(por 1.000 visualizações monetizadas)</span>`;
      rateR.max='60'; rateIn.max='200';
    }

    applyAuto(false);
    if(closeAfter) openList(modeBtn,modeList,false);
    calc();
  }

  function applyAuto(forcePreset){
    const c=CTRY[state.country]||CTRY.pt;
    const cat=CATEGORIES[state.category]||CATEGORIES.ugc;
    const pre=PRESETS[preset.value]||PRESETS.creator;
    const sc=SCENARIOS[scenario.value]||SCENARIOS.typical;
    const q=Math.max(0.7,Math.min(1.5,parseFloat(qIn.value||'1')));

    if(forcePreset){
      mvIn.value=pre.mv;
      mvR.value=pre.mv;
      updateSliderFill(mvR);
    }

    const mv=Math.max(0,Math.min(1000,parseFloat(mvIn.value||pre.mv)));

    let v=0;
    if(state.mode==='rpm'){
      v = c.rpmBase * cat.m * sc.mult * pre.rpmBoost * q;
      v = Math.max(0,Math.min(parseFloat(rateR.max||'20'),v));
    }else{
      if(pre.type==='rpm'){
        const rpm = c.rpmBase * cat.m * sc.mult * pre.rpmBoost * q;
        const denom=Math.max(1,mv)/1000;
        v = rpm/denom;
      }else{
        v = c.cpmBrand * cat.m * sc.mult * pre.cpmBoost * q;
      }
      v = Math.max(0,Math.min(parseFloat(rateR.max||'60'),v));
    }

    rateIn.value=v.toFixed(2);
    rateR.value=v.toFixed(2);
    updateSliderFill(rateR);
  }

  function calc(){
    const c=CTRY[state.country]||CTRY.pt;
    const fx=rate(c.cur,state.currency);

    const viewsVal=+views.value||0;
    const mvVal=Math.max(0,Math.min(1000,parseFloat(mvIn.value||'0')));
    const r=Math.max(0,parseFloat(rateIn.value||'0'));

    let grossCountry=0;
    let effRpmCountry=0;

    if(state.mode==='rpm'){
      grossCountry=(viewsVal/1000)*r;
      effRpmCountry=r;
    }else{
      const monetizedImpressions = viewsVal*(mvVal/1000);
      grossCountry=(monetizedImpressions/1000)*r;
      effRpmCountry=(mvVal/1000)*r;
    }

    const outVal=grossCountry*fx;
    const effVal=effRpmCountry*fx;

    viewsLabel.textContent=fmtInt(viewsVal);
    out.textContent=fmtMoney(outVal,state.currency);
    eff.textContent=effVal.toFixed(2);

    updateSliderFill(views);
    updateSliderFill(mvR);
    updateSliderFill(qR);
    updateSliderFill(rateR);
  }

  // --- Events ---
  views.addEventListener('input',calc);

  rateIn.addEventListener('input',()=>{
    const max=parseFloat(rateR.max||'20');
    const v=clampNum(rateIn,0,max,2);
    rateR.value=v.toFixed(2);
    updateSliderFill(rateR);
    calc();
  });
  rateR.addEventListener('input',()=>{
    rateIn.value=(+rateR.value||0).toFixed(2);
    updateSliderFill(rateR);
    calc();
  });

  preset.addEventListener('change',()=>{ applyAuto(true); calc(); });
  scenario.addEventListener('change',()=>{ applyAuto(false); calc(); });

  mvIn.addEventListener('input',()=>{
    const v=clampNum(mvIn,0,1000,0);
    mvR.value=v;
    updateSliderFill(mvR);
    calc();
  });
  mvR.addEventListener('input',()=>{
    mvIn.value=(+mvR.value||0).toFixed(0);
    updateSliderFill(mvR);
    calc();
  });

  qIn.addEventListener('input',()=>{
    const v=clampNum(qIn,0.7,1.5,2);
    qR.value=v;
    updateSliderFill(qR);
    applyAuto(false);
    calc();
  });
  qR.addEventListener('input',()=>{
    qIn.value=(+qR.value||1).toFixed(2);
    updateSliderFill(qR);
    applyAuto(false);
    calc();
  });

  countryNative.addEventListener('change',()=>selectCountry(countryNative.value,false));
  currencyNative.addEventListener('change',()=>selectCurrency(currencyNative.value,false,true));
  catNative.addEventListener('change',()=>selectCategory(catNative.value,false));

  // --- Init ---
  buildCountryList(); buildCurrencyList(); buildCategoryList(); buildModeList();

  // default: Portugal / EUR / UGC (PT-PT)
  selectCategory('ugc',false);
  selectCountry('pt',false);
  selectCurrency('EUR',false,false);

  preset.value='creator';
  scenario.value='typical';
  mvIn.value='320'; mvR.value='320';
  qIn.value='1.00'; qR.value='1.00';

  selectMode('rpm',false);

  updateSliderFill(views);
  updateSliderFill(mvR);
  updateSliderFill(qR);

  applyAuto(true);
  calc();
})();
</script>
</div>
<div class="tool-char">
<!-- ME: DESKTOP MAIN IMAGE--><br />
<img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-cpm-calculator-tool.png" alt="Calculadora CPM TikTok" width="396" height="538" class="alignnone size-full" title="Calculadora CPM TikTok: Ver ganhos com anúncios 49"></div>
</div>
<p><!-- ME: TOOL FOOTER BULLETPOINTS--><div class="tool-footer">
<ul><li>Seja sincero: esta calculadora é genial</li><li>Adaptada ao vosso feedback</li><li>De criadores para criadores</li></ul>
</div>
</div>
<p><!-- ME: MAIN OPTIN -->
<p><!-- ME: INFO HEADER IMG ALT --></p>
<div class="tool-information-header"><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-tool-explanation.png" alt="Tiktok Tool Erklärung" width="432" height="310" class="alignnone size-full" title="Calculadora CPM TikTok: Ver ganhos com anúncios 50"></p>
<p><!-- ME: H2 Einleitung --></p>
<h2>A calculadora CPM do TikTok explicada em detalhe</h2>
</div>
<div class="tool-information"><div class="su-tabs su-tabs-style-default su-tabs-mobile-stack" data-active="1" data-scroll-offset="0" data-anchor-in-url="no"><div class="su-tabs-nav"><span class="" data-url="" data-target="blank" tabindex="0" role="button">Detalhes da calculadora</span><span class="" data-url="" data-target="blank" tabindex="0" role="button">Mais informações</span></div><div class="su-tabs-panes"><div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Detalhes da calculadora">
<p><!------------------------- PART 1 SECTION START -------------------------></p>
<h3>Informações sobre a Calculadora de CPM do TikTok:</h3>
<p><strong>A Calculadora de CPM do TikTok mostra quanto dinheiro podes ganhar de forma realista com publicidade no TikTok. Ao contrário de fórmulas simples, não se baseia apenas nas visualizações. Considera o país, a categoria de conteúdo, as visualizações monetizadas e o RPM efetivo. Assim, consegues <b>ver os teus ganhos com anúncios no TikTok</b>, comparar cenários e perceber porque é que o mesmo número de views pode gerar pagamentos completamente diferentes.</strong></p>
<p>O ponto mais importante desde o início: o TikTok não paga por visualização, mas por <strong>visualização monetizada</strong>. É exatamente por isso que esta Calculadora de CPM do TikTok apresenta resultados realistas, combinando CPM, visualizações monetizadas e fatores de valor publicitário, em vez de usar médias enganadoras.</p>
<div id="ez-toc-container" class="ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title" style="cursor:inherit">Table of contents:</p>
<span class="ez-toc-title-toggle"></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/#A_calculadora_CPM_do_TikTok_explicada_em_detalhe">A calculadora CPM do TikTok explicada em detalhe</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/#Quanto_se_ganha_no_TikTok_por_cada_1000_visualizacoes">Quanto se ganha no TikTok por cada 1.000 visualizações?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/#CPM_vs_RPM_porque_o_TikTok_nao_paga_por_visualizacao">CPM vs. RPM: porque o TikTok não paga por visualização</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/#Como_estimar_de_forma_realista_os_ganhos_com_anuncios_no_TikTok">Como estimar de forma realista os ganhos com anúncios no TikTok?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/#CPM_do_TikTok_por_pais_comparacao_de_precos_e_receitas">CPM do TikTok por país: comparação de preços e receitas</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/#CPM_do_TikTok_por_nicho_que_conteudos_pagam_melhor">CPM do TikTok por nicho: que conteúdos pagam melhor?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-7" href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/#Como_funciona_em_detalhe_o_sistema_de_publicidade_e_monetizacao_do_TikTok">Como funciona em detalhe o sistema de publicidade e monetização do TikTok</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/#Requisitos_quem_pode_ver_ganhos_com_anuncios_no_TikTok">Requisitos: quem pode ver ganhos com anúncios no TikTok?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/#Bruto_vs_liquido_o_que_mostra_realmente_a_Calculadora_de_CPM_do_TikTok">Bruto vs. líquido: o que mostra realmente a Calculadora de CPM do TikTok?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/#Perguntas_frequentes_sobre_a_Calculadora_de_CPM_do_TikTok_e_ganhos_com_anuncios">Perguntas frequentes sobre a Calculadora de CPM do TikTok e ganhos com anúncios</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-11" href="https://creator-cash.com/pt-pt/tiktok/calculadora-cpm-tiktok/#Conclusao_quando_a_Calculadora_de_CPM_do_TikTok_e_realmente_util">Conclusão: quando a Calculadora de CPM do TikTok é realmente útil</a></li></ul></nav></div>

<h2 class="trenner checkbox">Quanto se ganha no TikTok por cada 1.000 visualizações?</h2>
<p><strong>Os ganhos reais refletem-se no <b>RPM efetivo</b> (receita por 1.000 visualizações). Num cenário realista, este valor situa-se normalmente entre <span class="positive">1,20 € e 2,00 €</span> por cada 1.000 visualizações. Não se trata de um valor fixo, mas de um intervalo que pode variar bastante consoante o país, o público e o tipo de conteúdo.</strong></p>
<p>Muitos criadores baseiam-se em afirmações genéricas como “X € por 1.000 views”. Na prática, estes números não são fiáveis, pois ignoram que apenas uma parte das visualizações é monetizada. O que realmente importa não é apenas o alcance, mas o valor publicitário que o TikTok atribui às tuas visualizações.</p>
<div class="beispielbox">
<span class="box-headline">Exemplo:</span></p>
<ul>
<li><b>Visualizações:</b> 1.250.000</li>
<li><b>RPM efetivo:</b> 1,50 € por 1.000 visualizações</li>
<li><b>Cálculo:</b> (1.250.000 / 1.000) × 1,50 €</li>
<li><b>Ganho estimado (líquido):</b> <span class="positive">1.875 €</span></li>
</ul>
</div>
<p>Este valor representa um cenário médio realista. Dependendo do nicho (por exemplo, finanças ou negócios), do país dos espectadores e do tempo de visualização, o RPM efetivo pode ser significativamente mais alto ou mais baixo.</p>
<h3>Tabela de visão geral: ganhos no TikTok por visualizações (cenários realistas)</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Visualizações</td>
<td>Portugal (UGC)</td>
<td>Portugal (Negócios)</td>
<td>Brasil (UGC)</td>
<td>Brasil (Negócios)</td>
<td><b>RPM efetivo</b></td>
</tr>
<tr>
<td>10.000</td>
<td>12 €</td>
<td>15 €</td>
<td>8 €</td>
<td>11 €</td>
<td>1,20 – 2,00</td>
</tr>
<tr>
<td>50.000</td>
<td>60 €</td>
<td>75 €</td>
<td>40 €</td>
<td>55 €</td>
<td>1,20 – 2,00</td>
</tr>
<tr>
<td>100.000</td>
<td>120 €</td>
<td>150 €</td>
<td>80 €</td>
<td>110 €</td>
<td>1,20 – 2,00</td>
</tr>
<tr>
<td>500.000</td>
<td>600 €</td>
<td>750 €</td>
<td>400 €</td>
<td>550 €</td>
<td>1,20 – 2,00</td>
</tr>
<tr>
<td>1.000.000</td>
<td>1.200 €</td>
<td>1.500 €</td>
<td>800 €</td>
<td>1.100 €</td>
<td>1,20 – 2,00</td>
</tr>
</table>
</div>
</div>
<p><i>Nota:</i> Os valores apresentados são médias para cenários realistas. Os teus ganhos reais dependem fortemente de quantas das tuas visualizações são efetivamente monetizadas.</p>
<h2 class="checkbox">CPM vs. RPM: porque o TikTok não paga por visualização</h2>
<p><strong>O <b>CPM do TikTok</b> (custo por mil) refere-se a 1.000 <b>visualizações monetizadas</b>. O <b>RPM do TikTok</b>, por outro lado, mostra quanto dinheiro ganhas efetivamente por cada 1.000 visualizações totais. Por isso, um CPM elevado pode resultar em ganhos baixos se apenas uma pequena parte das visualizações tiver anúncios.</strong></p>
<p>É aqui que surge a maior confusão em torno dos ganhos publicitários no TikTok. Muitos criadores veem um CPM alto, mas subestimam o impacto das visualizações monetizadas. Na prática, este indicador determina se 100.000 visualizações geram algumas centenas de euros ou vários milhares.</p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Exemplo:</span></p>
<ul>
<li><b>Visualizações totais:</b> 100.000</li>
<li><b>CPM:</b> 16 €</li>
<li><b>Visualizações monetizadas / 1.000:</b> 150 – 500</li>
<li><b>Ganhos:</b> de <span class="positive">240 €</span> a <span class="positive">800 €</span></li>
</ul>
</div>
<h3>Tabela: impacto das visualizações monetizadas nos ganhos do TikTok</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1 td3 td4 td5" style="width:100%;border-collapse:collapse">
<tr>
<td>Visualizações totais</td>
<td>Visualizações monetizadas / 1.000</td>
<td>CPM</td>
<td>Cenário</td>
<td><b>Ganhos</b></td>
<td>RPM efetivo</td>
</tr>
<tr>
<td>100.000</td>
<td>150</td>
<td>16 €</td>
<td>Conservador</td>
<td class="positive">240 €</td>
<td>2,40</td>
</tr>
<tr>
<td>100.000</td>
<td>300</td>
<td>16 €</td>
<td>Realista</td>
<td class="positive">480 €</td>
<td>4,80</td>
</tr>
<tr>
<td>100.000</td>
<td>500</td>
<td>16 €</td>
<td>Otimista</td>
<td class="positive">800 €</td>
<td>8,00</td>
</tr>
<tr>
<td>1.000.000</td>
<td>300</td>
<td>20 €</td>
<td>Realista (Portugal)</td>
<td class="positive">6.000 €</td>
<td>6,00</td>
</tr>
<tr>
<td>1.000.000</td>
<td>500</td>
<td>26 €</td>
<td>Nicho premium</td>
<td class="positive">13.000 €</td>
<td>13,00</td>
</tr>
</table>
</div>
</div>
<div class="infobox">
<strong>Lembra-te:</strong> O alcance por si só não gera dinheiro. O fator decisivo é quantas das tuas visualizações são monetizadas e qual o valor publicitário que o TikTok lhes atribui.
</div>
<h2 class="trenner checkbox">Como estimar de forma realista os ganhos com anúncios no TikTok?</h2>
<p><strong>Para uma estimativa realista precisas sempre de três fatores: as tuas visualizações totais, um intervalo de RPM plausível e a percentagem de visualizações monetizadas. Só a combinação destes valores mostra quanto dinheiro a publicidade no TikTok realmente gera.</strong></p>
<p>Se além dos ganhos com anúncios quiseres analisar também os presentes em direto, a <a href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/">Calculadora de Moedas do TikTok</a> é o complemento ideal, pois funciona com um sistema de remuneração completamente diferente.</p>
<h3>TikTok for Business: porque o mercado publicitário determina o teu CPM</h3>
<p><strong>Os ganhos publicitários no TikTok não surgem de forma isolada, mas diretamente do mercado publicitário do TikTok. Através do “TikTok for Business”, empresas reservam campanhas, definem públicos-alvo e competem por espaços publicitários — é exatamente aqui que se forma o CPM que os criadores ganham de forma indireta.</strong></p>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-app.png" alt="Tiktok App" width="1345" height="890" class="alignnone size-full wp-image-1018" title="Calculadora CPM TikTok: Ver ganhos com anúncios 51" srcset="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-app.png 1345w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-app-300x199.png 300w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-app-1024x678.png 1024w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-app-768x508.png 768w" sizes="(max-width: 1345px) 100vw, 1345px" /><br />
<span class="disclaimer">Fonte: <a href="https://getstarted.tiktok.com/gofulltiktok" target="_blank" rel="noopener">TikTok for Business</a></span></p>
<p>Quanto mais ativos forem os anunciantes numa região ou nicho, maior tende a ser o CPM do TikTok. Setores como finanças, tecnologia ou comércio eletrónico investem orçamentos publicitários muito superiores ao conteúdo de entretenimento clássico. Isto explica porque as visualizações de públicos com maior poder de compra valem muitas vezes várias vezes mais. Para os criadores, o CPM não depende apenas do alcance, mas de quão atrativo é o público para os anunciantes. A Calculadora de CPM do TikTok reflete esta relação ao considerar de forma realista países, categorias de conteúdo e valor publicitário.</p>
<p><!------------------------- PART 1 SECTION ENDE -------------------------><br />
<!------------------------- PART 2 SECTION START -------------------------></p>
<h3>Porque é que o CPM e o RPM do TikTok diferem tanto?</h3>
<p><strong>Os ganhos publicitários no TikTok não são um valor fixo, mas o resultado de várias variáveis. Os fatores mais decisivos são o país dos espectadores, a categoria de conteúdo, o valor publicitário do público-alvo e os efeitos sazonais. Por isso, o mesmo criador, com o mesmo número de visualizações, pode gerar receitas completamente diferentes consoante o país ou o nicho.</strong></p>
<p>Enquanto o conteúdo de entretenimento (UGC/Entertainment) tende a alcançar grandes audiências, o valor publicitário por visualização é geralmente mais baixo. Conteúdos de negócios, finanças ou tecnologia costumam ter menos views, mas são remunerados de forma significativamente superior. Estas diferenças refletem-se tanto no CPM como no RPM efetivo.</p>
<h2 class="trenner checkbox">CPM do TikTok por país: comparação de preços e receitas</h2>
<p><strong>O CPM do TikTok varia bastante de país para país. Os anunciantes pagam valores muito mais elevados em mercados com maior poder de compra, como Portugal, Estados Unidos ou Reino Unido, do que em países com orçamentos publicitários mais baixos. Para os criadores, isto significa que o país da audiência é um dos maiores fatores de impacto nos ganhos.</strong></p>
<p>A comparação seguinte mostra valores médios típicos da publicidade no TikTok por cada 1.000 visualizações monetizadas. Estes números servem apenas como referência e representam intervalos de mercado realistas — não garantias.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>País</td>
<td>Moeda</td>
<td>CPM típico</td>
<td><b>Contexto</b></td>
</tr>
<tr>
<td>Portugal</td>
<td>EUR</td>
<td>12 – 18 €</td>
<td>Mercado publicitário estável</td>
</tr>
<tr>
<td>Estados Unidos</td>
<td>USD</td>
<td>$18 – $28</td>
<td>Valor publicitário muito elevado</td>
</tr>
<tr>
<td>Reino Unido</td>
<td>GBP</td>
<td>£15 – £22</td>
<td>Comparável a mercados Tier-1</td>
</tr>
<tr>
<td>Brasil</td>
<td>BRL</td>
<td>R$20 – R$35</td>
<td>Menor poder de compra</td>
</tr>
<tr>
<td>Europa de Leste (UE)</td>
<td>EUR</td>
<td>6 – 12 €</td>
<td>Valor publicitário mais baixo</td>
</tr>
</table>
</div>
</div>
<p><i>Importante:</i> Mesmo com o mesmo CPM, o RPM efetivo pode variar bastante se apenas uma parte das visualizações for monetizada.</p>
<h3>Comparação por países: porque as visualizações dos EUA valem mais</h3>
<p><strong>Os espectadores dos Estados Unidos são considerados altamente orientados para o consumo, razão pela qual os anunciantes estão dispostos a pagar preços mais elevados. Além disso, o mercado publicitário de língua inglesa é significativamente maior e mais competitivo do que muitos mercados regionais.</strong></p>
<p>Para os criadores, isto não significa necessariamente que devam mudar para inglês. No entanto, uma maior percentagem de visualizações internacionais ou dos EUA pode aumentar de forma significativa o RPM efetivo — mesmo com o mesmo conteúdo.</p>
<h2 class="trenner checkbox">CPM do TikTok por nicho: que conteúdos pagam melhor?</h2>
<p><strong>Para além do país, o nicho de conteúdo é o segundo fator mais importante para os ganhos publicitários no TikTok. Os anunciantes pagam CPMs muito mais elevados por públicos com forte intenção de compra do que por conteúdo de entretenimento puro.</strong></p>
<p>A tabela seguinte mostra intervalos típicos de CPM por categoria de conteúdo e explica porque é que criadores com menos visualizações em nichos “caros” muitas vezes ganham mais do que grandes contas de entretenimento.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Categoria de conteúdo</td>
<td>CPM típico</td>
<td><b>Valor publicitário</b></td>
</tr>
<tr>
<td>Entretenimento / UGC</td>
<td>8 – 14 €</td>
<td>Baixo a médio</td>
</tr>
<tr>
<td>Lifestyle / Beleza</td>
<td>10 – 18 €</td>
<td>Médio</td>
</tr>
<tr>
<td>Gaming</td>
<td>9 – 16 €</td>
<td>Médio</td>
</tr>
<tr>
<td>Tecnologia</td>
<td>15 – 25 €</td>
<td>Alto</td>
</tr>
<tr>
<td>Finanças / Negócios</td>
<td>20 – 35 €</td>
<td>Muito alto</td>
</tr>
</table>
</div>
</div>
<h3>Porque dois criadores com as mesmas visualizações ganham de forma diferente</h3>
<p><strong>Duas contas com 500.000 visualizações cada podem gerar receitas muito diferentes. Uma serve um público com elevado poder de compra e forte pressão publicitária, enquanto a outra cria conteúdo viral com menor atratividade para anunciantes.</strong></p>
<p>É precisamente por isso que é perigoso comparar ganhos apenas com base nas visualizações. Só ao combinar nicho, país e taxa de monetização se obtém uma visão realista.</p>
<div class="infobox">
<strong>Lembra-te:</strong> O alcance é substituível — o valor publicitário não. Criadores com um nicho claro, elevado tempo de visualização e públicos “caros” alcançam RPMs significativamente mais altos a longo prazo.
</div>
<p><!------------------------- PART 2 SECTION ENDE -------------------------><br />
<!------------------------- PART 3 SECTION START -------------------------></p>
<h2 class="checkbox">Como funciona em detalhe o sistema de publicidade e monetização do TikTok</h2>
<p><strong>A <b>Calculadora de CPM do TikTok</b> baseia-se no modelo real de monetização do TikTok. Quem pretende estimar de forma realista os ganhos com anúncios no TikTok precisa de compreender como a plataforma avalia as visualizações, quais são monetizadas e como se formam o CPM e o RPM. Sem este entendimento básico, mesmo valores precisos de uma Calculadora de CPM do TikTok podem parecer contraditórios.</strong></p>
<p>De forma simplificada, o sistema funciona em várias etapas: os vídeos geram visualizações → o TikTok avalia quais dessas visualizações são elegíveis para publicidade → os anúncios são exibidos → daí resulta o CPM (custo por 1.000 visualizações monetizadas). A partir disso, o criador recebe o seu RPM efetivo, que a <b>Calculadora de CPM do TikTok</b> apresenta como receita por cada 1.000 visualizações totais.</p>
<p>Importante: o TikTok não toma estas decisões manualmente, mas de forma algorítmica. Fatores como tempo de visualização, qualidade do vídeo, brand safety e perfil da audiência influenciam se as visualizações são monetizadas e em que grau. É por isso que uma boa <b>Calculadora de CPM do TikTok</b> mostra sempre cenários realistas — não garantias.</p>
<h3>Que programas de monetização influenciam o CPM do TikTok?</h3>
<p><strong>A <b>Calculadora de CPM do TikTok</b> foca-se principalmente nos ganhos publicitários clássicos gerados através dos próprios programas de monetização do TikTok. Estes programas determinam se os anúncios são exibidos e qual o nível de CPM possível.</strong></p>
<ul class="advantage">
<li><strong>Creator Rewards / Creativity Program:</strong> Remuneração baseada em visualizações e tempo de visualização</li>
<li><strong>TikTok Pulse:</strong> Publicidade premium junto de vídeos com elevado desempenho</li>
<li><strong>Anúncios In-Feed (indireto):</strong> Influenciam o valor publicitário e a faixa de CPM</li>
<li><strong>Presentes em direto:</strong> Sistema separado, não incluído na Calculadora de CPM do TikTok</li>
</ul>
<p>Nem todos os criadores têm acesso automático a estes programas. Por isso, a <b>Calculadora de CPM do TikTok</b> trabalha conscientemente com cenários médios realistas, aplicáveis à maioria dos criadores ativos.</p>
<h2 class="trenner checkbox">Requisitos: quem pode ver ganhos com anúncios no TikTok?</h2>
<p><strong>Para que a <b>Calculadora de CPM do TikTok</b> seja relevante para a tua conta, é necessário cumprir alguns requisitos básicos. Sem estes requisitos, mesmo um elevado número de visualizações tende a resultar em zero ganhos publicitários.</strong></p>
<p>Os requisitos mais importantes incluem:</p>
<ul class="numbers">
<li>Publicação regular de vídeos com alcance estável</li>
<li>Duração mínima dos vídeos (normalmente pelo menos 60 segundos)</li>
<li>Elevado tempo de visualização e baixa taxa de abandono</li>
<li>Conteúdo adequado para anunciantes e seguro para marcas</li>
<li>Audiência proveniente de países com mercados publicitários ativos</li>
</ul>
<p>Só quando estes critérios são cumpridos é que o TikTok consegue exibir anúncios de forma eficaz. A <b>Calculadora de CPM do TikTok</b> ajuda então a enquadrar os ganhos potenciais de forma realista — não a criar expectativas irreais.</p>
<h3 class="trenner checkbox">Como aumentar o RPM do TikTok de forma estratégica?</h3>
<p><strong>O RPM é a métrica mais importante na <b>Calculadora de CPM do TikTok</b>. Indica quanto dinheiro ganhas efetivamente por cada 1.000 visualizações. Ao contrário do que muitos pensam, este valor não é aleatório — pode ser influenciado ativamente.</strong></p>
<ul class="numbers">
<li><strong>Maximizar o tempo de visualização:</strong> Maior retenção aumenta a monetização</li>
<li><strong>Países monetizáveis:</strong> Audiências dos EUA, Reino Unido e Europa Ocidental aumentam o CPM</li>
<li><strong>Nicho de conteúdo claro:</strong> Finanças, tecnologia ou negócios pagam mais do que UGC puro</li>
<li><strong>Otimizar a duração do vídeo:</strong> Mais espaço para anúncios</li>
<li><strong>Espectadores recorrentes:</strong> Aumentam a confiança e o valor publicitário</li>
<li><strong>Brand safety:</strong> Conteúdo controverso reduz drasticamente o CPM</li>
</ul>
<div class="beispielbox">
<span class="box-headline">Exemplo:</span></p>
<ul>
<li>RPM inicial segundo a Calculadora de CPM do TikTok: 1,50 €</li>
<li>Otimização: maior tempo de visualização + público de negócios</li>
<li>Novo RPM: <span class="positive">3,00 €</span></li>
<li>Com 500.000 visualizações: <span class="positive">+750 €</span> de ganhos mensais adicionais</li>
</ul>
</div>
<p>Este exemplo mostra porque a <b>Calculadora de CPM do TikTok</b> deve ser sempre utilizada em conjunto com medidas de otimização. Os números, por si só, não significam nada se não compreenderes os fatores que estão por trás deles.</p>
<h2 class="trenner checkbox">Bruto vs. líquido: o que mostra realmente a Calculadora de CPM do TikTok?</h2>
<p><strong>A <b>Calculadora de CPM do TikTok</b> trabalha com estimativas líquidas baseadas em dados de mercado realistas. No entanto, isto não representa o teu rendimento final “após impostos”, mas sim o valor antes da tributação pessoal.</strong></p>
<p>Em Portugal, os ganhos com publicidade no TikTok são considerados rendimentos tributáveis. Dependendo da situação, podem aplicar-se IRS, IVA ou impostos sobre atividade independente. O TikTok não retém impostos automaticamente — por isso, a <b>Calculadora de CPM do TikTok</b> reflete apenas a lógica da plataforma, não a tua situação fiscal individual.</p>
<div class="infobox">
<strong>Nota:</strong> Em caso de ganhos regulares ou elevados, é aconselhável procurar aconselhamento fiscal profissional. Os valores da Calculadora de CPM do TikTok servem para planeamento, não para cálculo de impostos.
</div>
<h2 class="trenner checkbox">Perguntas frequentes sobre a Calculadora de CPM do TikTok e ganhos com anúncios</h2>
<h3>Porque é que a Calculadora de CPM do TikTok mostra ganhos mesmo sem pagamentos?</h3>
<p>Porque a calculadora estima ganhos potenciais com base em visualizações monetizadas. Se a tua conta ainda não estiver aprovada para monetização publicitária, não existirão pagamentos apesar de um CPM teórico.</p>
<h3>A partir de quantas visualizações a Calculadora de CPM do TikTok é útil?</h3>
<p>Estimativas fiáveis costumam começar a partir de cerca de 50.000 a 100.000 visualizações por mês. Abaixo disso, o CPM e o RPM variam demasiado.</p>
<h3>1.000.000 de visualizações significam automaticamente muito dinheiro?</h3>
<p>Não. Segundo a Calculadora de CPM do TikTok, 1 milhão de visualizações pode gerar desde algumas centenas de euros até vários milhares, dependendo do RPM e da taxa de monetização.</p>
<h3>A Calculadora de CPM do TikTok é mais precisa do que estimativas genéricas online?</h3>
<p>Sim. Estimativas genéricas ignoram visualizações monetizadas, países e nichos de conteúdo. A Calculadora de CPM do TikTok torna estes fatores transparentes.</p>
<h2 class="trenner checkbox">Conclusão: quando a Calculadora de CPM do TikTok é realmente útil</h2>
<div class="infobox">
<strong>Conclusão:</strong> A Calculadora de CPM do TikTok é especialmente valiosa quando usada como ferramenta de planeamento e comparação, não como promessa. Criadores com nicho definido, elevado tempo de visualização e conteúdo adequado para anunciantes conseguem aumentar os ganhos de forma sistemática. Quem olha apenas para as visualizações irá interpretar mal os resultados da Calculadora de CPM do TikTok.
</div>
<p><!------------------------- PART 3 SECTION ENDE -------------------------></p>
<p><!-- ME: FOOTER OPTIN --><div class="optin-box tiktok-optin">
<h3>Ganhar dinheiro no Tiktok? Comece hoje mesmo:</h3>
Faça o download gratuito do nosso e-book.
</div>
<!-- ME: MORE INFO TRANSLATION --></div>
<div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Mais informações">
Informações sobre esta ferramenta:
<ul class="post-info">
<li><strong>Nome:</strong> Calculadora CPM TikTok: Ver ganhos com anúncios</li>
<li><strong>Descrição:</strong> Quanto dinheiro paga a publicidade no TikTok? O CPM ronda 0,50–2,00 €. A calculadora mostra ganhos reais.</li>
</ul>

<ul class="post-info">
<li><strong>Autor:</strong> Kevin</li>
<li><strong>Publicado:</strong> 11 de Janeiro, 2026</li>
<li><strong>Última atualização:</strong> 13.01.2026</li>
<li><strong>Categoria:</strong> Tiktok</li>
<li><strong>Tempo de leitura:</strong> 14 min.</li>
</ul>


<strong>Sobre o autor:</strong>

<div class="author-box">
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/kevin-founder-of-creator-cash.png" alt="kevin founder of creator cash" width="90" height="90" class="size-full wp-image-234" title="Calculadora CPM TikTok: Ver ganhos com anúncios 52"><strong>Kevin - Fundador da Creator Cash</strong>
Kevin é um criador de conteúdo experiente e especialista em SEO com foco na economia criativa, monetização de redes sociais e fontes de receita digital. Ele analisa plataformas como TikTok, Twitch e YouTube em detalhes e partilha cálculos, dados e estratégias práticas. Com a sua experiência em marketing e consultoria criativa, ele transmite conhecimentos sólidos com claro valor acrescentado para criadores e marcas.</div>

<div class="share-box">
<strong>Partilhar esta publicação:</strong><br>
<div class="share-box"> 
  <div class="share-row">
    <input class="share-input" type="text" value="" placeholder="https://…" readonly>
    <button class="share-copy" type="button" aria-label="Copy link" title="Copy link">
      <span class="ico ico-copy" aria-hidden="true">
        <!-- Dein SVG -->
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="8" y="8" width="12" height="12" rx="2" ry="2"></rect>
          <path d="M4 16V6a2 2 0 0 1 2-2h10"></path>
        </svg>
      </span>
      <span class="ico ico-check" aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
          <path d="M20 6 L9 17 L4 12"></path>
        </svg>
      </span>
    </button>
  </div>

  <div class="share-links">
    <a class="share-btn share-x"      href="#" target="_blank" rel="noopener nofollow" aria-label="Share on X"        title="X"></a>
    <a class="share-btn share-fb"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Facebook" title="Facebook"></a>
    <a class="share-btn share-li"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on LinkedIn" title="LinkedIn"></a>
    <a class="share-btn share-reddit" href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Reddit"   title="Reddit"></a>
    <a class="share-btn share-wa"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on WhatsApp" title="WhatsApp"></a>
    <a class="share-btn share-tg"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Telegram" title="Telegram"></a>
  </div>
</div>

<style id="share-box-css">
.share-box{border:1px solid #eee;border-radius:12px;padding:12px 14px}
.share-links a{padding:5px 8px!important}
.share-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.share-input{flex:1;padding:10px;border:1px solid #e5e5e5;border-radius:10px;background:#f7f7f7}
.share-copy{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:40px;border:0;border-radius:10px;background:#54FFA7;color:#000;cursor:pointer}
.share-copy svg{width:22px;height:22px;display:block}
.share-copy .ico-check{display:none}
.share-copy.ok .ico-copy{display:none}
.share-copy.ok .ico-check{display:block}

.share-links{display:flex;flex-wrap:wrap;gap:8px}
.share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid #eaeaea;border-radius:10px;background:#B9FFD8;color:#111;text-decoration:none;position:relative}
.share-btn::before{content:"";display:block;width:18px;height:18px;mask-size:contain;mask-repeat:no-repeat;background:currentColor}

/* Platform Icons */
.share-x::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 3h3l6 7 6-7h3l-7.5 8.5L21 21h-3l-6-7-6 7H3l8.5-9.5z'/></svg>")}
.share-fb::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M13 22v-9h3l1-4h-4V7a1 1 0 0 1 1-1h3V2h-3a5 5 0 0 0-5 5v3H6v4h3v9z'/></svg>")}
.share-li::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM4 8h4v12H4zM14.5 8A4.5 4.5 0 0 1 19 12.5V20h-4v-6a2 2 0 1 0-4 0v6H7v-12h4v1.6A4.49 4.49 0 0 1 14.5 8z'/></svg>")}
.share-reddit::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 12c0 4.4-4.5 8-9 8s-9-3.6-9-8 4.5-8 9-8c2.1 0 4 .6 5.5 1.7l1.6-1.6L20 5l-2.5.7A7 7 0 0 1 21 12z'/></svg>")}
.share-wa::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 12a8 8 0 0 1-12.3 6.7L4 20l1.3-3.6A8 8 0 1 1 20 12z'/></svg>")}
.share-tg::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 4 3 12l6.3 2.1L18 7l-7.3 8.1V20l3-2.6L18.8 21z'/></svg>")}
</style>

<script>
(function(){
  document.querySelectorAll('.share-box').forEach(function(box){
    if (box.dataset.bound) return; box.dataset.bound = "1";

    var url   = window.location.href.split('#')[0];
    var title = document.title || '';
    var uEnc  = encodeURIComponent(url);
    var tEnc  = encodeURIComponent(title);

    var input = box.querySelector('.share-input');
    if (input) input.value = url;

    var map = {
      '.share-x'     : 'https://twitter.com/intent/tweet?url='+uEnc+'&text='+tEnc,
      '.share-fb'    : 'https://www.facebook.com/sharer/sharer.php?u='+uEnc,
      '.share-li'    : 'https://www.linkedin.com/sharing/share-offsite/?url='+uEnc,
      '.share-reddit': 'https://www.reddit.com/submit?url='+uEnc+'&title='+tEnc,
      '.share-wa'    : 'https://wa.me/?text='+tEnc+'%20'+uEnc,
      '.share-tg'    : 'https://t.me/share/url?url='+uEnc+'&text='+tEnc
    };
    Object.keys(map).forEach(function(sel){
      var a = box.querySelector(sel); if(a) a.href = map[sel];
    });

    var copy = box.querySelector('.share-copy');
    if (copy && input) {
      copy.addEventListener('click', async function(){
        try { await navigator.clipboard.writeText(input.value); copy.classList.add('ok'); } catch(e){}
        setTimeout(function(){ copy.classList.remove('ok'); }, 1200);
      });
    }
  });
})();
</script>

</div>
</div></div></div>
</p></div>

</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Calculadora de Ganhos TikTok: Lucro mensal</title>
		<link>https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/</link>
		
		<dc:creator><![CDATA[Kevin]]></dc:creator>
		<pubDate>Fri, 09 Jan 2026 13:50:56 +0000</pubDate>
				<category><![CDATA[Tiktok]]></category>
		<guid isPermaLink="false">https://creator-cash.com/?p=922</guid>

					<description><![CDATA[Calculadora Ganhos TikTok: por 1.000 visualizações, o Creator Program paga cerca de 0,70–2,00 €, variando por região e engajamento. Calculadora de Ganhos TikTok Lucro mensal A Calculadora de Ganhos do TikTok explicada em detalhe]]></description>
										<content:encoded><![CDATA[<div class="tool-post tiktok">
<div class="page-header">
<div class="page-header-image">
<p><!-- ME: OG IMAGE--><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/calculadora-ganhos-tiktok-1024x1024.jpg" alt="Calculadora Ganhos TikTok" width="1200" height="1200" class="alignnone size-full" title="Calculadora de Ganhos TikTok: Lucro mensal 63"></div>
<div class="page-header-content">
<div class="page-header-title">
<p><!-- Area 1 --><!-- SECTION START --></p>
<h1>Calculadora de Ganhos TikTok: Lucro mensal</h1>
<p><!-- SECTION ENDE -->
</div>
<div class="page-header-description">
<p><!-- SECTION START META DESCRIPTION --><span>Calculadora Ganhos TikTok: por 1.000 visualizações, o Creator Program paga cerca de 0,70–2,00 €, variando por região e engajamento.</span><!-- SECTION ENDE --></p>
</div>
<div class="page-header-background">
<p><!-- ME: MOBILE MAIN IMAGE--><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-earnings-calculator-mobile.png" alt="Calculadora Ganhos TikTok" width="394" height="410" class="alignnone size-full wp-image-319" title="Calculadora de Ganhos TikTok: Lucro mensal 64"><br />
<!-- Area 1 Ende --></p>
</div>
</div>
</div>
<div class="tool tiktok-tool">
<div class="tool-header">
<div class="tool-tabs">
<div class="tool-tab tool-tab-active"><span class="svg-icon icon-small"><svg width="13" height="14" viewBox="0 0 13 14" xmlns="http://www.w3.org/2000/svg" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.3605 4.01483C11.5991 4.01483 10.8966 3.76261 10.3325 3.33712C9.68556 2.84936 9.22073 2.13386 9.05657 1.3092C9.01593 1.10544 8.99404 0.895169 8.99196 0.679688H6.81708V6.6225L6.81447 9.87766C6.81447 10.7479 6.24776 11.4858 5.46217 11.7453C5.23418 11.8206 4.98796 11.8563 4.73157 11.8423C4.40431 11.8243 4.09763 11.7255 3.83108 11.5661C3.26384 11.2268 2.87926 10.6114 2.86884 9.90736C2.85242 8.80702 3.74197 7.90992 4.84152 7.90992C5.05857 7.90992 5.26701 7.94535 5.46217 8.00971V6.38539V5.80148C5.25633 5.771 5.04684 5.7551 4.83501 5.7551C3.63149 5.7551 2.50588 6.25537 1.70127 7.15665C1.09313 7.83774 0.72835 8.70671 0.672069 9.61788C0.598331 10.8149 1.03633 11.9527 1.88575 12.7923C2.01056 12.9155 2.14162 13.0299 2.27867 13.1354C3.00693 13.6959 3.89726 13.9997 4.83501 13.9997C5.04684 13.9997 5.25633 13.9841 5.46217 13.9536C6.33817 13.8238 7.14642 13.4228 7.78427 12.7923C8.56803 12.0176 9.00108 10.9892 9.00577 9.89459L8.99456 5.03362C9.36846 5.32205 9.77728 5.56073 10.2161 5.74598C10.8985 6.0339 11.622 6.17981 12.3667 6.17955V4.60031V4.01431C12.3672 4.01483 12.361 4.01483 12.3605 4.01483Z" /></svg></span><!-- SECTION START -->Calculadora Ganhos TikTok<!-- SECTION ENDE --></div>
<div class="tool-tab"><a href="https://creator-cash.com/pt-pt/tiktok/"><!-- SECTION START -->Todos os calculadores de Tiktok<!-- SECTION ENDE --></a></p>
</div>
</div>
</div>
<div class="tool-content">
<div class="tool-code">
<div class="tool-title">
<p><!-- SECTION START RECHNER NAME -->Calculadora de Ganhos TikTok<!-- SECTION ENDE --></div>
<p><span class="tool-subtitle"><!-- SECTION START -->Lucro mensal<!-- SECTION ENDE --></span><!-- ME: MAIN RECHNER --><style>
/* quick offsets you provided */
@media (min-width:1024px){.tool-content{height:558px!important}}
@media (max-width:1023px){.ttk-filter-label{display:none}}
	
.ttk-range{margin:10px 0 3px}
.tool-char img{height:595px!important}
.tte-card{padding-bottom:4px!important}
.tt-small-card{background:none!important;padding:0!important;border:none!important;margin-bottom:4px}
.tte, .tte *{  font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;}
.ttk-sub{font-size:13px!important}
.dd-list{left:-5px}	
	
	/* base */
.tte{max-width:720px;width:100%;margin:12px auto;overflow:hidden}
.tte-row{gap:12px;margin-top:12px}
.tte-card{padding:10px 14px 12px}
.tte-filters{margin-top:0}

/* --- FILTER LABELS: only País/Moeda absolute (own class) --- */
.tte .ttk-filter{margin-bottom:0;height:37px;position:relative}
.tte .ttk-filter-label{position:static;margin-right:10px;white-space:nowrap;font-weight:600}
.tte .tte-abslabel{position:absolute;left:14px;top:50%;transform:translateY(-50%);margin:0;pointer-events:none}

/* remove extra native selects on desktop (prevents "second box") */
#tte-country-native,#tte-currency-native,#tte-cat-native{display:none!important}

/* category: ensure ONLY ONE visible element (no second box) */
#tte-cat-label{display:none!important} /* remove left label entirely */
#tte-cat-dd{width:100%}

/* category dd align like others */
.tte-cat-dd .dd-selected{width:225px!important;padding-left:4px;margin-left:-15px}
#tte-cat-dd .dd-list{left:0px}

/* grey cards like inputs */
.tte .tte-card{
  background:#f3f4f6;
  border:1px solid #D1D5DB;
  border-radius:7px;
  box-shadow:none;
}

/* views/rpm */
.tte-headline{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.tte-big{font-size:21px;font-weight:900;letter-spacing:.1px;line-height:1}
.tte-right{font-size:14px;font-weight:800}
.tte-right.subtle{opacity:.65}
.tte-title{font-size:14px;font-weight:800}
.tte-inline{display:flex;align-items:center;gap:12px}
.tte-miniinput{
  width:88px;border:1px solid #D1D5DB;border-radius:7px;background:#f3f4f6;
  padding:4px 10px!important;font-size:14px;font-weight:900;outline:none
}
.tte-rpmrange{flex:1}

/* row 2: label above + tight grey boxes */
.tte-midlabel{font-size:13.5px;font-weight:600;margin:0 0 6px 2px}
.tte-midbox{
  height:37px;background:#f3f4f6;border:1px solid #D1D5DB;border-radius:7px;
  display:flex;align-items:center;padding:0 8px
}
.tte-midbox .tte-select{
  width:100%;height:35px;border:0;background:transparent;border-radius:7px;
  padding:0 6px;font-weight:800;font-size:13.5px;outline:none
}
.tte-midbox .tte-inline{width:100%;gap:10px}
.tte-midbox .tte-miniinput{
  height:35px;background:transparent;border:0;padding:0 6px;width:60px;
  font-size:14px;font-weight:900
}
.tte-midbox input[type="range"]{flex:1;margin:0}

/* dark results: smaller numbers */
.tte-darkrow{align-items:stretch}
.tte-dark{
  flex:1;background:#0a0a0a;border:1px solid #000;border-radius:10px;
  padding:14px 16px;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.12)
}
.tte-dark-title{font-size:14px;font-weight:700;margin-bottom:4px}
.tte-dark-val{font-size:26px;font-weight:800;line-height:1.1}
.tte-dark-val.green{color:#2BE070}
.tte-dark-sub{margin-top:8px;font-size:13px;font-style:italic;opacity:.75;line-height:1.25}
.tte-fees{margin-top:12px}
.tte .is-disabled{opacity:.45;pointer-events:none}
.tte-yellow{border:1px solid #F2D699!important;background:#FDF5E1;color:#000}
.tte-yellow .tte-dark-val{color:#D5A623}
.tte-yellow .tte-dark-sub{color:#A47C0C}
	
.tte-green{border:1px solid #77D991!important;background:#E8F9EB;color:#000}
.tte-green .tte-dark-val{color:#1FAF56}
.tte-green .tte-dark-sub{color:#127C3A}
	

/* mobile */
@media (max-width:760px){
  #tte-country-dd,#tte-currency-dd,#tte-cat-dd{display:none!important}
  #tte-country-native,#tte-currency-native,#tte-cat-native{
    display:block!important;width:100%;padding:10px 12px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:16px
  }
  .tte-row{flex-direction:column}
  .tte-row>.ttk-card{min-width:100%}
  .tte-darkrow{flex-direction:column}
  .tte-darkrow .tte-dark{min-width:100%}
}
</style>

<div id="tte-calc" class="ttk tte">
  <!-- TOP FILTERS -->
  <div class="tool-filters ttk-row ttk-filters tte-filters">
    <div class="tool-filter ttk-card ttk-top"><div class="ttk-filter">
      <div class="ttk-filter-label tte-abslabel">País</div>
      <div id="tte-country-dd" class="dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <img alt="" width="20" height="15"><span class="dd-name"></span><span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Selecionar país"></ul>
      </div>
      <select id="tte-country-native" aria-label="Selecionar país"></select>
    </div></div>

    <div class="tool-filter ttk-card ttk-top"><div class="ttk-filter">
      <div class="ttk-filter-label tte-abslabel">Moeda</div>
      <div id="tte-currency-dd" class="dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <span class="dd-name"></span><span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Selecionar moeda"></ul>
      </div>
      <select id="tte-currency-native" aria-label="Selecionar moeda"></select>
    </div></div>

    <div class="tool-filter ttk-card ttk-top"><div class="ttk-filter">
      <div class="ttk-filter-label" id="tte-cat-label">UGC/Entretenimento</div>
      <div id="tte-cat-dd" class="dd tte-cat-dd">
        <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
          <span class="dd-name" id="tte-cat-selected">UGC/Entretenimento</span><span class="dd-caret">▾</span>
        </button>
        <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Selecionar categoria"></ul>
      </div>
      <select id="tte-cat-native" aria-label="Selecionar categoria"></select>
    </div></div>
  </div>

  <!-- ROW 1 -->
  <div class="ttk-row tte-row">
    <div class="ttk-card tte-card">
      <div class="tte-headline"><div class="tte-big" id="tte-views-label">1 250 000</div><div class="tte-right">Visualizações</div></div>
      <input id="tte-views" type="range" min="0" max="10000000" step="10000" value="1250000" class="ttk-range ttk-range-black">
    </div>

    <div class="ttk-card tte-card">
      <div class="tte-headline"><div><span class="tte-title">RPM (ganhos por 1.000 visualizações)</span></div><div class="tte-right subtle">por país</div></div>
      <div class="tte-inline">
        <input id="tte-rpm" class="tte-miniinput" type="number" min="0" max="20" step="0.01" value="1.15" aria-label="RPM">
        <input id="tte-rpm-range" type="range" min="0" max="10" step="0.05" value="1.15" class="ttk-range ttk-range-black tte-rpmrange">
      </div>
    </div>
  </div>

  <!-- ROW 2 -->
  <div class="ttk-row tte-row">
    <div class="ttk-card tte-card tt-small-card">
      <div class="tte-midlabel">Monetização</div>
      <div class="tte-midbox">
        <select id="tte-mode" class="tte-select">
          <option value="cp" selected>Apenas Programa de Criadores</option>
          <option value="cp_deals">Criadores + Parcerias (Brand Deals)</option>
          <option value="cp_live">Criadores + Diretos</option>
          <option value="all">Tudo combinado</option>
        </select>
      </div>
    </div>

    <div class="ttk-card tte-card tt-small-card" id="tte-deals-card">
      <div class="tte-midlabel">Brand Deals por mês</div>
      <div class="tte-midbox">
        <div class="tte-inline">
          <input id="tte-deals" class="tte-miniinput" type="number" min="0" max="10" step="1" value="3" aria-label="Brand Deals por mês">
          <input id="tte-deals-range" type="range" min="0" max="10" step="1" value="3" class="ttk-range ttk-range-black">
        </div>
      </div>
    </div>

    <div class="ttk-card tte-card tt-small-card" id="tte-live-card">
      <div class="tte-midlabel">Diretos por mês</div>
      <div class="tte-midbox">
        <div class="tte-inline">
          <input id="tte-live" class="tte-miniinput" type="number" min="0" max="30" step="1" value="4" aria-label="Diretos por mês">
          <input id="tte-live-range" type="range" min="0" max="30" step="1" value="4" class="ttk-range ttk-range-black">
        </div>
      </div>
    </div>
  </div>

  <!-- DARK RESULTS -->
  <div class="ttk-row tte-row tte-darkrow">
    <div class="tte-dark tte-yellow">
      <div class="tte-dark-title">Receita estimada (bruta)</div>
      <div class="tte-dark-val" id="tte-gross">€0,00</div>
      <div class="tte-dark-sub" id="tte-gross-sub">Criador: €0,00 · Deduções: €0,00</div>
    </div>
    <div class="tte-dark tte-green">
      <div class="tte-dark-title">Lucro estimado (líquido)</div>
      <div class="tte-dark-val green" id="tte-net">€0,00</div>
      <div class="tte-dark-sub" id="tte-net-sub">RPM efetivo: 0.00 / 1k</div>
    </div>
  </div>

  <!-- FEES -->
  <div class="tool-results ttk-row ttk-fees tte-fees">
    <div class="ttk-card"><div class="ttk-sub">Retenção de impostos</div><div class="ttk-fee" id="tte-tax">-€0,00</div></div>
    <div class="ttk-card"><div class="ttk-sub">Taxa de pagamento (PayPal / outros)</div><div class="ttk-fee" id="tte-pay">-€0,00</div></div>
    <div class="ttk-card"><div class="ttk-sub">Custos fixos estimados</div><div class="ttk-fee" id="tte-cost">-€0,00</div></div>
  </div>
</div>

<script>
(function(){
  const $=id=>document.getElementById(id),root=$('tte-calc'); if(!root) return;

  const COUNTRIES=[
    {code:'de',name:'DEU',cur:'EUR',rpm:1.40,deal:330,live:9.0,tax:30},
    {code:'us',name:'USA',cur:'USD',rpm:1.80,deal:450,live:12.0,tax:25},
    {code:'gb',name:'UK', cur:'GBP',rpm:1.60,deal:360,live:10.0,tax:25},
    {code:'fr',name:'FRA',cur:'EUR',rpm:1.30,deal:300,live:8.0,tax:30},
    {code:'it',name:'ITA',cur:'EUR',rpm:1.20,deal:270,live:7.0,tax:30},
    {code:'es',name:'ESP',cur:'EUR',rpm:1.10,deal:240,live:6.0,tax:28},
    {code:'pt',name:'PRT',cur:'EUR',rpm:1.15,deal:255,live:6.5,tax:28},
    {code:'ca',name:'CAN',cur:'CAD',rpm:1.35,deal:330,live:9.0,tax:25},
    {code:'au',name:'AUS',cur:'AUD',rpm:1.30,deal:315,live:8.0,tax:25},
    {code:'nl',name:'NLD',cur:'EUR',rpm:1.25,deal:285,live:7.5,tax:30},
    {code:'br',name:'BRA',cur:'BRL',rpm:0.70,deal:150,live:4.5,tax:25},
    {code:'mx',name:'MEX',cur:'MXN',rpm:0.75,deal:150,live:4.5,tax:25},
    {code:'ph',name:'PHL',cur:'USD',rpm:0.60,deal:135,live:4.0,tax:25},
  ];
  const CTRY=Object.fromEntries(COUNTRIES.map(c=>[c.code,c]));
  const CATEGORIES={
    ugc:{label:'UGC/Entretenimento',rpmF:1.00,dealF:1.00,liveF:1.00},
    gaming:{label:'Jogos',rpmF:0.95,dealF:0.90,liveF:1.05},
    lifestyle:{label:'Estilo de vida',rpmF:1.00,dealF:1.05,liveF:1.00},
    fitness:{label:'Fitness/Saúde',rpmF:1.05,dealF:1.10,liveF:0.90},
    edu:{label:'Educação/Como fazer',rpmF:1.10,dealF:1.15,liveF:0.85},
    biz:{label:'Negócios/Finanças',rpmF:1.15,dealF:1.25,liveF:0.80},
    beauty:{label:'Beleza/Moda',rpmF:1.05,dealF:1.20,liveF:1.00},
    tech:{label:'Tecnologia/Análises',rpmF:1.10,dealF:1.15,liveF:0.90},
  };
  const CURRENCIES=['EUR','USD','GBP','CAD','AUD','BRL','MXN'];
  const FX={
    "EUR→EUR":1,"EUR→USD":1.09,"EUR→GBP":0.84,"EUR→CAD":1.46,"EUR→AUD":1.62,"EUR→BRL":5.80,"EUR→MXN":20.0,
    "USD→USD":1,"USD→EUR":0.92,"USD→GBP":0.77,"USD→CAD":1.34,"USD→AUD":1.49,"USD→BRL":5.32,"USD→MXN":18.4,
    "GBP→GBP":1,"GBP→EUR":1.19,"GBP→USD":1.30,"GBP→CAD":1.74,"GBP→AUD":1.93,"GBP→BRL":6.90,"GBP→MXN":24.0,
    "CAD→CAD":1,"CAD→EUR":0.69,"CAD→USD":0.75,"CAD→GBP":0.57,"CAD→AUD":1.11,"CAD→BRL":3.95,"CAD→MXN":13.6,
    "AUD→AUD":1,"AUD→EUR":0.62,"AUD→USD":0.67,"AUD→GBP":0.52,"AUD→CAD":0.90,"AUD→BRL":3.60,"AUD→MXN":12.5,
    "BRL→BRL":1,"BRL→EUR":0.17,"BRL→USD":0.19,"BRL→GBP":0.14,"BRL→CAD":0.25,"BRL→AUD":0.28,"BRL→MXN":3.45,
    "MXN→MXN":1,"MXN→EUR":0.05,"MXN→USD":0.054,"MXN→GBP":0.042,"MXN→CAD":0.074,"MXN→AUD":0.08,"MXN→BRL":0.29
  };
  const rate=(f,t)=>FX[`${f}→${t}`]??1;
  const localeFor=cur=>({EUR:'pt-PT',USD:'en-US',GBP:'en-GB',CAD:'en-CA',AUD:'en-AU',BRL:'pt-BR',MXN:'es-MX'})[cur]||'pt-PT';
  const fmt=(v,cur)=>{try{return v.toLocaleString(localeFor(cur),{style:'currency',currency:cur});}catch(e){return (Math.round(v*100)/100).toFixed(2)+' '+cur;}};
  const fmtIntPT=n=>(Math.round(n)).toLocaleString('pt-PT');

  const countryDD=$('tte-country-dd'),cBtn=countryDD.querySelector('.dd-selected'),cImg=cBtn.querySelector('img'),cName=cBtn.querySelector('.dd-name'),cList=countryDD.querySelector('.dd-list'),countryNative=$('tte-country-native');
  const currDD=$('tte-currency-dd'),curBtn=currDD.querySelector('.dd-selected'),curName=curBtn.querySelector('.dd-name'),curList=currDD.querySelector('.dd-list'),currencyNative=$('tte-currency-native');
  const catDD=$('tte-cat-dd'),catBtn=catDD.querySelector('.dd-selected'),catList=catDD.querySelector('.dd-list'),catNative=$('tte-cat-native'),catSelected=$('tte-cat-selected');

  function openList(btn,list,open){btn.setAttribute('aria-expanded',open?'true':'false');list.style.display=open?'block':'none';if(open) list.focus();}
  document.addEventListener('click',e=>{
    if(!countryDD.contains(e.target)) openList(cBtn,cList,false);
    if(!currDD.contains(e.target)) openList(curBtn,curList,false);
    if(!catDD.contains(e.target)) openList(catBtn,catList,false);
  });
  cBtn.addEventListener('click',()=>openList(cBtn,cList,cList.style.display!=='block'));
  curBtn.addEventListener('click',()=>openList(curBtn,curList,curList.style.display!=='block'));
  catBtn.addEventListener('click',()=>openList(catBtn,catList,catList.style.display!=='block'));

  const viewsRange=$('tte-views'),viewsLabel=$('tte-views-label'),rpmInput=$('tte-rpm'),rpmRange=$('tte-rpm-range'),modeSel=$('tte-mode'),
        dealsInput=$('tte-deals'),dealsRange=$('tte-deals-range'),liveInput=$('tte-live'),liveRange=$('tte-live-range');
  const dealsCard=$('tte-deals-card'),liveCard=$('tte-live-card'),grossEl=$('tte-gross'),grossSub=$('tte-gross-sub'),
        netEl=$('tte-net'),netSub=$('tte-net-sub'),taxEl=$('tte-tax'),payEl=$('tte-pay'),costEl=$('tte-cost');

  // PT-PT default: PRT + EUR
  let state={country:'pt',currency:'EUR',category:'ugc',currencyOverridden:false};

  function buildCountryList(){
    cList.innerHTML='';countryNative.innerHTML='';
    COUNTRIES.forEach(c=>{
      const li=document.createElement('li');li.className='dd-item';li.setAttribute('role','option');li.dataset.code=c.code;
      li.innerHTML=`<img decoding="async" alt="" width="20" height="15" src="https://flagcdn.com/w20/${c.code}.png" srcset="https://flagcdn.com/w40/${c.code}.png 2x" onerror="this.style.display='none'"><span>${c.name}</span>`;
      li.addEventListener('click',()=>selectCountry(c.code,true));cList.appendChild(li);
      const opt=document.createElement('option');opt.value=c.code;opt.textContent=c.name;countryNative.appendChild(opt);
    });
  }
  function buildCurrencyList(){
    curList.innerHTML='';currencyNative.innerHTML='';
    CURRENCIES.forEach(code=>{
      const li=document.createElement('li');li.className='dd-item';li.setAttribute('role','option');li.dataset.val=code;li.textContent=code;
      li.addEventListener('click',()=>selectCurrency(code,true,true));curList.appendChild(li);
      const opt=document.createElement('option');opt.value=code;opt.textContent=code;currencyNative.appendChild(opt);
    });
  }
  function buildCategoryList(){
    catList.innerHTML='';catNative.innerHTML='';
    Object.entries(CATEGORIES).forEach(([key,cfg])=>{
      const li=document.createElement('li');li.className='dd-item';li.setAttribute('role','option');li.dataset.val=key;li.textContent=cfg.label;
      li.addEventListener('click',()=>selectCategory(key,true));catList.appendChild(li);
      const opt=document.createElement('option');opt.value=key;opt.textContent=cfg.label;catNative.appendChild(opt);
    });
  }

  function updateSliderFill(el){const min=+el.min||0,max=+el.max||1,val=+el.value||0;el.style.setProperty('--pct',(((val-min)/(max-min))*100)+'%');}
  function clampInt(el,min,max){let v=parseInt(el.value||'0',10);if(isNaN(v)) v=0;v=Math.max(min,Math.min(max,v));el.value=v;return v;}
  function applyAutoRPM(){
    const c=CTRY[state.country]||CTRY.pt,k=CATEGORIES[state.category]||CATEGORIES.ugc;
    const auto=c.rpm*k.rpmF;
    rpmInput.value=auto.toFixed(2);
    rpmRange.value=Math.min(+rpmRange.max,auto);
    updateSliderFill(rpmRange);
  }
  function fixedCostsInCountry(views,countryCur){return ((views/10000)*1)*rate('EUR',countryCur);}
  function applyModeUI(){
    const m=modeSel.value,dealsEnabled=(m==='cp_deals'||m==='all'),liveEnabled=(m==='cp_live'||m==='all');
    dealsCard.classList.toggle('is-disabled',!dealsEnabled);
    liveCard.classList.toggle('is-disabled',!liveEnabled);
    if(!dealsEnabled){dealsInput.value=0;dealsRange.value=0;updateSliderFill(dealsRange)}
    if(!liveEnabled){liveInput.value=0;liveRange.value=0;updateSliderFill(liveRange)}
  }

  function selectCountry(code,closeAfter){
    state.country=code;const c=CTRY[code]||CTRY.pt;
    cImg.src=`https://flagcdn.com/w20/${code}.png`;cImg.srcset=`https://flagcdn.com/w40/${code}.png 2x`;
    cName.textContent=c.name;[...cList.children].forEach(li=>li.setAttribute('aria-selected',li.dataset.code===code?'true':'false'));
    countryNative.value=code;
    applyAutoRPM();
    if(!state.currencyOverridden) selectCurrency(c.cur,false,false);
    if(closeAfter) openList(cBtn,cList,false);
    calc();
  }
  function selectCurrency(val,closeAfter,markOverride){
    state.currency=val;if(markOverride) state.currencyOverridden=true;
    curName.textContent=val;[...curList.children].forEach(li=>li.setAttribute('aria-selected',li.dataset.val===val?'true':'false'));
    currencyNative.value=val;
    if(closeAfter) openList(curBtn,curList,false);
    calc();
  }
  function selectCategory(key,closeAfter){
    state.category=key;const cfg=CATEGORIES[key]||CATEGORIES.ugc;
    catSelected.textContent=cfg.label;
    [...catList.children].forEach(li=>li.setAttribute('aria-selected',li.dataset.val===key?'true':'false'));
    catNative.value=key;
    applyAutoRPM();
    if(closeAfter) openList(catBtn,catList,false);
    calc();
  }

  const PAYMENT_FEE_PCT=3;
  function calc(){
    const c=CTRY[state.country]||CTRY.pt,k=CATEGORIES[state.category]||CATEGORIES.ugc;
    const views=+viewsRange.value||0,rpm=Math.max(0,+rpmInput.value||0);
    const fx=rate(c.cur,state.currency);

    const creator=(views/1000)*rpm;
    const dealsCount=clampInt(dealsInput,0,10);
    const livesCount=clampInt(liveInput,0,30);

    const gross=creator + (dealsCount*(c.deal*k.dealF)) + (livesCount*(c.live*k.liveF));
    const tax=gross*(c.tax/100);
    const pay=gross*(PAYMENT_FEE_PCT/100);
    const fix=fixedCostsInCountry(views,c.cur);

    const net=Math.max(0,gross-tax-pay-fix);
    const effRpm=views>0?(net/views)*1000:0;

    grossEl.textContent=fmt(gross*fx,state.currency);
    netEl.textContent=fmt(net*fx,state.currency);
    taxEl.textContent='-'+fmt(tax*fx,state.currency);
    payEl.textContent='-'+fmt(pay*fx,state.currency);
    costEl.textContent='-'+fmt(fix*fx,state.currency);

    grossSub.textContent=`Criador: ${fmt(creator*fx,state.currency)} · Deduções: ${fmt((tax+pay+fix)*fx,state.currency)}`;
    netSub.textContent=`RPM efetivo: ${(effRpm*fx).toFixed(2)} / 1k`;
  }

  viewsRange.addEventListener('input',()=>{viewsLabel.textContent=fmtIntPT(+viewsRange.value||0);updateSliderFill(viewsRange);calc()});
  rpmInput.addEventListener('input',()=>{let v=Math.max(0,Math.min(20,+rpmInput.value||0));rpmInput.value=v.toFixed(2);rpmRange.value=Math.min(+rpmRange.max,v);updateSliderFill(rpmRange);calc()});
  rpmRange.addEventListener('input',()=>{rpmInput.value=(+rpmRange.value||0).toFixed(2);updateSliderFill(rpmRange);calc()});
  modeSel.addEventListener('change',()=>{applyModeUI();calc()});
  dealsInput.addEventListener('input',()=>{dealsRange.value=clampInt(dealsInput,0,10);updateSliderFill(dealsRange);calc()});
  dealsRange.addEventListener('input',()=>{dealsInput.value=clampInt(dealsRange,0,10);updateSliderFill(dealsRange);calc()});
  liveInput.addEventListener('input',()=>{liveRange.value=clampInt(liveInput,0,30);updateSliderFill(liveRange);calc()});
  liveRange.addEventListener('input',()=>{liveInput.value=clampInt(liveRange,0,30);updateSliderFill(liveRange);calc()});

  countryNative.addEventListener('change',()=>selectCountry(countryNative.value,false));
  currencyNative.addEventListener('change',()=>selectCurrency(currencyNative.value,false,true));
  catNative.addEventListener('change',()=>selectCategory(catNative.value,false));

  buildCountryList();buildCurrencyList();buildCategoryList();

  state.currencyOverridden=false;
  selectCategory('ugc',false);
  selectCountry('pt',false);
  selectCurrency('EUR',false,false);

  viewsLabel.textContent=fmtIntPT(+viewsRange.value||0);
  updateSliderFill(viewsRange);updateSliderFill(rpmRange);updateSliderFill(dealsRange);updateSliderFill(liveRange);

  applyModeUI();calc();
})();
</script>
</div>
<div class="tool-char">
<!-- ME: DESKTOP MAIN IMAGE--><br />
<img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-earnings-calculator-tool.png" alt="Calculadora Ganhos TikTok" width="396" height="538" class="alignnone size-full" title="Calculadora de Ganhos TikTok: Lucro mensal 65"></div>
</div>
<p><!-- ME: TOOL FOOTER BULLETPOINTS--><div class="tool-footer">
<ul><li>Seja sincero: esta calculadora é genial</li><li>Adaptada ao vosso feedback</li><li>De criadores para criadores</li></ul>
</div>
</div>
<p><!-- ME: MAIN OPTIN -->
<p><!-- ME: INFO HEADER IMG ALT --></p>
<div class="tool-information-header"><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-tool-explanation.png" alt="Tiktok Tool Erklärung" width="432" height="310" class="alignnone size-full" title="Calculadora de Ganhos TikTok: Lucro mensal 66"></p>
<p><!-- ME: H2 Einleitung --></p>
<h2>A Calculadora de Ganhos do TikTok explicada em detalhe</h2>
</div>
<div class="tool-information"><div class="su-tabs su-tabs-style-default su-tabs-mobile-stack" data-active="1" data-scroll-offset="0" data-anchor-in-url="no"><div class="su-tabs-nav"><span class="" data-url="" data-target="blank" tabindex="0" role="button">Detalhes da calculadora</span><span class="" data-url="" data-target="blank" tabindex="0" role="button">Mais informações</span></div><div class="su-tabs-panes"><div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Detalhes da calculadora">
<p><!------------------------- PART 1 SECTION START -------------------------></p>
<h3>Informações sobre a Calculadora Ganhos TikTok:</h3>
<p><strong>A <b>Calculadora Ganhos TikTok</b> permite calcular o teu <b>lucro mensal (líquido)</b> com base nas visualizações (RPM), país e categoria de conteúdo, incluindo monetização adicional como <b>brand deals</b> e <b>livestreams</b>. Para além da receita, são considerados <b>impostos</b>, <b>taxas de pagamento</b> (por exemplo, PayPal) e <b>custos fixos</b>, para obteres um valor mensal realista.</strong></p>
<p>Muitos criadores em Portugal pesquisam “Quanto dinheiro se ganha com o TikTok por mês?” — o problema é que a maioria das respostas apresenta apenas intervalos vagos. A <b>Calculadora Ganhos TikTok</b> acima torna tudo concreto: escolhes Portugal como país, defines a moeda em euros, selecionas a categoria de conteúdo e introduces as tuas visualizações mensais. Opcionalmente, podes adicionar brand deals e livestreams e ver exatamente quanto ganhas em <b>bruto</b> e quanto sobra em <b>líquido</b>.</p>
<div id="ez-toc-container" class="ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title" style="cursor:inherit">Table of contents:</p>
<span class="ez-toc-title-toggle"></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#A_Calculadora_de_Ganhos_do_TikTok_explicada_em_detalhe">A Calculadora de Ganhos do TikTok explicada em detalhe</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#Quanto_se_ganha_com_o_TikTok_por_mes_em_Portugal_Exemplo_realista">Quanto se ganha com o TikTok por mês em Portugal? (Exemplo realista)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#Ganhos_no_TikTok_por_1000000_de_visualizacoes_%E2%80%93_Portugal">Ganhos no TikTok por 1.000.000 de visualizações – Portugal</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#Quanto_ganham_realmente_os_influenciadores_do_TikTok_uma_analise_realista">Quanto ganham realmente os influenciadores do TikTok? (uma análise realista)</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#RPM_do_TikTok_por_pais_porque_Portugal_fica_atras_de_outros_mercados">RPM do TikTok por país: porque Portugal fica atrás de outros mercados</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#Categorias_do_TikTok_que_nicho_funciona_melhor_em_Portugal">Categorias do TikTok: que nicho funciona melhor em Portugal?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-7" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#Brand_deals_por_mes_a_principal_alavanca_em_Portugal">Brand deals por mês: a principal alavanca em Portugal</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#Livestreams_por_mes_complemento_nao_base">Livestreams por mês: complemento, não base</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#Comparacao_mensal_so_visualizacoes_vs_monetizacao_completa">Comparação mensal: só visualizações vs. monetização completa</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#O_sistema_de_ganhos_do_TikTok_explicado_em_detalhe">O sistema de ganhos do TikTok explicado em detalhe</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-11" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#Quantos_seguidores_sao_necessarios_para_ganhar_dinheiro_no_TikTok">Quantos seguidores são necessários para ganhar dinheiro no TikTok?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-12" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#E_possivel_viver_do_TikTok_em_Portugal">É possível viver do TikTok em Portugal?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-13" href="https://creator-cash.com/pt-pt/tiktok/calculadora-ganhos-tiktok/#Perguntas_frequentes_sobre_ganhos_mensais_no_TikTok">Perguntas frequentes sobre ganhos mensais no TikTok</a></li></ul></nav></div>

<h2 class="trenner checkbox">Quanto se ganha com o TikTok por mês em Portugal? (Exemplo realista)</h2>
<p><strong>Exemplo (Portugal · EUR · UGC/Entretenimento): com <b>2.000.000 de visualizações</b>, um <b>RPM médio de 0,95 €</b>, <b>2 brand deals</b> e <b>3 livestreams</b>, obtém-se um <span class="positive">lucro líquido estimado de 1.670,25 €</span> por mês. A receita bruta ronda os <b>2.530,00 €</b> — após impostos, taxas de pagamento e custos fixos, fica um valor mensal realista.</strong></p>
<p>A <b>Calculadora Ganhos TikTok</b> divide os teus rendimentos mensais em vários blocos. O principal é o rendimento por visualizações via RPM (ganhos por cada 1.000 visualizações), que em Portugal é geralmente inferior ao de mercados como Alemanha ou EUA. A seguir, entram as receitas adicionais: brand deals e livestreams. No final, são aplicadas deduções realistas para que vejas o <b>lucro mensal real</b>, e não apenas faturação.</p>
<div class="beispielbox">
<span class="box-headline">Exemplo de cálculo (Portugal):</span></p>
<ul>
<li><b>Ganhos por visualizações:</b> 2.000.000 / 1.000 × 0,95 € = <b>1.900,00 €</b></li>
<li><b>Brand deals:</b> 2 × 300 € = <b>600,00 €</b></li>
<li><b>Livestreams:</b> 3 × 10 € = <b>30,00 €</b></li>
<li><b>Receita bruta estimada:</b> 1.900,00 € + 600,00 € + 30,00 € = <b>2.530,00 €</b></li>
<li><b>Deduções:</b> Impostos (~25 %) = <span class="negative">− 632,50 €</span>, Taxas de pagamento (~3 %) = <span class="negative">− 75,90 €</span>, Custos fixos = <span class="negative">− 151,35 €</span></li>
<li><b>Lucro líquido estimado:</b> <b class="positive">1.670,25 €</b></li>
</ul>
</div>
<h3>Quais os fatores que mais influenciam o lucro mensal no TikTok em Portugal?</h3>
<p><strong>Segundo a <b>Calculadora Ganhos TikTok</b>, os fatores mais relevantes para o lucro mensal são: <b>RPM (país)</b>, <b>categoria de conteúdo</b> e utilização de <b>brand deals</b>. Em Portugal, confiar apenas nas visualizações raramente é suficiente para gerar rendimentos consistentes.</strong></p>
<ul class="advantage">
<li><b>País:</b> Portugal tem RPMs mais baixos do que mercados premium.</li>
<li><b>Categoria:</b> Business/Finance tende a pagar melhor do que Entretenimento ou Gaming.</li>
<li><b>Brand deals:</b> 1–2 parcerias podem valer mais do que centenas de milhares de views.</li>
<li><b>Deduções:</b> Impostos, taxas e custos fixos determinam o valor líquido final.</li>
</ul>
<h2 class="checkbox">Ganhos no TikTok por 1.000.000 de visualizações – Portugal</h2>
<p><strong>Com <b>1.000.000 de visualizações por mês</b>, os ganhos em Portugal variam sobretudo pela categoria. Em UGC/Entretenimento, são realistas cerca de <b>950 € brutos</b>, dos quais ficam aproximadamente <span class="positive">~650 € líquidos</span>. Categorias com maior valor comercial podem gerar valores líquidos mais elevados.</strong></p>
<p>A tabela seguinte baseia-se em RPMs típicos do mercado português e segue a lógica da <b>Calculadora Ganhos TikTok</b>, incluindo deduções realistas (impostos, taxas de pagamento e custos fixos). Suposição: <b>1.000.000 de visualizações</b>, <b>sem brand deals</b>, <b>sem livestreams</b>.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>País</td>
<td>Categoria</td>
<td>RPM (€ / 1.000)</td>
<td>Receita bruta (€)</td>
<td><b>Lucro líquido (€)</b></td>
</tr>
<tr>
<td>Portugal</td>
<td>UGC / Entretenimento</td>
<td>0,95 €</td>
<td>950 €</td>
<td class="positive">~650 €</td>
</tr>
<tr>
<td>Portugal</td>
<td>Gaming</td>
<td>0,88 €</td>
<td>880 €</td>
<td class="positive">~600 €</td>
</tr>
<tr>
<td>Portugal</td>
<td>Business / Finance</td>
<td>1,15 €</td>
<td>1.150 €</td>
<td class="positive">~800 €</td>
</tr>
</table>
</div>
</div>
<div class="infobox">
<strong>Conclusão:</strong> Em Portugal, a <b>Calculadora Ganhos TikTok</b> mostra claramente que a escolha da categoria e a monetização por parcerias são decisivas para aumentar o rendimento líquido mensal.
</div>
<h2 class="trenner checkbox">Quanto ganham realmente os influenciadores do TikTok? (uma análise realista)</h2>
<p><strong>A perceção pública sobre os rendimentos no TikTok está fortemente distorcida. Muitos assumem que a maioria dos criadores gera receitas anuais de cinco ou até seis dígitos. A realidade é bastante mais moderada — e o gráfico incorporado demonstra isso de forma clara.</strong></p>
<p>Uma grande parte dos influenciadores do TikTok ganha <b>menos de 15.000 dólares por ano</b>. Isto significa que, para a maioria, o TikTok continua a ser um projeto paralelo ou uma fonte de rendimento extra irregular. Apenas uma pequena percentagem de criadores atinge de forma consistente níveis de rendimento comparáveis a um emprego a tempo inteiro.</p>
<p>O mais interessante não é apenas a distribuição, mas as razões por detrás dela. Rendimentos elevados raramente resultam apenas das visualizações ou do programa de criadores. Os criadores nos escalões de rendimento mais altos quase sempre combinam várias fontes de monetização: <b>parcerias com marcas, programas de afiliados e produtos ou serviços próprios</b>. As visualizações funcionam mais como uma porta de entrada do que como a verdadeira fonte de receita.</p>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-earnings-per-month.jpg" alt="Tiktok Earnings per Month" width="763" height="567" class="aligncenter size-full wp-image-889" title="Calculadora de Ganhos TikTok: Lucro mensal 67" srcset="https://creator-cash.com/wp-content/uploads/2026/01/tiktok-earnings-per-month.jpg 763w, https://creator-cash.com/wp-content/uploads/2026/01/tiktok-earnings-per-month-300x223.jpg 300w" sizes="(max-width: 763px) 100vw, 763px" /><span class="disclaimer">Fonte: <a href="https://explodingtopics.com/blog/tiktok-earning-stats" target="_blank" rel="noopener">TikTok Earning Stats Exploding Topics</a></span></p>
<p>É exatamente aqui que entra o <b>Calculador de Ganhos do TikTok</b>. Em vez de apresentar médias irrealistas, ajuda-te a perceber onde te encontras de forma realista e quais os ajustes necessários para subir para o próximo escalão de rendimento. A diferença entre “menos de 15.000 € por ano” e “3.000 € líquidos por mês” quase nunca está no talento, mas sim na estrutura e na estratégia de monetização.</p>
<div class="infobox">
<strong>Enquadramento:</strong> Se queres ganhar dinheiro com o TikTok a longo prazo, é mais importante compreender <b>porque é que a maioria dos criadores ganha pouco</b> do que focar-te nos poucos casos de sucesso extremo. Rendimentos sustentáveis constroem-se com modelos mensais previsíveis — não com sucessos virais ocasionais.
</div>
<p><!------------------------- PART 1 SECTION ENDE -------------------------><br />
<!------------------------- PART 2 SECTION START -------------------------></p>
<h3>Porque é que os ganhos no TikTok variam tanto em Portugal?</h3>
<p><strong>Porque os ganhos no TikTok não são “fixos”. Em Portugal, o lucro mensal depende sobretudo do <b>RPM (país)</b>, da <b>categoria de conteúdo</b>, do <b>mix de monetização</b> (visualizações, brand deals e livestreams) e das <b>deduções reais</b>. A <b>Calculadora Ganhos TikTok</b> mostra claramente que dois criadores com o mesmo número de visualizações podem acabar com diferenças significativas no valor líquido.</strong></p>
<p>Muitos criadores comparam apenas as visualizações — esse é o erro clássico. Em Portugal, onde o RPM é mais baixo do que em mercados como Alemanha ou EUA, fatores como categoria, parcerias e controlo de custos tornam-se ainda mais decisivos. A <b>Calculadora Ganhos TikTok</b> reflete esta realidade em vez de apresentar valores de faturação irrealistas.</p>
<div class="infobox">
<strong>Nota:</strong> Ao analisar “ganhos mensais no TikTok”, deves olhar sempre para o <b>valor líquido</b>. A <b>Calculadora Ganhos TikTok</b> baseia-se em números líquidos, não apenas em receitas brutas.
</div>
<h2 class="trenner checkbox">RPM do TikTok por país: porque Portugal fica atrás de outros mercados</h2>
<p><strong>O RPM (ganhos por 1.000 visualizações) varia bastante de país para país. As principais razões são a dimensão do mercado publicitário, o poder de compra e a procura dos anunciantes. Em Portugal, o RPM é estruturalmente mais baixo, o que torna a monetização adicional ainda mais importante.</strong></p>
<p>Na <b>Calculadora Ganhos TikTok</b>, podes selecionar Portugal como país e ver imediatamente como pequenas alterações no RPM afetam o teu lucro mensal. Importante: o RPM não é um valor garantido, mas sim uma média realista.</p>
<h3>Comparação por país: RPM e lucro mensal por 1.000.000 de visualizações</h3>
<p><strong>A tabela seguinte segue o modelo da <b>Calculadora Ganhos TikTok</b>. Suposição: <b>1.000.000 de visualizações por mês</b>, sem brand deals, sem livestreams e com deduções realistas.</strong></p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>País</td>
<td>Categoria de exemplo</td>
<td>RPM (€ / 1.000)</td>
<td>Receita bruta (€)</td>
<td><b>Lucro líquido (€)</b></td>
</tr>
<tr>
<td>Portugal</td>
<td>UGC / Entretenimento</td>
<td>0,95 €</td>
<td>950 €</td>
<td class="positive">~650 €</td>
</tr>
<tr>
<td>Alemanha</td>
<td>UGC / Entretenimento</td>
<td>1,40 €</td>
<td>1.400 €</td>
<td class="positive">~950 €</td>
</tr>
<tr>
<td>EUA</td>
<td>UGC / Entretenimento</td>
<td>1,80 €</td>
<td>1.800 €</td>
<td class="positive">~1.300 €</td>
</tr>
</table>
</div>
</div>
<h2 class="trenner checkbox">Categorias do TikTok: que nicho funciona melhor em Portugal?</h2>
<p><strong>Em Portugal, a escolha da categoria é um dos fatores mais relevantes para o rendimento. A <b>Calculadora Ganhos TikTok</b> mostra que nichos com maior valor comercial (como <b>Business / Finance</b>) conseguem compensar RPMs mais baixos.</strong></p>
<p>Criadores que otimizam apenas para alcance tendem a estagnar mais cedo. Quem combina entretenimento com utilidade ou intenção de compra aumenta claramente o valor por visualização.</p>
<div class="beispielbox">
<span class="box-headline">Exemplo (1.000.000 de visualizações · Portugal):</span></p>
<ul>
<li>UGC / Entretenimento: RPM 0,95 € → Bruto 950 € → Líquido ~ <span class="positive">650 €</span></li>
<li>Gaming: RPM 0,88 € → Bruto 880 € → Líquido ~ <span class="positive">600 €</span></li>
<li>Business / Finance: RPM 1,15 € → Bruto 1.150 € → Líquido ~ <span class="positive">800 €</span></li>
</ul>
</div>
<h2 class="trenner checkbox">Brand deals por mês: a principal alavanca em Portugal</h2>
<p><strong>A <b>Calculadora Ganhos TikTok</b> deixa claro que os <b>brand deals</b> são o verdadeiro motor de rendimento para criadores portugueses. O ponto-chave é criar um modelo repetível: <b>número de parcerias × valor médio = receita mensal adicional</b>.</strong></p>
<p>Mesmo no mercado português, onde os valores são mais baixos do que nos EUA, 1–2 parcerias por mês podem duplicar o lucro líquido em comparação com ganhos apenas por visualizações.</p>
<h3>Tabela de referência: valores típicos de brand deals em Portugal</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead" style="width:100%;border-collapse:collapse">
<tr>
<td>Nível do criador</td>
<td>Visualizações médias por vídeo</td>
<td>Tipo de colaboração</td>
<td><b>Valor médio por deal</b></td>
</tr>
<tr>
<td>Pequeno</td>
<td>10k – 50k</td>
<td>UGC / 1 publicação</td>
<td class="positive">150 – 300 €</td>
</tr>
<tr>
<td>Médio</td>
<td>50k – 250k</td>
<td>2 publicações + direitos de uso</td>
<td class="positive">300 – 800 €</td>
</tr>
<tr>
<td>Grande</td>
<td>250k – 1M+</td>
<td>Campanhas</td>
<td class="positive">800 – 3.000 €+</td>
</tr>
</table>
</div>
</div>
<div class="infobox">
<strong>Dica:</strong> Segundo a <b>Calculadora Ganhos TikTok</b>, um único brand deal pode valer o equivalente a mais de 1 milhão de visualizações.
</div>
<h2 class="trenner checkbox">Livestreams por mês: complemento, não base</h2>
<p><strong>Os livestreams funcionam sobretudo como complemento. A <b>Calculadora Ganhos TikTok</b> trata este valor como uma média conservadora, pois os ganhos variam bastante consoante a comunidade.</strong></p>
<p>Para a maioria dos criadores portugueses, os livestreams estabilizam o rendimento mensal, mas raramente substituem os brand deals.</p>
<div class="beispielbox">
<span class="box-headline">Exemplo:</span></p>
<ul>
<li>Ganho médio por livestream: <b>10 €</b></li>
<li>4 livestreams / mês: <b class="positive">40 €</b> adicionais</li>
<li>8 livestreams / mês: <b class="positive">80 €</b> adicionais</li>
</ul>
</div>
<h2 class="trenner checkbox">Comparação mensal: só visualizações vs. monetização completa</h2>
<p><strong>A <b>Calculadora Ganhos TikTok</b> mostra claramente a diferença entre depender apenas das visualizações e usar uma estratégia completa de monetização.</strong></p>
<p><b>Suposição:</b> 1.000.000 de visualizações · Portugal · UGC/Entretenimento.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Cenário</td>
<td>Receita bruta (€)</td>
<td><b>Lucro líquido (€)</b></td>
</tr>
<tr>
<td>Apenas visualizações</td>
<td>950 €</td>
<td class="positive">~650 €</td>
</tr>
<tr>
<td>+ 2 brand deals</td>
<td>1.550 €</td>
<td class="positive">~1.050 €</td>
</tr>
<tr>
<td>+ 3 brand deals</td>
<td>1.850 €</td>
<td class="positive">~1.300 €</td>
</tr>
<tr>
<td>Brand deals + livestreams</td>
<td>1.930 €</td>
<td class="positive">~1.360 €</td>
</tr>
</table>
</div>
</div>
<div class="infobox">
<strong>Conclusão:</strong> Em Portugal, a <b>Calculadora Ganhos TikTok</b> confirma que a estrutura de monetização é mais importante do que o volume de visualizações.
</div>
<p><!------------------------- PART 2 SECTION ENDE -------------------------><br />
<!------------------------- PART 3 SECTION START -------------------------></p>
<h2 class=" trenner checkbox">O sistema de ganhos do TikTok explicado em detalhe</h2>
<p><strong>O lucro mensal no TikTok constrói-se em várias etapas: visualizações → RPM → monetização adicional → deduções → valor líquido. Muitos criadores em Portugal olham apenas para as visualizações e ignoram o impacto real de impostos, taxas e estratégia de monetização no ganho mensal.</strong></p>
<p>A <b>Calculadora Ganhos TikTok</b> representa exatamente este sistema. Distingue claramente entre <b>receita bruta</b> e <b>lucro líquido</b> e mostra de forma transparente quais os fatores que podes controlar ativamente. Por isso, não serve apenas para curiosidade (“e se…?”), mas também para planeamento mensal realista.</p>
<h3>Quem fica com que parte dos teus ganhos no TikTok?</h3>
<p><strong>Dos teus ganhos brutos mensais são deduzidos vários custos: impostos, taxas de pagamento (por exemplo, PayPal) e custos fixos recorrentes. Em Portugal, estes fatores têm um impacto relevante, sobretudo para criadores independentes.</strong></p>
<p>Muitas calculadoras online ignoram completamente esta camada. O resultado é que os criadores acabam por sobrestimar os seus ganhos. A <b>Calculadora Ganhos TikTok</b> foca-se no valor líquido — o único que realmente importa.</p>
<div class="beispielbox">
<span class="box-headline">Deduções mensais típicas em Portugal:</span></p>
<ul>
<li><b>Impostos:</b> ~23–25 % (estimativa média)</li>
<li><b>Taxas de pagamento:</b> ~2–3 %</li>
<li><b>Custos fixos:</b> ferramentas, software, equipamento, internet</li>
</ul>
</div>
<h3 class="trenner checkbox">Quanto sobra em líquido? (exemplos mensais realistas)</h3>
<p><strong>O mais importante não é quanto faturas, mas quanto fica no final do mês. Os exemplos seguintes baseiam-se no modelo da <b>Calculadora Ganhos TikTok</b> e refletem cenários realistas para Portugal.</strong></p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Receita bruta / mês</td>
<td>Impostos &#038; taxas</td>
<td><b>Lucro líquido</b></td>
</tr>
<tr>
<td>950 €</td>
<td class="negative">~300 €</td>
<td class="positive">~650 €</td>
</tr>
<tr>
<td>1.850 €</td>
<td class="negative">~550 €</td>
<td class="positive">~1.300 €</td>
</tr>
<tr>
<td>2.530 €</td>
<td class="negative">~860 €</td>
<td class="positive">~1.670 €</td>
</tr>
</table>
</div>
</div>
<h3 class="trenner checkbox">A partir de quando o TikTok compensa financeiramente?</h3>
<p><strong>O TikTok começa a compensar quando o lucro mensal justifica claramente o tempo investido. Muitos criadores cometem o erro de comparar apenas receitas, ignorando o seu ganho por hora.</strong></p>
<p>A <b>Calculadora Ganhos TikTok</b> ajuda exatamente aqui: permite relacionar o tempo investido com o lucro mensal e perceber se o TikTok é um hobby, um rendimento extra ou um negócio sério.</p>
<div class="beispielbox">
<span class="box-headline">Exemplo (tempo vs. lucro em Portugal):</span></p>
<ul>
<li>25 horas / mês → 650 € líquidos → ~26 €/h</li>
<li>40 horas / mês → 1.300 € líquidos → ~32 €/h</li>
<li>70 horas / mês → 1.670 € líquidos → ~24 €/h</li>
</ul>
</div>
<h2 class="trenner checkbox">Quantos seguidores são necessários para ganhar dinheiro no TikTok?</h2>
<p><strong>Os seguidores não são o fator decisivo. O que realmente conta são as <b>visualizações</b>, a <b>qualidade da audiência</b> e a <b>monetização</b>. Contas pequenas e bem posicionadas podem ganhar mais do que contas grandes sem estratégia.</strong></p>
<p>Para as marcas, os seguidores funcionam sobretudo como um sinal de confiança. Para o rendimento mensal, o que importa é o desempenho real — por isso a <b>Calculadora Ganhos TikTok</b> baseia-se em visualizações e não em seguidores.</p>
<h3>Porque é que os seguidores são sobrevalorizados</h3>
<ul class="advantage">
<li>As visualizações determinam os ganhos por RPM</li>
<li>Brand deals baseiam-se em performance, não em métricas de vaidade</li>
<li>Nichos específicos convertem melhor no mercado português</li>
</ul>
<h2 class="trenner checkbox">É possível viver do TikTok em Portugal?</h2>
<p><strong>Sim — mas apenas com uma estratégia clara de monetização. Os ganhos apenas por visualizações raramente são suficientes. A combinação de visualizações, brand deals e, em alguns casos, livestreams torna o TikTok sustentável a longo prazo.</strong></p>
<p>A <b>Calculadora Ganhos TikTok</b> mostra quais combinações são realistas. Em vez de afirmações genéricas (“o TikTok paga mal”), tens números concretos como referência.</p>
<h3>Exemplo: 1.500 € líquidos por mês — cenário realista</h3>
<div class="beispielbox">
<span class="box-headline">Combinação possível:</span></p>
<ul>
<li>1,5–2 milhões de visualizações / mês</li>
<li>2–3 brand deals (300–400 € cada)</li>
<li>Livestreams ocasionais como complemento</li>
</ul>
</div>
<h2 class="trenner checkbox">Perguntas frequentes sobre ganhos mensais no TikTok</h2>
<h3>Quanto paga o TikTok por 1.000 visualizações em Portugal?</h3>
<p>O RPM em Portugal situa-se geralmente entre <b>0,85 € e 1,15 €</b>, dependendo da categoria e da audiência.</p>
<h3>Os ganhos no TikTok são estáveis?</h3>
<p>Os ganhos baseados em visualizações variam bastante. Os brand deals trazem estabilidade e previsibilidade mensal.</p>
<h3>É possível planear ganhos no TikTok?</h3>
<p>Sim, se encares o TikTok como um negócio. A <b>Calculadora Ganhos TikTok</b> permite simular cenários e definir objetivos mensais realistas.</p>
<div class="infobox">
<strong>Conclusão:</strong> Em Portugal, ganhar dinheiro com o TikTok não é sorte nem viralidade. Quem conhece os seus números, contabiliza deduções honestamente e estrutura a monetização pode transformar o TikTok numa fonte de rendimento mensal sustentável.
</div>
<p><!------------------------- PART 3 SECTION ENDE -------------------------></p>
<p><!-- ME: FOOTER OPTIN --><div class="optin-box tiktok-optin">
<h3>Ganhar dinheiro no Tiktok? Comece hoje mesmo:</h3>
Faça o download gratuito do nosso e-book.
</div>
<!-- ME: MORE INFO TRANSLATION --></div>
<div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Mais informações">
Informações sobre esta ferramenta:
<ul class="post-info">
<li><strong>Nome:</strong> Calculadora de Ganhos TikTok: Lucro mensal</li>
<li><strong>Descrição:</strong> Calculadora Ganhos TikTok: por 1.000 visualizações, o Creator Program paga cerca de 0,70–2,00 €, variando por região e engajamento.</li>
</ul>

<ul class="post-info">
<li><strong>Autor:</strong> Kevin</li>
<li><strong>Publicado:</strong> 9 de Janeiro, 2026</li>
<li><strong>Última atualização:</strong> 13.01.2026</li>
<li><strong>Categoria:</strong> Tiktok</li>
<li><strong>Tempo de leitura:</strong> 12 min.</li>
</ul>


<strong>Sobre o autor:</strong>

<div class="author-box">
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/kevin-founder-of-creator-cash.png" alt="kevin founder of creator cash" width="90" height="90" class="size-full wp-image-234" title="Calculadora de Ganhos TikTok: Lucro mensal 68"><strong>Kevin - Fundador da Creator Cash</strong>
Kevin é um criador de conteúdo experiente e especialista em SEO com foco na economia criativa, monetização de redes sociais e fontes de receita digital. Ele analisa plataformas como TikTok, Twitch e YouTube em detalhes e partilha cálculos, dados e estratégias práticas. Com a sua experiência em marketing e consultoria criativa, ele transmite conhecimentos sólidos com claro valor acrescentado para criadores e marcas.</div>

<div class="share-box">
<strong>Partilhar esta publicação:</strong><br>
<div class="share-box"> 
  <div class="share-row">
    <input class="share-input" type="text" value="" placeholder="https://…" readonly>
    <button class="share-copy" type="button" aria-label="Copy link" title="Copy link">
      <span class="ico ico-copy" aria-hidden="true">
        <!-- Dein SVG -->
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="8" y="8" width="12" height="12" rx="2" ry="2"></rect>
          <path d="M4 16V6a2 2 0 0 1 2-2h10"></path>
        </svg>
      </span>
      <span class="ico ico-check" aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
          <path d="M20 6 L9 17 L4 12"></path>
        </svg>
      </span>
    </button>
  </div>

  <div class="share-links">
    <a class="share-btn share-x"      href="#" target="_blank" rel="noopener nofollow" aria-label="Share on X"        title="X"></a>
    <a class="share-btn share-fb"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Facebook" title="Facebook"></a>
    <a class="share-btn share-li"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on LinkedIn" title="LinkedIn"></a>
    <a class="share-btn share-reddit" href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Reddit"   title="Reddit"></a>
    <a class="share-btn share-wa"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on WhatsApp" title="WhatsApp"></a>
    <a class="share-btn share-tg"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Telegram" title="Telegram"></a>
  </div>
</div>

<style id="share-box-css">
.share-box{border:1px solid #eee;border-radius:12px;padding:12px 14px}
.share-links a{padding:5px 8px!important}
.share-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.share-input{flex:1;padding:10px;border:1px solid #e5e5e5;border-radius:10px;background:#f7f7f7}
.share-copy{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:40px;border:0;border-radius:10px;background:#54FFA7;color:#000;cursor:pointer}
.share-copy svg{width:22px;height:22px;display:block}
.share-copy .ico-check{display:none}
.share-copy.ok .ico-copy{display:none}
.share-copy.ok .ico-check{display:block}

.share-links{display:flex;flex-wrap:wrap;gap:8px}
.share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid #eaeaea;border-radius:10px;background:#B9FFD8;color:#111;text-decoration:none;position:relative}
.share-btn::before{content:"";display:block;width:18px;height:18px;mask-size:contain;mask-repeat:no-repeat;background:currentColor}

/* Platform Icons */
.share-x::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 3h3l6 7 6-7h3l-7.5 8.5L21 21h-3l-6-7-6 7H3l8.5-9.5z'/></svg>")}
.share-fb::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M13 22v-9h3l1-4h-4V7a1 1 0 0 1 1-1h3V2h-3a5 5 0 0 0-5 5v3H6v4h3v9z'/></svg>")}
.share-li::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM4 8h4v12H4zM14.5 8A4.5 4.5 0 0 1 19 12.5V20h-4v-6a2 2 0 1 0-4 0v6H7v-12h4v1.6A4.49 4.49 0 0 1 14.5 8z'/></svg>")}
.share-reddit::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 12c0 4.4-4.5 8-9 8s-9-3.6-9-8 4.5-8 9-8c2.1 0 4 .6 5.5 1.7l1.6-1.6L20 5l-2.5.7A7 7 0 0 1 21 12z'/></svg>")}
.share-wa::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 12a8 8 0 0 1-12.3 6.7L4 20l1.3-3.6A8 8 0 1 1 20 12z'/></svg>")}
.share-tg::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 4 3 12l6.3 2.1L18 7l-7.3 8.1V20l3-2.6L18.8 21z'/></svg>")}
</style>

<script>
(function(){
  document.querySelectorAll('.share-box').forEach(function(box){
    if (box.dataset.bound) return; box.dataset.bound = "1";

    var url   = window.location.href.split('#')[0];
    var title = document.title || '';
    var uEnc  = encodeURIComponent(url);
    var tEnc  = encodeURIComponent(title);

    var input = box.querySelector('.share-input');
    if (input) input.value = url;

    var map = {
      '.share-x'     : 'https://twitter.com/intent/tweet?url='+uEnc+'&text='+tEnc,
      '.share-fb'    : 'https://www.facebook.com/sharer/sharer.php?u='+uEnc,
      '.share-li'    : 'https://www.linkedin.com/sharing/share-offsite/?url='+uEnc,
      '.share-reddit': 'https://www.reddit.com/submit?url='+uEnc+'&title='+tEnc,
      '.share-wa'    : 'https://wa.me/?text='+tEnc+'%20'+uEnc,
      '.share-tg'    : 'https://t.me/share/url?url='+uEnc+'&text='+tEnc
    };
    Object.keys(map).forEach(function(sel){
      var a = box.querySelector(sel); if(a) a.href = map[sel];
    });

    var copy = box.querySelector('.share-copy');
    if (copy && input) {
      copy.addEventListener('click', async function(){
        try { await navigator.clipboard.writeText(input.value); copy.classList.add('ok'); } catch(e){}
        setTimeout(function(){ copy.classList.remove('ok'); }, 1200);
      });
    }
  });
})();
</script>

</div>
</div></div></div>
</p></div>

</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Calculadora Moedas TikTok: Converta moedas em Euros</title>
		<link>https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/</link>
		
		<dc:creator><![CDATA[Kevin]]></dc:creator>
		<pubDate>Fri, 24 Oct 2025 20:07:56 +0000</pubDate>
				<category><![CDATA[Tiktok]]></category>
		<guid isPermaLink="false">https://creator-cash.com/?p=579</guid>

					<description><![CDATA[Calculadora Moedas TikTok: Converta moedas em Euros Quanto valem 1.000 TikTok Coins? A calculadora moedas TikTok mostra quanto recebes de verdade: 10,74 € bruto ≈ 2,80 € líquido para criadores. Calculadora TikTok Todas as ferramentas Calculadora Moedas TikTok Converta moedas em Euros A calculadora de moedas Tiktok explicada em detalhe]]></description>
										<content:encoded><![CDATA[<div class="tool-post tiktok">
<div class="page-header">
<div class="page-header-image">
<p><!-- ME: OG IMAGE--><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/calculadora-moedas-tiktok.jpg" alt="Calculadora moedas Tiktok" width="1200" height="1200" class="alignnone size-full wp-image-589" title="Calculadora Moedas TikTok: Converta moedas em Euros 94" srcset="https://creator-cash.com/wp-content/uploads/2025/10/calculadora-moedas-tiktok.jpg 1200w, https://creator-cash.com/wp-content/uploads/2025/10/calculadora-moedas-tiktok-300x300.jpg 300w, https://creator-cash.com/wp-content/uploads/2025/10/calculadora-moedas-tiktok-1024x1024.jpg 1024w, https://creator-cash.com/wp-content/uploads/2025/10/calculadora-moedas-tiktok-150x150.jpg 150w, https://creator-cash.com/wp-content/uploads/2025/10/calculadora-moedas-tiktok-768x768.jpg 768w" sizes="(max-width: 1200px) 100vw, 1200px" /></div>
<div class="page-header-content">
<div class="page-header-title">
<p><!-- Area 1 --><!-- SECTION START --></p>
<h1>Calculadora Moedas TikTok:<span> Converta moedas em Euros</span></h1>
<p><!-- SECTION ENDE -->
</div>
<div class="page-header-description">
<p><!-- SECTION START --><span>Quanto valem 1.000 TikTok Coins?</span> A calculadora moedas TikTok mostra quanto recebes de verdade: 10,74 € bruto ≈ 2,80 € líquido para criadores.<!-- SECTION ENDE --></p>
</div>
<div class="page-header-background">
<p><!-- ME: MOBILE MAIN IMAGE--><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-coins-calculator-mobile.png" alt="Calculadora de TikTok Coins" width="394" height="410" class="alignnone size-full wp-image-319" title="Calculadora Moedas TikTok: Converta moedas em Euros 95"><br />
<!-- Area 1 Ende --></p>
</div>
</div>
</div>
<div class="tool tiktok-tool">
<div class="tool-header">
<div class="tool-tabs">
<div class="tool-tab tool-tab-active"><span class="svg-icon icon-small"><svg width="13" height="14" viewBox="0 0 13 14" xmlns="http://www.w3.org/2000/svg" fill="currentColor" aria-hidden="true" focusable="false"><path d="M12.3605 4.01483C11.5991 4.01483 10.8966 3.76261 10.3325 3.33712C9.68556 2.84936 9.22073 2.13386 9.05657 1.3092C9.01593 1.10544 8.99404 0.895169 8.99196 0.679688H6.81708V6.6225L6.81447 9.87766C6.81447 10.7479 6.24776 11.4858 5.46217 11.7453C5.23418 11.8206 4.98796 11.8563 4.73157 11.8423C4.40431 11.8243 4.09763 11.7255 3.83108 11.5661C3.26384 11.2268 2.87926 10.6114 2.86884 9.90736C2.85242 8.80702 3.74197 7.90992 4.84152 7.90992C5.05857 7.90992 5.26701 7.94535 5.46217 8.00971V6.38539V5.80148C5.25633 5.771 5.04684 5.7551 4.83501 5.7551C3.63149 5.7551 2.50588 6.25537 1.70127 7.15665C1.09313 7.83774 0.72835 8.70671 0.672069 9.61788C0.598331 10.8149 1.03633 11.9527 1.88575 12.7923C2.01056 12.9155 2.14162 13.0299 2.27867 13.1354C3.00693 13.6959 3.89726 13.9997 4.83501 13.9997C5.04684 13.9997 5.25633 13.9841 5.46217 13.9536C6.33817 13.8238 7.14642 13.4228 7.78427 12.7923C8.56803 12.0176 9.00108 10.9892 9.00577 9.89459L8.99456 5.03362C9.36846 5.32205 9.77728 5.56073 10.2161 5.74598C10.8985 6.0339 11.622 6.17981 12.3667 6.17955V4.60031V4.01431C12.3672 4.01483 12.361 4.01483 12.3605 4.01483Z" /></svg></span><!-- SECTION START -->Calculadora TikTok<!-- SECTION ENDE --></div>
<div class="tool-tab"><a href="https://creator-cash.com/pt-pt/tiktok/"><!-- SECTION START -->Todas as ferramentas<!-- SECTION ENDE --></a></p>
</div>
</div>
</div>
<div class="tool-content">
<div class="tool-code">
<div class="tool-title">
<p><!-- SECTION START -->Calculadora Moedas TikTok<!-- SECTION ENDE --></div>
<p><span class="tool-subtitle"><!-- SECTION START -->Converta moedas em Euros<!-- SECTION ENDE --></span><!-- ME: MAIN RECHNER --><div id="ttk-calc" class="ttk">
  <!-- FILTER -->
  <div class="tool-filters ttk-row ttk-filters">
    <!-- Country -->
    <div class="tool-filter ttk-card ttk-top">
      <div class="ttk-filter">
        <div class="ttk-filter-label">País</div>

        <!-- Desktop: Custom Dropdown -->
        <div id="country-dd" class="dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <img alt="" width="20" height="15"><span class="dd-emoji" style="display:none"></span><span class="dd-name"></span>
            <span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Selecionar país"></ul>
        </div>

        <!-- Mobile: Native Select -->
        <select id="country-native" aria-label="Selecionar país"></select>
      </div>
    </div>

    <!-- Currency -->
    <div class="tool-filter ttk-card ttk-top">
      <div class="ttk-filter">
        <div class="ttk-filter-label">Moeda</div>

        <!-- Desktop: Custom Dropdown -->
        <div id="currency-dd" class="dd">
          <button type="button" class="dd-selected" aria-haspopup="listbox" aria-expanded="false">
            <span class="dd-name"></span>
            <span class="dd-caret">▾</span>
          </button>
          <ul class="dd-list" role="listbox" tabindex="-1" aria-label="Selecionar moeda"></ul>
        </div>

        <!-- INFO TOOLTIP -->
        <div class="tooltip" data-tip="Usamos preços médios por país para facilitar o cálculo. Os preços podem variar na tua app ou no site do teu país.">
          <svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M256 0C114.5 0 0 114.5 0 256s114.5 256 256 256 256-114.5 256-256S397.5 0 256 0zm0 476.3c-121.5 0-220.3-98.8-220.3-220.3S134.5 35.7 256 35.7 476.3 134.5 476.3 256 377.5 476.3 256 476.3z"/><path d="M256 213.4c-15.2 0-25.9 6.4-25.9 15.8v128.4c0 8.1 10.8 16.2 25.9 16.2s26.3-8.1 26.3-16.2V229.2c0-9.4-11.8-15.8-26.3-15.8z"/><path d="M256 134.2c-15.5 0-27.6 11.1-27.6 23.9s12.1 24.3 27.6 24.3 27.3-11.5 27.3-24.3-12.1-23.9-27.3-23.9z"/></svg>
        </div>

        <!-- Mobile: Native Select -->
        <select id="currency-native" aria-label="Selecionar moeda"></select>
      </div>
    </div>
  </div>

  <!-- TOP INPUTS -->
  <div class="tool-amounts ttk-row">
    <div class="tool-currency-input ttk-card ttk-top">
      <div class="ttk-topbox">
        <input id="coins" class="tool-currency" type="number" min="0" max="9999999" step="50" value="40000">
        <span class="ttk-badge"><img decoding="async" class="ttk-ico" src="https://creator-cash.com/wp-content/uploads/2025/10/icon-tiktok-coin.png" width="30" height="30" alt="icon tiktok coin" title="Calculadora Moedas TikTok: Converta moedas em Euros 96"> Moedas do TikTok</span>
      </div>
    </div>

    <div class="tool-currency-input ttk-card ttk-top">
      <div class="ttk-topbox">
        <input id="diamonds" class="tool-currency" type="number" min="0" max="9999999" step="50" value="20000">
        <span class="ttk-badge"><img decoding="async" class="ttk-ico" src="https://creator-cash.com/wp-content/uploads/2025/10/icon-diamond.png" width="30" height="30" alt="icon diamond" title="Calculadora Moedas TikTok: Converta moedas em Euros 97"> Diamantes</span>
      </div>
    </div>
  </div>

  <!-- SLIDER -->
  <input id="range" type="range" min="0" max="2500000" step="50" value="40000" class="ttk-range ttk-range-black">

  <!-- PRICES -->
  <div class="tool-prices ttk-row">
    <div class="ttk-card">
      <div class="ttk-sub">Preço de compra para utilizadores do TikTok</div>
      <div class="ttk-price" id="price">€0,00</div>
      <div class="tool-rabatt ttk-mini ttk-discount">
        <span class="ttk-mini-label">Desconto</span>
        <span class="ttk-spin">
          <input id="discount" type="number" min="0" max="12" step="1" value="0" aria-label="Desconto em percentagem">
          <span class="pct">%</span>
        </span>
      </div>
    </div>

    <div class="ttk-card">
      <div class="ttk-sub">Receita (o que o criador recebe)</div>
      <div class="ttk-earn" id="earn">€0,00</div>
    </div>
  </div>

  <!-- FEES -->
  <div class="tool-results ttk-row ttk-fees">
    <div class="ttk-card"><div class="ttk-sub">Imposto (<span id="tax-label">23%</span>)</div><div class="ttk-fee" id="fee-tax">-€0,00</div></div>
    <div class="ttk-card"><div class="ttk-sub">Comissão de pagamento (2%)</div><div class="ttk-fee" id="fee-pay">-€0,00</div></div>
    <div class="ttk-card"><div class="ttk-sub">Comissão da plataforma TikTok (50%)</div><div class="ttk-fee" id="fee-plat">-€0,00</div></div>
  </div>
</div>

<style>
  *{box-sizing:border-box}
  .ttk{max-width:720px;width:100%;overflow:visible}
  .ttk-row{display:flex;gap:12px;flex-wrap:wrap}
  .ttk-card{flex:1}
  .ttk-top{padding:0}
  .dd{position:relative}
  .dd-selected{display:flex;align-items:center;justify-content:space-between}
  .dd-list{position:absolute;right:0;top:100%;display:none;z-index:10;list-style:none;margin:0;padding:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px}
  .dd-item{display:flex;align-items:center;gap:10px;padding:6px 10px;cursor:pointer}
  .dd-item img{display:inline-block}
  .ttk-filter{display:flex;align-items:center;justify-content:space-between; cursor:pointer; gap:12px}
  .ttk-topbox{display:flex;align-items:center;justify-content:space-between}
  .ttk-num-in{width:180px}

  #country-native,#currency-native{
    display:none;
    width:100%;
    padding:10px 12px;
    border:1px solid #e5e7eb;
    border-radius:8px;
    background:#fff;
    font-size:16px;
  }

  .ttk-range{width:100%;background:transparent;--pct:0%;cursor:pointer}
  .ttk-range-black{-webkit-appearance:none;appearance:none;height:22px}
  .ttk-range-black::-webkit-slider-runnable-track{
    height:8px;
    background:linear-gradient(to right,#0a0a0a var(--pct), #e5e7eb var(--pct));
    border-radius:8px
  }
  .ttk-range-black::-webkit-slider-thumb{
    -webkit-appearance:none;width:20px;height:20px;border-radius:50%;
    background:#fff;border:2px solid #c7c7c7;box-shadow:0 1px 2px rgba(0,0,0,.15);
    margin-top:-6px
  }
  .ttk-range-black::-moz-range-track{height:8px;background:#e5e7eb;border-radius:8px}
  .ttk-range-black::-moz-range-progress{height:8px;background:#0a0a0a;border-radius:8px}
  .ttk-range-black::-moz-range-thumb{
    width:20px;height:20px;border-radius:50%;
    background:#fff;border:2px solid #c7c7c7;box-shadow:0 1px 2px rgba(0,0,0,.15)
  }

  .ttk-spin{display:inline-flex;align-items:center}
  .tool-results .ttk-card{flex:0 1 calc((100% - 24px)/3);min-width:0}

  @media (max-width:760px){
    .tool-filters{flex-direction:column}
    .tool-filters .tool-filter{min-width:100%}
    .tool-prices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .ttk-card{min-width:0}
    #country-dd,#currency-dd{display:none}
    #country-native,#currency-native{display:block}
  }
  @media (max-width:520px){
    .tool-amounts{flex-direction:column}
    .tool-amounts .ttk-card{min-width:100%}
    .tool-results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  }
</style>

<script>
(function(){
  const $ = id => document.getElementById(id);

  // Limits
  const INPUT_MAX_COINS = 9_999_999;
  const INPUT_MAX_DIAMONDS = 9_999_999;
  const BAR_MAX_COINS = 2_500_000;

  // Animation
  const ANIM_DURATION_MS = 1800;
  const REDUCED_MOTION = window.matchMedia('(prefers-reduced-motion: reduce)').matches;

  const COUNTRIES = [
    {code:'de', name:'DEU', tax:0.19, currency:'EUR', coinPer10k:107.43},
    {code:'us', name:'USA', tax:0.00, currency:'USD', coinPer10k:117.10},
    {code:'gb', name:'UK',  tax:0.20, currency:'GBP', coinPer10k:90.24},
    {code:'ca', name:'CAN', tax:0.10, currency:'CAD', coinPer10k:156.85},
    {code:'au', name:'AUS', tax:0.10, currency:'AUD', coinPer10k:173.46},
    {code:'es', name:'ESP', tax:0.21, currency:'EUR', coinPer10k:107.43},
    {code:'pt', name:'PT',  tax:0.23, currency:'EUR', coinPer10k:107.43},
    {code:'fr', name:'FRA', tax:0.20, currency:'EUR', coinPer10k:107.43},
    {code:'it', name:'IT',  tax:0.22, currency:'EUR', coinPer10k:107.43},
    {code:'nl', name:'NL',  tax:0.21, currency:'EUR', coinPer10k:107.43},
  ];
  const CTRY_BY_CODE = Object.fromEntries(COUNTRIES.map(c=>[c.code,c]));
  const CURRENCIES = ['EUR','USD','GBP','CAD','AUD'];
  const FX = {
    "EUR→EUR":1,"EUR→USD":1.09,"EUR→GBP":0.84,"EUR→CAD":1.46,"EUR→AUD":1.62,
    "USD→USD":1,"USD→EUR":0.92,"USD→GBP":0.77,"USD→CAD":1.34,"USD→AUD":1.49,
    "GBP→GBP":1,"GBP→EUR":1.19,"GBP→USD":1.30,"GBP→CAD":1.74,"GBP→AUD":1.93,
    "CAD→CAD":1,"CAD→EUR":0.69,"CAD→USD":0.75,"CAD→GBP":0.57,"CAD→AUD":1.11,
    "AUD→AUD":1,"AUD→EUR":0.62,"AUD→USD":0.67,"AUD→GBP":0.52,"AUD→CAD":0.90
  };

  const coinsEl = $('coins'), diaEl = $('diamonds'), rng = $('range'), disc = $('discount');
  const priceEl = $('price'), earnEl = $('earn'), taxLbl = $('tax-label');

  // Country DD refs
  const countryDD = document.getElementById('country-dd');
  const cBtn = countryDD.querySelector('.dd-selected');
  const cImg = cBtn.querySelector('img');
  const cEmoji= cBtn.querySelector('.dd-emoji');
  const cName = cBtn.querySelector('.dd-name');
  const cList = countryDD.querySelector('.dd-list');

  // Currency DD refs
  const currDD = document.getElementById('currency-dd');
  const curBtn = currDD.querySelector('.dd-selected');
  const curName= curBtn.querySelector('.dd-name');
  const curList= currDD.querySelector('.dd-list');

  // Native selects
  const countryNative = document.getElementById('country-native');
  const currencyNative = document.getElementById('currency-native');

  let state = { country:'pt', currency:'EUR', currencyOverridden:false };

  // Locale formatting (EUR -> pt-PT)
  const localeFor = cur => ({EUR:'pt-PT',USD:'en-US',GBP:'en-GB',CAD:'en-CA',AUD:'en-AU'})[cur]||'en-US';
  const fmt = (v, cur) => v.toLocaleString(localeFor(cur), {style:'currency',currency:cur});
  const rate = (from,to)=> FX[`${from}→${to}`] ?? 1;

  function clampDiscount(){
    let v=+disc.value||0;
    disc.value=Math.max(0,Math.min(12,v));
  }
  const codeToEmoji = cc => cc.toUpperCase().replace(/./g,c=>String.fromCodePoint(127397+c.charCodeAt(0)));

  function updateSliderFill(){
    const min = +rng.min || 0;
    const max = +rng.max || BAR_MAX_COINS;
    const val = +rng.value || 0;
    const pct = ((val - min) / (max - min)) * 100;
    rng.style.setProperty('--pct', pct + '%');
  }

  // Build lists
  function buildCountryList(){
    cList.innerHTML='';
    countryNative.innerHTML='';
    COUNTRIES.forEach((c)=>{
      const li=document.createElement('li');
      li.className='dd-item';
      li.setAttribute('role','option');
      li.dataset.code=c.code;
      li.innerHTML = `
        <img decoding="async" alt="" width="20" height="15"
             src="https://flagcdn.com/w20/${c.code}.png"
             srcset="https://flagcdn.com/w40/${c.code}.png 2x"
             onerror="this.style.display='none';this.nextElementSibling.style.display='inline-block'">
        <span class="dd-emoji" style="display:none">${codeToEmoji(c.code)}</span>
        <span>${c.name}</span>
      `;
      li.addEventListener('click',()=>selectCountry(c.code,true));
      cList.appendChild(li);
      const opt=document.createElement('option');
      opt.value=c.code; opt.textContent=c.name;
      countryNative.appendChild(opt);
    });
  }
  function buildCurrencyList(){
    curList.innerHTML='';
    currencyNative.innerHTML='';
    CURRENCIES.forEach(code=>{
      const li=document.createElement('li');
      li.className='dd-item';
      li.setAttribute('role','option');
      li.dataset.val=code;
      li.textContent=code;
      li.addEventListener('click',()=>selectCurrency(code,true,true));
      curList.appendChild(li);
      const opt=document.createElement('option');
      opt.value=code; opt.textContent=code;
      currencyNative.appendChild(opt);
    });
  }

  function openList(btn,list,open){
    btn.setAttribute('aria-expanded', open?'true':'false');
    list.style.display = open?'block':'none';
    if(open) list.focus();
  }
  document.addEventListener('click',e=>{
    if(!countryDD.contains(e.target)) openList(cBtn,cList,false);
    if(!currDD.contains(e.target)) openList(curBtn,curList,false);
  });
  cBtn.addEventListener('click',()=>openList(cBtn,cList,cList.style.display!=='block'));
  curBtn.addEventListener('click',()=>openList(curBtn,curList,curList.style.display!=='block'));

  function makeRowClickable(row){
    const dd = row.querySelector('.dd');
    if(!dd) return;
    const btn = dd.querySelector('.dd-selected');
    const list = dd.querySelector('.dd-list');
    row.setAttribute('tabindex','0');
    row.setAttribute('role','button');
    const lbl = row.querySelector('.ttk-filter-label')?.textContent?.trim() || 'Selecionar';
    row.setAttribute('aria-label', lbl + ' abrir');
    row.addEventListener('click', (e)=>{
      if (e.target.closest('select') || e.target.closest('.dd-selected') || e.target.closest('.dd-list')) return;
      openList(btn, list, list.style.display !== 'block');
    });
    row.addEventListener('keydown', (e)=>{
      if (e.key === 'Enter' || e.key === ' ') {
        e.preventDefault();
        openList(btn, list, list.style.display !== 'block');
      }
    });
  }
  document.querySelectorAll('.tool-filters .ttk-filter').forEach(makeRowClickable);

  // Selectors
  function selectCountry(code, closeAfter){
    state.country=code;
    const cfg=CTRY_BY_CODE[code];
    cImg.src=`https://flagcdn.com/w20/${code}.png`;
    cImg.srcset=`https://flagcdn.com/w40/${code}.png 2x`;
    cEmoji.textContent=codeToEmoji(code);
    cName.textContent=cfg.name;
    [...cList.children].forEach(li=>li.setAttribute('aria-selected', li.dataset.code===code ? 'true':'false'));
    countryNative.value = code;

    taxLbl.textContent=Math.round(cfg.tax*100)+'%';
    if(!state.currencyOverridden){
      selectCurrency(cfg.currency,false,false);
    }
    if(closeAfter) openList(cBtn,cList,false);
    calc();
  }
  function selectCurrency(val, closeAfter, markOverride){
    state.currency = val;
    if(markOverride) state.currencyOverridden = true;
    curName.textContent = val;
    [...curList.children].forEach(li=>li.setAttribute('aria-selected', li.dataset.val===val ? 'true':'false'));
    currencyNative.value = val;

    if(closeAfter) openList(curBtn,curList,false);
    calc();
  }

  // Sync inputs
  function clampInputsSoft(){
    if(+coinsEl.value > INPUT_MAX_COINS) coinsEl.value = INPUT_MAX_COINS;
    if(+diaEl.value   > INPUT_MAX_DIAMONDS) diaEl.value = INPUT_MAX_DIAMONDS;
    if(+coinsEl.value < 0) coinsEl.value = 0;
    if(+diaEl.value   < 0) diaEl.value   = 0;
  }
  function syncFromCoinsImmediate(){
    clampInputsSoft();
    const c = +coinsEl.value || 0;
    diaEl.value = Math.round(c/2);
    rng.value = Math.min(c, BAR_MAX_COINS);
    updateSliderFill();
    calc();
  }
  function syncFromDiamondsImmediate(){
    clampInputsSoft();
    const d = +diaEl.value || 0;
    const c = d*2;
    coinsEl.value = c;
    rng.value = Math.min(c, BAR_MAX_COINS);
    updateSliderFill();
    calc();
  }
  function syncFromRangeImmediate(){
    const v = +rng.value || 0;
    coinsEl.value = v;
    diaEl.value = Math.round(v/2);
    updateSliderFill();
    calc();
  }

  // Calc
  function calc(){
    clampDiscount();
    const cfg=CTRY_BY_CODE[state.country];
    const coins=+coinsEl.value||0;

    const baseInCountry = coins * (cfg.coinPer10k/10000);
    const priceDisplayInCountry = baseInCountry * (1 - (+disc.value||0)/100);

    const feePlatC=baseInCountry*0.50,
          feePayC =baseInCountry*0.02,
          feeTaxC =baseInCountry*cfg.tax;
    const earnC = Math.max(0, baseInCountry - feePlatC - feePayC - feeTaxC);

    const fx = rate(cfg.currency, state.currency);

    priceEl.textContent = fmt(priceDisplayInCountry*fx, state.currency);
    document.getElementById('fee-plat').textContent = '-' + fmt(feePlatC*fx, state.currency);
    document.getElementById('fee-pay').textContent  = '-' + fmt(feePayC*fx,  state.currency);
    document.getElementById('fee-tax').textContent  = '-' + fmt(feeTaxC*fx,  state.currency);
    earnEl.textContent = fmt(earnC*fx, state.currency);
  }

  // Initial animation
  const easeOutCubic = t => 1 - Math.pow(1 - t, 3);
  function startInitialAnimation(targetCoins, duration = ANIM_DURATION_MS){
    if(REDUCED_MOTION || duration<=0){
      coinsEl.value = targetCoins;
      diaEl.value   = Math.round(targetCoins/2);
      rng.value     = Math.min(targetCoins, BAR_MAX_COINS);
      updateSliderFill();
      calc();
      return;
    }
    const startCoins = 0;
    const delta = targetCoins - startCoins;
    const startTime = performance.now();

    const step = (now)=>{
      const t = Math.min(1, (now - startTime) / duration);
      const v = startCoins + delta * easeOutCubic(t);
      const snapped = Math.round(v/50)*50;
      const coins = Math.max(0, Math.min(INPUT_MAX_COINS, snapped));

      coinsEl.value = coins;
      diaEl.value   = Math.round(coins/2);
      rng.value     = Math.min(coins, BAR_MAX_COINS);
      updateSliderFill();
      calc();

      if(t < 1){
        requestAnimationFrame(step);
      }
    };
    requestAnimationFrame(step);
  }

  // Events
  ['input','change'].forEach(ev=>{
    coinsEl.addEventListener(ev,    syncFromCoinsImmediate);
    diaEl.addEventListener(ev,      syncFromDiamondsImmediate);
    rng.addEventListener(ev,        syncFromRangeImmediate);
    disc.addEventListener(ev,       calc);
  });

  // Init
  coinsEl.max = String(INPUT_MAX_COINS);
  diaEl.max   = String(INPUT_MAX_DIAMONDS);
  rng.max     = String(BAR_MAX_COINS);

  buildCountryList();
  buildCurrencyList();
  selectCountry('pt',false);
  selectCurrency('EUR',false,false);

  const initialTarget = +coinsEl.value || 0;
  coinsEl.value = 0;
  diaEl.value   = 0;
  rng.value     = 0;
  updateSliderFill();
  calc();
  startInitialAnimation(initialTarget, ANIM_DURATION_MS);
})();
</script>
</div>
<div class="tool-char">
<!-- ME: DESKTOP MAIN IMAGE--><br />
<img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-coins-calculator-tool.png" alt="Calculadora de TikTok Coins" width="396" height="538" class="alignnone size-full" title="Calculadora Moedas TikTok: Converta moedas em Euros 98"></div>
</div>
<p><!-- ME: TOOL FOOTER BULLETPOINTS--><div class="tool-footer">
<ul><li>Seja sincero: esta calculadora é genial</li><li>Adaptada ao vosso feedback</li><li>De criadores para criadores</li></ul>
</div>
</div>
<p><!-- ME: MAIN OPTIN -->
<p><!-- ME: INFO HEADER IMG ALT --></p>
<div class="tool-information-header"><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-tool-explanation.png" alt="Explicação da ferramenta Tiktok" width="432" height="310" class="alignnone size-full" title="Calculadora Moedas TikTok: Converta moedas em Euros 99"></p>
<p><!-- ME: H2 und Tab uebersetzen --></p>
<h2>A calculadora de moedas Tiktok explicada em detalhe</h2>
</div>
<div class="tool-information"><div class="su-tabs su-tabs-style-default su-tabs-mobile-stack" data-active="1" data-scroll-offset="0" data-anchor-in-url="no"><div class="su-tabs-nav"><span class="" data-url="" data-target="blank" tabindex="0" role="button">Detalhes sobre a calculadora</span><span class="" data-url="" data-target="blank" tabindex="0" role="button">Mais informações</span></div><div class="su-tabs-panes"><div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Detalhes sobre a calculadora">
<p><!------------------------- PART 1 SECTION START -------------------------></p>
<h3>Informações sobre a Calculadora de Moedas TikTok:</h3>
<p><strong>A calculadora de moedas tiktok converte TikTok Coins e Diamonds em euros. Assim podes comparar quantidades de coins, países e moedas e calcular o rendimento real para criadores.</strong></p>
<p>Com a calculadora moedas tiktok também vês quantos Diamonds recebes pelos teus coins, como se aplicam taxas, IVA e a comissão da plataforma, e qual é o valor real em euros. Aqui explicamos detalhadamente o sistema de moedas da TikTok para te ajudar a estimar os teus ganhos com precisão.</p>
<p><!-- 

<div class="infobox">Dica: experimenta também a ferramenta X, que calcula x.</div>

 --></p>
<div id="ez-toc-container" class="ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title" style="cursor:inherit">Table of contents:</p>
<span class="ez-toc-title-toggle"></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/#A_calculadora_de_moedas_Tiktok_explicada_em_detalhe">A calculadora de moedas Tiktok explicada em detalhe</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/#Quanto_ganha_um_criador_com_1000_TikTok_Coins">Quanto ganha um criador com 1.000 TikTok Coins?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/#Quais_sao_os_presentes_da_TikTok_e_quantos_coins_custam">Quais são os presentes da TikTok e quantos coins custam?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/#Comparacao_de_precos_dos_TikTok_Coins_por_pais">Comparação de preços dos TikTok Coins por país</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/#O_que_e_exatamente_um_TikTok_Coin">O que é exatamente um TikTok Coin?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/#O_sistema_de_Coins_e_Diamonds_da_TikTok_explicado_ao_detalhe">O sistema de Coins e Diamonds da TikTok explicado ao detalhe</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-7" href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/#Quanto_custam_1000_TikTok_Coins_e_quanto_valem_para_o_criador">Quanto custam 1.000 TikTok Coins e quanto valem para o criador?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-8" href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/#Como_comprar_TikTok_Coins">Como comprar TikTok Coins?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/#Que_impostos_tem_de_pagar_um_criador_de_TikTok">Que impostos tem de pagar um criador de TikTok?</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-10" href="https://creator-cash.com/pt-pt/tiktok/calculadora-moedas-tiktok/#Dicas_para_criadores_como_aumentar_os_rendimentos_no_live">Dicas para criadores: como aumentar os rendimentos no live</a></li></ul></nav></div>

<h2 class="trenner checkbox">Quanto ganha um criador com 1.000 TikTok Coins?</h2>
<p><strong>Em Portugal, 1.000 coins equivalem a 10,74 € brutos. Após 23 % de IVA, 2 % de taxa de pagamento e 50 % de comissão da TikTok, o criador recebe cerca de <span class="positive">2,69 €</span> líquidos. O cálculo é linear para qualquer quantidade.</strong></p>
<p>Com base em 107,43 € por 10.000 coins, 1.000 coins geram 10,74 € brutos. Como mostra a calculadora moedas tiktok, o valor líquido resulta depois de deduzir o IVA, taxa de pagamento e a parte da plataforma.</p>
<p>Como <strong>comprar mais coins pode dar desconto</strong>, podes ajustar o desconto na calculadora acima. Neste exemplo não consideramos desconto.</p>
<div class="beispielbox">
<span class="box-headline">Exemplo:</span></p>
<ul>
<li>Bruto (1.000 coins): 10,74 €</li>
<li>Deduções: IVA 23 % = <span class="negative">2,47 €</span>, Pagamento 2 % = <span class="negative">0,21 €</span>, TikTok 50 % = <span class="negative">5,37 €</span></li>
<li>Líquido criador: <b class="positive">2,69 €</b></li>
</ul>
</div>
<h3>Tabela: quanto ganham os criadores com TikTok Coins</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1-fat" style="width:100%;border-collapse:collapse">
<tr>
<td>Quantidade de coins</td>
<td>Bruto</td>
<td>IVA (23 %)</td>
<td>Pagamento (2 %)</td>
<td>TikTok (50 %)</td>
<td><b>Líquido criador</b></td>
</tr>
<tr>
<td>1.000</td>
<td>10,74 €</td>
<td class="negative">− 2,47 €</td>
<td class="negative">− 0,21 €</td>
<td class="negative">− 5,37 €</td>
<td class="positive">+ 2,69 €</td>
</tr>
<tr>
<td>5.000</td>
<td>53,72 €</td>
<td class="negative">− 12,36 €</td>
<td class="negative">− 1,07 €</td>
<td class="negative">− 26,86 €</td>
<td class="positive">+ 13,43 €</td>
</tr>
<tr>
<td>20.000</td>
<td>214,86 €</td>
<td class="negative">− 49,42 €</td>
<td class="negative">− 4,30 €</td>
<td class="negative">− 107,43 €</td>
<td class="positive">+ 53,71 €</td>
</tr>
<tr>
<td>80.000</td>
<td>859,44 €</td>
<td class="negative">− 197,67 €</td>
<td class="negative">− 17,19 €</td>
<td class="negative">− 429,72 €</td>
<td class="positive">+ 214,86 €</td>
</tr>
</table>
</div>
</div>
<h3>Como converter TikTok Coins em euros?</h3>
<p><strong>Na <b>calculadora moedas tiktok</b>, 1 coin vale cerca de 0,010743 € bruto e ~0,00269 € líquido após 23 % de IVA, 2 % de pagamento e 50 % para TikTok.</strong></p>
<p>A base é 107,43 € por 10.000 coins. Coins × 0,010743 € = valor bruto. Depois subtraem-se as deduções para obter o valor líquido real.</p>
<p>A <strong>calculadora de moedas tiktok</strong> mostra exatamente quanto valem os <strong>TikTok Coins em euros</strong> e como as taxas reduzem o rendimento final. Ideal para quem faz muitos lives ou recebe presentes.</p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Exemplo:</span></p>
<ul>
<li><b>Fórmula:</b> Euros = Coins × 0,010743 € (bruto)</li>
<li><b>Deduções:</b> IVA 23 %, pagamento 2 %, TikTok 50 %</li>
<li><b>10.000 Coins → Bruto:</b> 107,43 € → Líquido ≈ <span class="positive">26,94 €</span></li>
<li><b>1.000 Coins → Bruto:</b> 10,74 € → Líquido ≈ <span class="positive">2,69 €</span></li>
</ul>
</div>
<h2 class="checkbox">Quais são os presentes da TikTok e quantos coins custam?</h2>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-live-gifts.png" alt="Presentes do TikTok Live" width="460" height="506" class="alignright size-full wp-image-263" title="Calculadora Moedas TikTok: Converta moedas em Euros 100" srcset="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-live-gifts.png 460w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-live-gifts-273x300.png 273w" sizes="(max-width: 460px) 100vw, 460px" /><br />
<strong>Cada presente tem um valor fixo em coins. O espectador paga em coins, e o criador recebe o valor líquido após as deduções. Presentes pequenos rendem cêntimos, enquanto presentes grandes acumulam rapidamente euros.</strong></p>
<p>Os valores podem mudar conforme campanhas e regiões. Aqui estão exemplos para Portugal, com <b>107,43 € por 10.000 coins</b>. Quantias inferiores a 0,01 € são mostradas com quatro casas decimais.</p>
<p>O presente mais caro é o <strong>TikTok Universo</strong>, que custa 44.999 coins e pode ser verificado na calculadora de moedas tiktok.</p>
<h3>Tabela de valores dos presentes</h3>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead td1 td3 td4 td5" style="width:100%;border-collapse:collapse">
<tr>
<td>Presente</td>
<td>Coins</td>
<td>Bruto (EUR)</td>
<td>IVA 23 %</td>
<td>Pagamento 2 %</td>
<td>TikTok 50 %</td>
<td><b>Líquido</b></td>
</tr>
<tr>
<td>Rosa</td>
<td>1</td>
<td>+ 0,0107 €</td>
<td class="negative">− 0,0025 €</td>
<td class="negative">− 0,0002 €</td>
<td class="negative">− 0,0054 €</td>
<td class="positive">+ 0,0026 €</td>
</tr>
<tr>
<td>Coração com dedos</td>
<td>5</td>
<td>+ 0,0537 €</td>
<td class="negative">− 0,0123 €</td>
<td class="negative">− 0,0011 €</td>
<td class="negative">− 0,0269 €</td>
<td class="positive">+ 0,0134 €</td>
</tr>
<tr>
<td>Perfume</td>
<td>20</td>
<td>+ 0,2149 €</td>
<td class="negative">− 0,0494 €</td>
<td class="negative">− 0,0043 €</td>
<td class="negative">− 0,1074 €</td>
<td class="positive">+ 0,0538 €</td>
</tr>
<tr>
<td>Balões de amor</td>
<td>100</td>
<td>+ 1,0743 €</td>
<td class="negative">− 0,2471 €</td>
<td class="negative">− 0,0215 €</td>
<td class="negative">− 0,5372 €</td>
<td class="positive">+ 0,2685 €</td>
</tr>
<tr>
<td>Galáxia</td>
<td>1.000</td>
<td>+ 10,7430 €</td>
<td class="negative">− 2,4710 €</td>
<td class="negative">− 0,2149 €</td>
<td class="negative">− 5,3715 €</td>
<td class="positive">+ 2,6856 €</td>
</tr>
</table>
</div>
</div>
<p><i>Nota:</i> Exemplos com deduções padrão em Portugal (23 % IVA, 2 % pagamento, 50 % TikTok). Promoções podem alterar estes números.</p>
<p><strong>Exemplos de presentes da TikTok e o seu valor em coins:</strong><br />
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-geschenke.jpg" alt="Presentes TikTok" width="1192" height="1034" class="alignnone size-full wp-image-333" title="Calculadora Moedas TikTok: Converta moedas em Euros 101" srcset="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-geschenke.jpg 1192w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-geschenke-300x260.jpg 300w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-geschenke-1024x888.jpg 1024w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-geschenke-768x666.jpg 768w" sizes="(max-width: 1192px) 100vw, 1192px" /></p>
<p><!------------------------- PART 1 SECTION ENDE -------------------------><br />
<!------------------------- PART 2 SECTION START -------------------------></p>
<h3>Podem os criadores de TikTok ter acordos especiais de remuneração?</h3>
<p><strong>A remuneração padrão da TikTok é igual para todos os criadores. Apenas parceiros com acordos exclusivos – normalmente agências ou perfis muito grandes – conseguem condições ligeiramente diferentes. Mesmo assim, as deduções ficam geralmente perto de 50 % para a plataforma.</strong></p>
<p>Os ganhos provenientes de coins são padronizados. A TikTok converte coins em diamonds segundo regras fixas, que podes calcular facilmente acima com a calculadora de moedas tiktok. Algumas agências negociam repartições especiais em eventos patrocinados ou campanhas oficiais, mas são exceções.</p>
<div class="infobox">
<strong>Nota:</strong> Em Portugal, aplicam-se para todos os criadores as mesmas regras fiscais (IVA e tributação local). Diferenças referem-se apenas ao acordo interno entre TikTok e parceiros.
</div>
<h2 class="trenner checkbox">Comparação de preços dos TikTok Coins por país</h2>
<p><strong>Os preços dos TikTok Coins variam conforme o país. Na Alemanha, um pacote de 10.000 coins custa cerca de 107,43 €, nos EUA cerca de 117,10 $ (USD). As razões incluem IVA, taxas das lojas de apps e câmbio.</strong></p>
<p>A diferença pode chegar a 20 %. Nos países da zona euro o preço é mais estável, enquanto moedas voláteis mostram maiores desvios. A tabela segue preços médios para 10.000 coins. Com a calculadora moedas tiktok podes alterar país e moeda facilmente.</p>
<div class="table-container">
<div class="table-wrapper">
<table style="width:100%;border-collapse:collapse" class="tablehead">
<tr>
<td>País</td>
<td>Moeda</td>
<td>Preço por 10.000 coins</td>
<td><b>Preço em EUR</b></td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/de.png" srcset="https://flagcdn.com/w40/de.png 2x" alt="DE" title="Calculadora Moedas TikTok: Converta moedas em Euros 102"> Alemanha (DEU)</td>
<td>EUR</td>
<td>107,43 €</td>
<td>107,43 €</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/us.png" srcset="https://flagcdn.com/w40/us.png 2x" alt="US" title="Calculadora Moedas TikTok: Converta moedas em Euros 103"> Estados Unidos (USA)</td>
<td>USD</td>
<td>117,10 $</td>
<td>107,43 €</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/gb.png" srcset="https://flagcdn.com/w40/gb.png 2x" alt="UK" title="Calculadora Moedas TikTok: Converta moedas em Euros 104"> Reino Unido (UK)</td>
<td>GBP</td>
<td>90,24 £</td>
<td>107,43 €</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/ca.png" srcset="https://flagcdn.com/w40/ca.png 2x" alt="CA" title="Calculadora Moedas TikTok: Converta moedas em Euros 105"> Canadá (CAN)</td>
<td>CAD</td>
<td>156,85 $</td>
<td>107,43 €</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/au.png" srcset="https://flagcdn.com/w40/au.png 2x" alt="AU" title="Calculadora Moedas TikTok: Converta moedas em Euros 106"> Austrália (AUS)</td>
<td>AUD</td>
<td>173,46 $</td>
<td>107,43 €</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/es.png" srcset="https://flagcdn.com/w40/es.png 2x" alt="ES" title="Calculadora Moedas TikTok: Converta moedas em Euros 107"> Espanha (ESP)</td>
<td>EUR</td>
<td>107,43 €</td>
<td>107,43 €</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/pt.png" srcset="https://flagcdn.com/w40/pt.png 2x" alt="PT" title="Calculadora Moedas TikTok: Converta moedas em Euros 108"> Portugal (PT)</td>
<td>EUR</td>
<td>107,43 €</td>
<td>107,43 €</td>
</tr>
<tr>
<td><img decoding="async" src="https://flagcdn.com/w20/fr.png" srcset="https://flagcdn.com/w40/fr.png 2x" alt="FR" title="Calculadora Moedas TikTok: Converta moedas em Euros 109"> França (FRA)</td>
<td>EUR</td>
<td>107,43 €</td>
<td>107,43 €</td>
</tr>
</table>
</div>
</div>
<h3>Diferenças de preços e motivos</h3>
<p><strong>As diferenças vêm do IVA, das taxas da App Store/Google Play e das taxas de câmbio. A TikTok ajusta regularmente os preços para manter um valor real semelhante em todo o mundo. Com a <b>calculadora moedas tiktok</b> podes ver em que países os coins são mais baratos ou caros.</strong></p>
<p>Como os coins são comprados nas apps, há também uma comissão de 30 % das lojas, refletida no preço final. A <b>calculadora de moedas tiktok</b> considera estes fatores e mostra valores realistas em euros.</p>
<p>Se queres acompanhar a evolução dos preços no mundo, usa a <b>calculadora moedas tiktok</b> para comparações rápidas e sempre atualizadas.</p>
<h2 class="trenner checkbox">O que é exatamente um TikTok Coin?</h2>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-300x233.png" alt="TikTok Coins" width="300" height="233" class="alignright size-medium wp-image-276" title="Calculadora Moedas TikTok: Converta moedas em Euros 110" srcset="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-300x233.png 300w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins.png 629w" sizes="(max-width: 300px) 100vw, 300px" /><strong>Um TikTok Coin é a moeda virtual da plataforma usada para comprar presentes nos lives. Não tem um câmbio fixo, pois é vendido em pacotes cujo preço depende do país, IVA e comissões.</strong></p>
<p>Os coins são comprados através das lojas de apps e ficam na conta do utilizador. Os espectadores enviam-nos como presentes durante os lives. A TikTok converte automaticamente esses coins em diamonds no saldo do criador.</p>
<h3>O que é um TikTok Diamond?</h3>
<p><img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-diamonds-300x233.png" alt="TikTok Diamond" width="300" height="233" class="alignright size-medium wp-image-274" title="Calculadora Moedas TikTok: Converta moedas em Euros 111" srcset="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-diamonds-300x233.png 300w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-diamonds.png 629w" sizes="(max-width: 300px) 100vw, 300px" /><strong>O diamond é o valor que o criador realmente recebe. A conversão é fixa: 1 diamond = 0,5 coins. Os diamonds podem depois ser convertidos em dinheiro e transferidos.</strong></p>
<p>O valor bruto de um diamond é cerca de 0,005371 € antes de taxas.</p>
<p>O montante final depende das deduções de plataforma e da fiscalidade portuguesa.</p>
<h3 class="trenner checkbox">Quantos TikTok Coins se ganham por live?</h3>
<p><strong>Os ganhos variam muito: criadores pequenos recebem entre 500 e 5.000 coins, médios entre 10.000 e 50.000 e grandes mais de 100.000 coins por transmissão.</strong></p>
<p>Dependem de audiência, duração e interação. Aqui abaixo está uma estimativa com valores Portugal (23 % IVA), baseados na calculadora moedas tiktok.</p>
<div class="table-container">
<div class="table-wrapper">
<table class="tablehead" style="width:100%;border-collapse:collapse">
<tr>
<td>Tipo de criador</td>
<td>Espectadores (Ø)</td>
<td>Duração (min.)</td>
<td>Coins (Ø)</td>
<td><strong>Ganhos líquidos (EUR)</strong></td>
</tr>
<tr>
<td>Pequeno</td>
<td>50 – 100</td>
<td>60</td>
<td>2.000</td>
<td class="positive">+ 5,38 €</td>
</tr>
<tr>
<td>Médio</td>
<td>300 – 500</td>
<td>90</td>
<td>20.000</td>
<td class="positive">+ 53,71 €</td>
</tr>
<tr>
<td>Grande</td>
<td>1.000 +</td>
<td>120</td>
<td>100.000</td>
<td class="positive">+ 268,56 €</td>
</tr>
</table>
</div>
</div>
<h3>Quantos coins são necessários para viver disso?</h3>
<p><strong>Para ganhar cerca de 2.500 € líquidos/mês são precisos aproximadamente 929.000 coins. Com um valor líquido de ~0,00269 € por coin em Portugal.</strong></p>
<p>Isto mostra a importância de lives constantes e uma comunidade empenhada. Estes números servem como referencia para criadores profissionais.</p>
<div class="beispielbox">
<span class="box-headline">Exemplo:</span></p>
<ul>
<li>Objetivo: 2.500 € líquidos</li>
<li>Líquido por coin: 0,00269 €</li>
<li>Requeridos: 2.500 € / 0,00269 € ≈ <strong>929.000 coins/mês</strong></li>
<li>≈ 31.000 coins/dia (30 dias)</li>
</ul>
</div>
<p><!------------------------- PART 2 SECTION ENDE -------------------------><br />
<!------------------------- PART 3 SECTION START -------------------------></p>
<h2 class="checkbox">O sistema de Coins e Diamonds da TikTok explicado ao detalhe</h2>
<p><strong>O sistema funciona em duas etapas: os espectadores compram coins → os coins viram presentes → os criadores recebem diamonds. A TikTok desconta automaticamente a comissão da plataforma antes de poderes converter os diamonds em dinheiro real.</strong></p>
<p>Um coin só tem valor dentro da plataforma, enquanto os diamonds são o valor liquidável para o criador. Após cada transação, a TikTok converte internamente a 1 diamond = 0,5 coins. Apenas os diamonds podem ser levantados para moeda real. Com a calculadora de moedas tiktok podes calcular o valor exato dos TikTok Coins em euros (ou dos Diamonds em euros) e comparar como as taxas afetam o montante final.</p>
<p>Publicamos regularmente novas <a href="https://creator-cash.com/pt-pt/tiktok/">ferramentas de TikTok para criadores, para aumentares os teus rendimentos</a>; espreita também as restantes.</p>
<h3>Quem recebe quanto com 1.000 TikTok Coins?</h3>
<p><strong>Com 1.000 coins (10,74 € brutos), a TikTok recebe 5,37 €, o criador 2,69 € e o restante fica para IVA e pagamento (≈ 2,47 € + 0,21 €). Ou seja, cerca de 25 % do valor bruto chega ao criador.</strong></p>
<p>Esta distribuição mantém-se estável independentemente da quantidade de coins. É a base de todos os cálculos seguintes e um valor padrão útil para estimativas na calculadora moedas tiktok.</p>
<h3>Quanto ganha a própria TikTok com 1.000 coins?</h3>
<p><strong>Em média, a TikTok retém cerca de 50 % do valor bruto como comissão da plataforma. Para 1.000 coins (10,74 €) isso são 5,37 €. Além disso, beneficia indiretamente das comissões das lojas de apps e de ajustes cambiais.</strong></p>
<p>Esta fatia cobre servidores, processamento de pagamentos, reembolsos e infraestrutura. É semelhante ao que acontece no Twitch ou YouTube, com repartições de receita próximas.</p>
<h2>Quanto custam 1.000 TikTok Coins e quanto valem para o criador?</h2>
<p><strong>Em Portugal, 1.000 TikTok Coins custam cerca de 10,74 €. Com a <b>calculadora de moedas tiktok</b> ajustas as quantidades e vês no instante o impacto em euros e em diamonds. Após todas as deduções (23 % IVA, 2 % pagamento, 50 % TikTok), o criador recebe ~2,69 € líquidos. O valor escala de forma proporcional e mostra o verdadeiro valor por coin.</strong></p>
<p>O cálculo parte do preço padrão de 107,43 € por 10.000 coins. Depois de IVA (23 %), taxa de pagamento (2 %) e parte da TikTok (50 %), fica ~25 % do bruto para o criador. É esta a fórmula usada pela <b>calculadora de moedas tiktok</b> para resultados precisos.</p>
<div class="beispielbox beispielbox-char">
<span class="box-headline">Exemplo:</span></p>
<ul>
<li>10.000 coins → 107,43 € brutos → <span class="positive">26,86 € líquidos</span></li>
<li>1.000 coins → 10,74 € brutos → <span class="positive">2,69 € líquidos</span></li>
<li>1 coin → 0,010743 € bruto → <span class="positive">0,002686 € líquido</span></li>
</ul>
</div>
<p>Se fazes lives com regularidade, vale a pena usar a <b>calculadora de moedas tiktok</b> para prever o ganho mensal e escolher a melhor altura para objetivos/donativos. Quem acompanha os números com a <b>calculadora moedas tiktok</b> entende melhor o potencial e otimiza a estratégia de streaming.</p>
<h3 class="checkbox trenner">Como obter TikTok Coins?</h3>
<p><strong>Os TikTok Coins podem ser comprados diretamente na app ou no site da TikTok. Há ainda campanhas bónus com coins de recompensa ou cashback. Compras fora da TikTok não são possíveis.</strong></p>
<p>Os coins ficam guardados na tua conta e só podem ser usados dentro da plataforma. Após a compra, ficam disponíveis de imediato e podem ser usados para enviar presentes nos lives.</p>
<h3>Como é feita a conversão de coins para diamonds?</h3>
<p><strong>Os coins recebidos em presentes são convertidos automaticamente em diamonds. A taxa é 1 diamond = 0,5 coins. Só os diamonds podem ser levantados em dinheiro.</strong></p>
<p>A conversão acontece logo após o live. O criador vê o saldo de diamonds na área “Saldo” do perfil. O levantamento pode ser feito por PayPal ou transferência bancária quando o mínimo for atingido.</p>
<h3 class="trenner checkbox">Existem influenciadores que ganham muito com coins?</h3>
<p><img decoding="async" src="/wp-content/themes/gp-child/img-posts/tiktok-reaction.png" alt="Reação TikTok: ganhar dinheiro com coins" width="376" height="292" class="alignright size-full" title="Calculadora Moedas TikTok: Converta moedas em Euros 112"><strong>Sim. Criadores grandes, com milhões de seguidores, conseguem rendimentos mensais de quatro a cinco dígitos só com coins. Em eventos, streams solidários ou live battles podem ultrapassar os 100.000 € num mês.</strong></p>
<p>Estes valores resultam de grandes audiências, doadores recorrentes e do uso de animações ou rankings.</p>
<p>A TikTok também impulsiona criadores conhecidos com destaque no For You ou eventos especiais em direto, aumentando ainda mais a receita em coins.</p>
<h2 class="trenner checkbox">Como comprar TikTok Coins?</h2>
<p><strong>Os coins são adquiridos via compras in-app na loja da TikTok. O preço depende do pacote e da moeda local. Podes pagar com cartão, PayPal, Google Pay ou faturação da loja de apps.</strong></p>
<p>Podes comprar coins diretamente na app da TikTok ou no site oficial <a href="https://www.tiktok.com/coin" rel="dofollow noopener" target="_blank">tiktok.com/coin</a>.<br />
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-kaufen.jpg" alt="Comprar TikTok Coins" width="1134" height="712" class="alignnone size-full wp-image-253" title="Calculadora Moedas TikTok: Converta moedas em Euros 113" srcset="https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-kaufen.jpg 1134w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-kaufen-300x188.jpg 300w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-kaufen-1024x643.jpg 1024w, https://creator-cash.com/wp-content/uploads/2025/10/tiktok-coins-kaufen-768x482.jpg 768w" sizes="(max-width: 1134px) 100vw, 1134px" /></p>
<p>Após a compra, os coins aparecem de imediato na conta. Importante: não há reembolsos nem transferências entre contas. Todas as compras ficam associadas à conta TikTok.</p>
<h3>Como entrar num live da TikTok?</h3>
<p><strong>Podes abrir um live a partir do feed da TikTok. Quando um criador está em direto, surge no canto superior esquerdo a etiqueta vermelha “LIVE”. Ao tocar, entras no live para conversar ou enviar presentes.</strong></p>
<p>Alguns criadores têm horários fixos; outros entram de forma espontânea. A TikTok destaca lives populares na For You, o que aumenta o alcance.</p>
<h3>Como enviar presentes na TikTok?</h3>
<p><strong>Durante um live, toca no ícone de presentes no chat e escolhe. Cada presente mostra a quantidade de coins necessária. Depois de enviar, o ícone é animado no ecrã.</strong></p>
<p>Os presentes enviados são descontados do saldo de coins no momento. O criador vê-os em tempo real nas estatísticas. Quanto maior o valor, mais visível a animação, o que aumenta o engagement em lives grandes.</p>
<h2 class="trenner checkbox">Que impostos tem de pagar um criador de TikTok?</h2>
<p><strong>Em Portugal, os rendimentos de coins normalmente enquadram-se como rendimentos de trabalho independente e são tributados em IRS. Pode ainda aplicar-se IVA (23 %) e outras obrigações, conforme o enquadramento.</strong></p>
<p>Os criadores devem registar todos os rendimentos. Para valores mais elevados, recomenda-se contabilidade profissional. A TikTok não retém impostos automaticamente — a responsabilidade é do criador.</p>
<div class="infobox">
<span class="box-headline">Exemplo:</span><br />
Um criador obtém 500 € líquidos por mês em coins. Com uma taxa efetiva de IRS de 25 %, ficariam cerca de 375 € após impostos. Podem aplicar-se outras contribuições conforme o caso.
</div>
<h2 class="trenner checkbox">Dicas para criadores: como aumentar os rendimentos no live</h2>
<p><strong>Lives regulares, comunicação ativa e bom timing de eventos fazem a diferença. Os espectadores doam mais quando se sentem envolvidos e veem reações visíveis do criador.</strong></p>
<ul class="numbers">
<li>Define horários de transmissão e cumpre-os</li>
<li>Agradece de forma visível cada presente</li>
<li>Usa desafios ou objetivos de comunidade</li>
<li>Ativa contagens decrescentes e metas de doação</li>
<li>Reage de forma espontânea e divertida às doações</li>
</ul>
<div class="infobox">
<strong>Conclusão:</strong> Compreendendo o sistema de coins e apostando numa interação estratégica, os criadores conseguem aumentar os rendimentos de forma sustentável — mesmo sem acordos especiais. A calculadora de moedas tiktok ajuda a planear e otimizar.
</div>
<h3>Como os criadores usam live battles e gamificação para ganhar mais</h3>
<p><strong>Muitos criadores aumentam a receita com mecânicas de gamificação como rankings, desafios de batalha e metas de doação. Estas dinâmicas incentivam presentes mais frequentes e de maior valor.</strong></p>
<p>As live battles são competições curtas entre dois criadores em que os espectadores atribuem pontos enviando presentes. Quem vence ganha visibilidade e prestígio — ambos beneficiam com mais engagement. Muitos combinam battles com contagem decrescente, mini-jogos ou missões para o público.</p>
<ul class="advantage">
<li>As live battles criam tensão e competição</li>
<li>Rankings e objetivos em tempo real impulsionam doações espontâneas</li>
<li>Objetivos de comunidade (ex.: “5.000 coins em 5 minutos”) aumentam a participação</li>
<li>Eventos regulares fortalecem a fidelização da audiência</li>
</ul>
<div class="infobox">
<strong>Dica:</strong> Quem usa gamificação de forma consistente vê, em média, até +30 % de receita por live graças a maior envolvimento da audiência.
</div>
<p><!------------------------- PART 3 SECTION ENDE -------------------------></p>
<p><!-- ME: FOOTER OPTIN --><div class="optin-box tiktok-optin">
<h3>Ganhar dinheiro no Tiktok? Comece hoje mesmo:</h3>
Faça o download gratuito do nosso e-book.
</div>
<!-- ME: MORE INFO TRANSLATION --></div>
<div class="su-tabs-pane su-u-clearfix su-u-trim" data-title="Mais informações">
Informações sobre esta ferramenta:
<ul class="post-info">
<li><strong>Nome:</strong> Calculadora Moedas TikTok: Converta moedas em Euros</li>
<li><strong>Descrição:</strong> Quanto valem 1.000 TikTok Coins? A calculadora moedas TikTok mostra quanto recebes de verdade: 10,74 € bruto ≈ 2,80 € líquido para criadores.</li>
</ul>

<ul class="post-info">
<li><strong>Autor:</strong> Kevin</li>
<li><strong>Publicado:</strong> 24 de Outubro, 2025</li>
<li><strong>Última atualização:</strong> 27.10.2025</li>
<li><strong>Categoria:</strong> Tiktok</li>
<li><strong>Tempo de leitura:</strong> 13 min.</li>
</ul>


<strong>Sobre o autor:</strong>

<div class="author-box">
<img decoding="async" src="https://creator-cash.com/wp-content/uploads/2025/10/kevin-founder-of-creator-cash.png" alt="kevin founder of creator cash" width="90" height="90" class="size-full wp-image-234" title="Calculadora Moedas TikTok: Converta moedas em Euros 114"><strong>Kevin - Fundador da Creator Cash</strong>
Kevin é um criador de conteúdo experiente e especialista em SEO com foco na economia criativa, monetização de redes sociais e fontes de receita digital. Ele analisa plataformas como TikTok, Twitch e YouTube em detalhes e partilha cálculos, dados e estratégias práticas. Com a sua experiência em marketing e consultoria criativa, ele transmite conhecimentos sólidos com claro valor acrescentado para criadores e marcas.</div>

<div class="share-box">
<strong>Partilhar esta publicação:</strong><br>
<div class="share-box"> 
  <div class="share-row">
    <input class="share-input" type="text" value="" placeholder="https://…" readonly>
    <button class="share-copy" type="button" aria-label="Copy link" title="Copy link">
      <span class="ico ico-copy" aria-hidden="true">
        <!-- Dein SVG -->
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
          <rect x="8" y="8" width="12" height="12" rx="2" ry="2"></rect>
          <path d="M4 16V6a2 2 0 0 1 2-2h10"></path>
        </svg>
      </span>
      <span class="ico ico-check" aria-hidden="true">
        <svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="black" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
          <path d="M20 6 L9 17 L4 12"></path>
        </svg>
      </span>
    </button>
  </div>

  <div class="share-links">
    <a class="share-btn share-x"      href="#" target="_blank" rel="noopener nofollow" aria-label="Share on X"        title="X"></a>
    <a class="share-btn share-fb"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Facebook" title="Facebook"></a>
    <a class="share-btn share-li"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on LinkedIn" title="LinkedIn"></a>
    <a class="share-btn share-reddit" href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Reddit"   title="Reddit"></a>
    <a class="share-btn share-wa"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on WhatsApp" title="WhatsApp"></a>
    <a class="share-btn share-tg"     href="#" target="_blank" rel="noopener nofollow" aria-label="Share on Telegram" title="Telegram"></a>
  </div>
</div>

<style id="share-box-css">
.share-box{border:1px solid #eee;border-radius:12px;padding:12px 14px}
.share-links a{padding:5px 8px!important}
.share-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.share-input{flex:1;padding:10px;border:1px solid #e5e5e5;border-radius:10px;background:#f7f7f7}
.share-copy{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:40px;border:0;border-radius:10px;background:#54FFA7;color:#000;cursor:pointer}
.share-copy svg{width:22px;height:22px;display:block}
.share-copy .ico-check{display:none}
.share-copy.ok .ico-copy{display:none}
.share-copy.ok .ico-check{display:block}

.share-links{display:flex;flex-wrap:wrap;gap:8px}
.share-btn{display:flex;align-items:center;justify-content:center;width:40px;height:36px;border:1px solid #eaeaea;border-radius:10px;background:#B9FFD8;color:#111;text-decoration:none;position:relative}
.share-btn::before{content:"";display:block;width:18px;height:18px;mask-size:contain;mask-repeat:no-repeat;background:currentColor}

/* Platform Icons */
.share-x::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M3 3h3l6 7 6-7h3l-7.5 8.5L21 21h-3l-6-7-6 7H3l8.5-9.5z'/></svg>")}
.share-fb::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M13 22v-9h3l1-4h-4V7a1 1 0 0 1 1-1h3V2h-3a5 5 0 0 0-5 5v3H6v4h3v9z'/></svg>")}
.share-li::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M6 6a2 2 0 1 1 0-4 2 2 0 0 1 0 4zM4 8h4v12H4zM14.5 8A4.5 4.5 0 0 1 19 12.5V20h-4v-6a2 2 0 1 0-4 0v6H7v-12h4v1.6A4.49 4.49 0 0 1 14.5 8z'/></svg>")}
.share-reddit::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 12c0 4.4-4.5 8-9 8s-9-3.6-9-8 4.5-8 9-8c2.1 0 4 .6 5.5 1.7l1.6-1.6L20 5l-2.5.7A7 7 0 0 1 21 12z'/></svg>")}
.share-wa::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M20 12a8 8 0 0 1-12.3 6.7L4 20l1.3-3.6A8 8 0 1 1 20 12z'/></svg>")}
.share-tg::before{mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M21 4 3 12l6.3 2.1L18 7l-7.3 8.1V20l3-2.6L18.8 21z'/></svg>")}
</style>

<script>
(function(){
  document.querySelectorAll('.share-box').forEach(function(box){
    if (box.dataset.bound) return; box.dataset.bound = "1";

    var url   = window.location.href.split('#')[0];
    var title = document.title || '';
    var uEnc  = encodeURIComponent(url);
    var tEnc  = encodeURIComponent(title);

    var input = box.querySelector('.share-input');
    if (input) input.value = url;

    var map = {
      '.share-x'     : 'https://twitter.com/intent/tweet?url='+uEnc+'&text='+tEnc,
      '.share-fb'    : 'https://www.facebook.com/sharer/sharer.php?u='+uEnc,
      '.share-li'    : 'https://www.linkedin.com/sharing/share-offsite/?url='+uEnc,
      '.share-reddit': 'https://www.reddit.com/submit?url='+uEnc+'&title='+tEnc,
      '.share-wa'    : 'https://wa.me/?text='+tEnc+'%20'+uEnc,
      '.share-tg'    : 'https://t.me/share/url?url='+uEnc+'&text='+tEnc
    };
    Object.keys(map).forEach(function(sel){
      var a = box.querySelector(sel); if(a) a.href = map[sel];
    });

    var copy = box.querySelector('.share-copy');
    if (copy && input) {
      copy.addEventListener('click', async function(){
        try { await navigator.clipboard.writeText(input.value); copy.classList.add('ok'); } catch(e){}
        setTimeout(function(){ copy.classList.remove('ok'); }, 1200);
      });
    }
  });
})();
</script>

</div>
</div></div></div>
</p></div>

</div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
