<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Creator Rise Agency</title>
    <description>The latest articles on DEV Community by Creator Rise Agency (@creatorriseagency).</description>
    <link>https://dev.to/creatorriseagency</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4187080%2F52e55f0a-52b5-4d77-8c94-73a9f8eda132.png</url>
      <title>DEV Community: Creator Rise Agency</title>
      <link>https://dev.to/creatorriseagency</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/creatorriseagency"/>
    <language>en</language>
    <item>
      <title>TikTok LIVE Access: What Buyers Should Verify Before Paying</title>
      <dc:creator>Creator Rise Agency</dc:creator>
      <pubDate>Tue, 20 Oct 2026 13:15:00 +0000</pubDate>
      <link>https://dev.to/creatorriseagency/tiktok-live-access-what-buyers-should-verify-before-paying-5h84</link>
      <guid>https://dev.to/creatorriseagency/tiktok-live-access-what-buyers-should-verify-before-paying-5h84</guid>
      <description>&lt;p&gt;Going LIVE is one of the most direct ways to talk to an audience on TikTok. You can answer questions in real time, show products and build trust faster than with edited clips. Because LIVE is not open to every account, many marketers look at existing profiles where the feature is already switched on.&lt;/p&gt;

&lt;p&gt;Before you shortlist any of the &lt;strong&gt;&lt;a href="https://creatorriseagency.com/live-accounts/" rel="noopener noreferrer"&gt;TikTok accounts with LIVE access&lt;/a&gt;&lt;/strong&gt; you find online, it helps to understand what LIVE actually depends on and what you can check yourself. This guide keeps things practical and honest.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why LIVE Access Is Not a Fixed Feature
&lt;/h2&gt;

&lt;p&gt;TikTok decides who can go LIVE based on its own requirements, which include the age of the account holder, account standing and other conditions that TikTok can change over time. LIVE access is therefore a status, not a permanent property you can lock in. An account that can go LIVE today can lose the feature after a policy violation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Age and the person behind the account
&lt;/h3&gt;

&lt;p&gt;TikTok links certain LIVE features, such as receiving gifts, to the age and identity of the account holder. That matters if an account changes hands, because the new user has to meet the requirements personally.&lt;/p&gt;

&lt;h3&gt;
  
  
  Transfers and TikTok's terms
&lt;/h3&gt;

&lt;p&gt;TikTok's Terms of Service say accounts are personal and that transferring an account to someone else requires TikTok's permission. Anyone considering an account should read those terms first and understand the risk. In the same way, Creator Rewards and other payouts are tied to the identity of the account holder, so earnings do not simply move to a new owner.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to Verify Before You Commit
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl67289phl053h86mm7dx.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fl67289phl053h86mm7dx.jpg" alt="Checklist for verifying TikTok LIVE access" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. A live demonstration
&lt;/h3&gt;

&lt;p&gt;Ask the seller to start a short LIVE session at an agreed time, or to show the LIVE option in the app over a screen share. A screenshot is easy to edit; a real-time demo is not.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. LIVE history
&lt;/h3&gt;

&lt;p&gt;An account that has gone LIVE several times in recent months tells you more than one with a single test stream. Look at past replays if they are saved, and check how viewers reacted.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Standing and restrictions
&lt;/h3&gt;

&lt;p&gt;Ask whether the account has received warnings, strikes or LIVE-specific restrictions. Ask for a screenshot of the account status page and compare it with what you see in the demo.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Audience fit
&lt;/h3&gt;

&lt;p&gt;A LIVE stream only works if followers are awake and interested. Check the follower location and active hours in analytics. An audience in a different time zone may barely see your streams.&lt;/p&gt;

