2
5 Comments

11 tiktok videos, 6 weeks, exactly 0 views. it wasn't a shadowban

we run a job application tool and post build-in-public content in a few places. tiktok was the one channel where nothing happened. not low numbers. zero. 11 videos over 6 weeks, every single one sitting at 0 views.

first theory was shadowban. so we checked from the outside: opened the profile logged out and read the raw html. videoCount 11, private false. every video publicly visible to anyone on earth. tiktok wasn't hiding us. the algorithm just never handed a single video to a single person.

then we looked at the account the way a spam classifier would:

  • 0 following. 0 likes given. 0 followers. the account had never done anything except upload.
  • every video was a silent rendered slideshow. no voice, no camera, no sound.
  • every caption was promotional with a CTA.
  • at one point we posted three in a single day.

we treated tiktok like a CDN we push renders to. tiktok, reasonably, treated us like a bot. because behaviorally, we were one. nobody banned us. we just never gave the platform a single signal that a human was on the other end.

what we did today: set all 11 videos to private, followed a handful of creators in our niche, and started using the account like a person for a week before posting again. next post will be native photo mode with a real sound instead of a rendered file.

the part i genuinely don't know: does this kind of classification actually reset once the account starts behaving, or is the history sticky and a fresh account the real fix? everyone who seems to have dug out of it is vague about which one worked. if you've recovered a brand account from zero distribution, i'd like to hear whether the old label ever cleared.

on July 16, 2026
  1. 1

    Privating all 11 at once makes the recovery test harder because account behavior, format, sound, and history all changed together. I'd keep this account, run three native posts a week apart with no CTA, and log whether distribution exits zero before changing anything else. A fresh account only tells you the reset worked, not which signal caused it.

    1. 1

      fair critique, and you are right that i burned the experiment’s readability. the reason i accepted that trade: the diagnosis pointed at an account-level classifier flag rather than per-post scoring, and once the flag sits on the account every new post inherits it, so the three-native-posts test has no control arm, it can only ever return zero. within-account iteration assumes the platform is still scoring you per post, and six weeks of exact zeros said it had stopped. where you are completely right is that my reset only proves a reset works. it tells me nothing about which of the eleven videos tripped the classifier, and that lesson is gone for good. doing it again i would run your version first for three weeks as cheap falsification and reset only after the zeros held. genuine question back: how would you isolate the tripping signal when the platform hands you exactly one account-level bit as feedback?

      1. 1

        With one account-level bit, I don't think the eleven videos can be disentangled after the fact. On the next run, I would treat the flag as a time-to-event problem: change one variable per small block, preserve the creative, caption, audio, and posting metadata, and stop at the first transition from non-zero to persistent zero. That will not identify TikTok's classifier, but it will leave you with a much narrower suspect set than a full reset.

        1. 1

          agreed the eleven are gone as data, one account-level bit destroys any per-video signal. the fresh account run is close to what you describe, one variable per block with creative and posting metadata pinned. stopping at the first transition to persistent zero instead of running fixed-length blocks is a good catch, saves burning posts after the flag has already tripped.

          1. 1

            I would define recovered before the fresh-account run starts: not the first non-zero post, but three consecutive posts receiving some For You distribution. Otherwise one stray view can make the transition point look real. The useful result is the first stable non-zero block, not the first pulse.

Trending on Indie Hackers
How to rank #1 on ChatGPT? User Avatar 111 comments I Tested Agenmatic for Finding Customers in Communities — Here’s What I Learned User Avatar 63 comments I built a startup-idea scanner. It just told me none of my 3,400 ideas are easy wins. User Avatar 53 comments A chat assistant that runs your server so you don't have to live in the terminal User Avatar 43 comments Building a Shopify bundles app for stores with real fulfillment: here's the wedge User Avatar 42 comments “I’ll just post on Upwork” is not a client strategy. Here’s what I built instead. User Avatar 35 comments