&lt;h2&gt;
  
  
  Red Flags to Walk Away From
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqa4xz9uprdpzcot5qq86.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqa4xz9uprdpzcot5qq86.jpg" alt="Red flags when evaluating LIVE-enabled TikTok accounts" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Be careful with any listing that promises a certain number of gifts, viewers or income from LIVE. No one can guarantee those results, because they depend on your content, your schedule and TikTok's own systems. Pressure to pay quickly, refusal to do a live demo and vague answers about account history are also good reasons to step back.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical Checklist
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Watch a real-time LIVE demo or screen share&lt;/li&gt;
&lt;li&gt;Review recent LIVE replays and comments&lt;/li&gt;
&lt;li&gt;Confirm there are no strikes or LIVE restrictions&lt;/li&gt;
&lt;li&gt;Check follower country and active hours&lt;/li&gt;
&lt;li&gt;Read TikTok's terms on account transfers&lt;/li&gt;
&lt;li&gt;Get the handover steps and support in writing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you plan to use LIVE mainly for selling, it is also worth comparing options built for commerce. Our overview of &lt;a href="https://creatorriseagency.com/category/affiliate-accounts/" rel="noopener noreferrer"&gt;TikTok Shop affiliate accounts&lt;/a&gt; explains how those differ from general LIVE profiles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Can LIVE access be removed after I start using the account?
&lt;/h3&gt;

&lt;p&gt;Yes. TikTok can limit or remove LIVE access if the account breaks its guidelines or no longer meets its requirements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Will I earn LIVE gifts straight away?
&lt;/h3&gt;

&lt;p&gt;There is no guarantee. Gifts depend on your audience, content and TikTok's eligibility rules for the account holder.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is a screenshot of the LIVE button enough proof?
&lt;/h3&gt;

&lt;p&gt;It is a start, but a live demo or screen share is much more reliable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does TikTok allow account transfers?
&lt;/h3&gt;

&lt;p&gt;TikTok's terms require its permission for transferring an account, so review those terms before deciding.&lt;/p&gt;

&lt;h3&gt;
  
  
  What should a seller provide in writing?
&lt;/h3&gt;

&lt;p&gt;The handover steps, what is included, and what support is offered after the transfer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Next Step
&lt;/h2&gt;

&lt;p&gt;If you want to compare profiles side by side, browse our current &lt;strong&gt;&lt;a href="https://creatorriseagency.com/live-accounts/" rel="noopener noreferrer"&gt;TikTok accounts with LIVE access&lt;/a&gt;&lt;/strong&gt;, ask questions before you decide, and use the checklist above for every option you consider.&lt;/p&gt;

</description>
      <category>tiktok</category>
      <category>marketing</category>
      <category>socialmedia</category>
      <category>business</category>
    </item>
    <item>
      <title>TikTok Creator Rewards Eligibility: Why Your Country Changes Everything</title>
      <dc:creator>Creator Rise Agency</dc:creator>
      <pubDate>Sat, 17 Oct 2026 18:48:16 +0000</pubDate>
      <link>https://dev.to/creatorriseagency/tiktok-creator-rewards-eligibility-why-your-country-changes-everything-c27</link>
      <guid>https://dev.to/creatorriseagency/tiktok-creator-rewards-eligibility-why-your-country-changes-everything-c27</guid>
      <description>&lt;p&gt;If you are planning to earn from TikTok, or to buy an account that already earns, it helps to understand how Creator Rewards eligibility actually works. The rules are set by TikTok, they differ by country, and they change. Treat this post as a framework for checking, not a rulebook, and always confirm the current terms inside the app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Eligibility is tied to the account's country
&lt;/h2&gt;

&lt;p&gt;The Creator Rewards Program is only offered in a limited set of markets, and an account's registered region decides whether the programme is even visible to it. TikTok has named countries such as the United States, the United Kingdom, Germany and France among them, but the list has grown over time. Open &lt;strong&gt;Settings and privacy&lt;/strong&gt; and look for the creator tools or Creator Rewards entry. If it is missing, the account is not eligible where it is registered today.&lt;/p&gt;

&lt;h2&gt;
  
  
  The common requirements to look for
&lt;/h2&gt;

&lt;p&gt;Requirements vary, so read the current page for your region. Typically you will see items like these:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a minimum age for the account holder&lt;/li&gt;
&lt;li&gt;a minimum number of followers&lt;/li&gt;
&lt;li&gt;a minimum number of video views over a recent period&lt;/li&gt;
&lt;li&gt;a clean record with no serious community guideline violations&lt;/li&gt;
&lt;li&gt;original content of a minimum length, rather than reposted clips&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The follower and view thresholds are published by TikTok and updated from time to time, so we are deliberately not quoting them here.&lt;/p&gt;

&lt;h2&gt;
  
  
  Eligible, enrolled and paid are different things
&lt;/h2&gt;

&lt;p&gt;An account can meet the thresholds and still not be earning. Being eligible means you can apply, being enrolled means you were accepted, and being paid means payouts are connected and working. If you are evaluating an account for purchase, ask to see each stage in the app rather than accepting a screenshot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why region matters when you buy
&lt;/h2&gt;

&lt;p&gt;Because the programme depends on the registered country, a US account and a French account are not interchangeable. Decide which audience and market you are targeting first, then look at accounts from that region. If you want a US audience, browse &lt;a href="https://creatorriseagency.com/usa-tiktok-accounts/" rel="noopener noreferrer"&gt;USA TikTok accounts&lt;/a&gt;; for a French-speaking audience see &lt;a href="https://creatorriseagency.com/france-tiktok-accounts/" rel="noopener noreferrer"&gt;France TikTok accounts&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  A short checklist
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Confirm the registered country in the app.&lt;/li&gt;
&lt;li&gt;Check that Creator Rewards appears in the creator tools.&lt;/li&gt;
&lt;li&gt;Review the account's guideline history.&lt;/li&gt;
&lt;li&gt;Verify payout status yourself after handover.&lt;/li&gt;
&lt;li&gt;Re-read the programme rules, since they change.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Eligibility is easy to misread and expensive to get wrong, so a few minutes of verification is always worth it.&lt;/p&gt;

</description>
      <category>marketing</category>
      <category>tiktok</category>
      <category>socialmedia</category>
      <category>creators</category>
    </item>
    <item>
      <title>TikTok Engagement Rate in JavaScript: Why the Denominator Changes Everything</title>
      <dc:creator>Creator Rise Agency</dc:creator>
      <pubDate>Thu, 15 Oct 2026 15:25:24 +0000</pubDate>
      <link>https://dev.to/creatorriseagency/tiktok-engagement-rate-in-javascript-why-the-denominator-changes-everything-4dgo</link>
      <guid>https://dev.to/creatorriseagency/tiktok-engagement-rate-in-javascript-why-the-denominator-changes-everything-4dgo</guid>
      <description>&lt;p&gt;Engagement rate is the number everyone quotes when they talk about a TikTok account, and it is also the number most often calculated two different ways without anyone noticing. If you are building a dashboard, a scraper report or a small calculator, the choice of denominator changes the answer more than anything else.&lt;/p&gt;

&lt;p&gt;This post walks through the two common formulas, a small JavaScript implementation, and two sanity checks that catch bought engagement.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two formulas
&lt;/h2&gt;

&lt;p&gt;Both start the same way: add up the interactions on a video.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;interactions = likes + comments + shares + saves
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then you divide by one of two things.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engagement rate by views&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ER(views) = interactions / views * 100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Engagement rate by followers&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ER(followers) = interactions / followers * 100
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;They answer different questions. Per view tells you how people who actually saw the video reacted to it. Per follower tells you how much of the follower base is active. On TikTok, where videos are distributed one by one through the For You feed, the per-view number is usually the better signal of how content performs. The per-follower number is mostly useful for spotting a follower base that does not watch.&lt;/p&gt;

&lt;h2&gt;
  
  
  A worked example
&lt;/h2&gt;

&lt;p&gt;A video has 20,000 views, 1,400 likes, 30 comments, 110 shares and 60 saves. The account has 80,000 followers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Interactions: 1,400 + 30 + 110 + 60 = 1,600&lt;/li&gt;
&lt;li&gt;By views: 1,600 / 20,000 * 100 = &lt;strong&gt;8%&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;By followers: 1,600 / 80,000 * 100 = &lt;strong&gt;2%&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Same video, same day, and one rate is four times the other. That is why two tools can disagree on the same account. Some also leave saves out entirely, which lowers the result again.&lt;/p&gt;

&lt;h2&gt;
  
  
  The JavaScript
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;engagement&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt; &lt;span class="nx"&gt;views&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;followers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;likes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;shares&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;saves&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;interactions&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;likes&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;comments&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;shares&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;saves&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;pct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;d&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;n&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nx"&gt;d&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;toFixed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;interactions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;byViews&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;pct&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;interactions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;views&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;byFollowers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;pct&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;interactions&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;followers&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="c1"&gt;// authenticity ratios, per 100 likes&lt;/span&gt;
    &lt;span class="na"&gt;commentsPer100Likes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;pct&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;likes&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;sharesPer100Likes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;pct&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;shares&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;likes&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;engagement&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;views&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;20000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;followers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;80000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;likes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1400&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;shares&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;110&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;saves&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}));&lt;/span&gt;
&lt;span class="c1"&gt;// { interactions: 1600, byViews: 8, byFollowers: 2,&lt;/span&gt;
&lt;span class="c1"&gt;//   commentsPer100Likes: 2.14, sharesPer100Likes: 7.86 }&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;pct&lt;/code&gt; helper returns &lt;code&gt;null&lt;/code&gt; instead of &lt;code&gt;Infinity&lt;/code&gt; when a denominator is zero, which saves you from a broken chart the first time someone pastes in an empty row.&lt;/p&gt;

&lt;h2&gt;
  
  
  Use the median, not the average
&lt;/h2&gt;

&lt;p&gt;One viral video will drag an average somewhere useless. If you are assessing an account rather than a single post, take the last 15 public videos and use the median of each field.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;median&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[...&lt;/span&gt;&lt;span class="nx"&gt;arr&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;sort&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="nx"&gt;b&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;m&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;length&lt;/span&gt; &lt;span class="o"&gt;%&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;m&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;m&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;m&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;accountEngagement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;posts&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;followers&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;pick&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;k&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;median&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;posts&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;k&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;??&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;engagement&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
    &lt;span class="na"&gt;views&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;pick&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;views&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="nx"&gt;followers&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="na"&gt;likes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;pick&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;likes&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="na"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;pick&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;comments&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="na"&gt;shares&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;pick&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;shares&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="na"&gt;saves&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nf"&gt;pick&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;saves&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Two ratios that catch bought engagement
&lt;/h2&gt;

&lt;p&gt;Likes are the cheapest interaction to fake. Comments and shares are much harder. That is why the function above also returns comments and shares per 100 likes. If an account has huge like counts but almost no comments or shares, the likes deserve a closer look. A ratio far outside what similar accounts show is not proof of anything on its own, but it is a good reason to ask questions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it without writing code
&lt;/h2&gt;

&lt;p&gt;If you just want the numbers, we built a free &lt;a href="https://creatorriseagency.com/tiktok-engagement-rate-calculator/" rel="noopener noreferrer"&gt;TikTok engagement rate calculator&lt;/a&gt; that shows both rates side by side, plus the two authenticity ratios. The maths runs in the browser and nothing is sent anywhere.&lt;/p&gt;

&lt;p&gt;One last caveat: engagement rate does not predict earnings. TikTok's Creator Rewards pays on qualified views of videos longer than a minute, and Shop Affiliate pays on sales. A strong engagement rate tells you the audience is healthy, not how much money the account will make.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>socialmedia</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
