Category: Social Media

  • Google Business Profile scheduling: when posts disappear early

    Google Business Profile scheduling: when posts disappear early

    Google Business Profile scheduling: when posts disappear early
    Photo by Firmbee.com on Unsplash

    Google Business Profile lets you schedule posts up to a year in advance. What it doesn’t tell you: most post types expire automatically after seven days, whether you scheduled them for longer or not.

    If you’re using Business Profile posts to drive traffic to your newsletter landing page, product launch, or time-sensitive content, you need to know when Google pulls the rug out.

    The seven-day expiration wall

    Standard posts—updates, news, anything that isn’t an Offer or Event—live for exactly seven days from publication. Google counts from the moment the post goes live, not from when you hit schedule.

    Schedule a post on Monday for Thursday publication? It dies the following Thursday. You don’t get a warning. It just drops off your profile.

    Google documents this in the Business Profile Help pages (checked November 2026), buried three paragraphs into the post-type definitions. Most scheduling interfaces don’t surface the expiration date at all—you see “Scheduled for Nov 14” but no “Expires Nov 21.”

    Event and Offer posts follow their own clocks

    Event posts expire when the event end date passes. Set an event for November 15–17, and the post vanishes at midnight on the 18th, regardless of when you published it.

    Offer posts expire on the date you specify in the offer-end field. Google requires an end date; you can’t leave it open. Maximum duration is one year from creation.

    Both post types let you control longevity, but only if you structure your content as an event or offer. A standard “We published a new guide” post gets seven days no matter what.

    What this means for content campaigns

    If you’re running a two-week launch, don’t schedule one Business Profile post on day one and expect it to carry you through. You’ll go dark after seven days.

    Instead, schedule a sequence: one post on launch day, another on day six, a third on day twelve. Treat Business Profile like a feed that needs regular refresh, not a billboard you set once.

    For evergreen content—newsletter signup pages, course landing pages, resource hubs—Business Profile posts are the wrong tool. They’ll expire while the page is still live, and you’ll either manually re-post every week or let the profile go stale.

    Better evergreen options: the website link in your profile header (permanent), the Services section (persistent until you remove it), or a pinned post on your linked social accounts.

    How to check what’s live and what’s expired

    The Business Profile dashboard shows scheduled posts under the Posts tab, but expired posts disappear from the public view without moving to a visible archive. You won’t see “Expired – Nov 3” in your list; you’ll just see fewer posts than you remember scheduling.

    To audit what’s actually visible to searchers, open an incognito window, search your business name, and scroll through the posts carousel in the Knowledge Panel. Compare that to your scheduled list in the dashboard. Anything missing has already expired.

    If you manage multiple profiles or schedule in batches, set a calendar reminder for six days after each post goes live. Check whether it’s still pulling traffic in Google Search Console (filter by landing page URL if you’re linking to a specific page). If it is, queue the next post. If it’s not, stop wasting the effort.

    Scheduling tools don’t fix the expiration

    Third-party tools like Publer and Buffer let you schedule Business Profile posts alongside your other social content. They push the post to Google on the date you choose, but they don’t extend the seven-day lifespan.

    Some tools let you set up recurring posts—publish the same update every Monday, for instance. That works around the expiration by treating each week as a new post, but you’re still refreshing manually (or paying the tool to refresh for you).

    No tool can override Google’s post-type rules. If you schedule a standard post, it dies in seven days whether you used the native interface or a third-party dashboard.

    Want to see which of your traffic sources actually convert? Subscribe to One Two Three Send for breakdowns of the tools and tactics that move the needle for solo operators and small teams.

    The seven-day window isn’t a bug. It’s Google pushing you to keep the profile active. If you can’t commit to weekly posts, use the permanent sections—Services, Products, website link—and skip the feed entirely. A stale post history signals neglect just as much as no posts at all.

    Heads up — some links in this article are affiliate links. If you sign up through them, we may earn a small commission at no extra cost to you. We only recommend tools we use ourselves.

  • Instagram carousel posts: post count, reach delta, and save rate

    Instagram carousel posts: post count, reach delta, and save rate

    Instagram carousel posts: post count, reach delta, and save rate
    Photo by Nathana Rebouças on Unsplash

    Instagram carousels—posts with 2–10 swipeable slides—are the format most operator accounts default to. The theory: more slides mean longer dwell time, which signals quality to the algorithm, which lifts reach and saves.

    That’s true in principle. But the mechanism is more specific than most operators realise, and slide count alone doesn’t guarantee better distribution. Here’s how carousels work under the hood, when they help, and when a single image performs better.

    How Instagram ranks carousel posts

    Instagram’s public Ranking Explained page (checked November 2026) lists time spent as one of several signals the feed algorithm uses. The platform doesn’t give carousels a boost just for being carousels—it measures whether people stop scrolling, swipe through slides, and linger.

    That means a ten-slide carousel that nobody swipes past slide two will rank lower than a single-image post people pause on. The format is a tool, not a cheat code.

    Carousel posts also appear in the feed multiple times if a user didn’t swipe through all the slides on first view. Instagram confirmed this in a 2021 blog post explaining feed ranking, and the behaviour still applies in 2026: unfinished carousels can re-surface hours or days later, giving you a second impression without paying for it.

    Slide count and completion rate

    The trade-off: more slides mean lower completion rates. If you publish a ten-slide carousel, most viewers will drop off by slide four or five. Instagram doesn’t publish completion benchmarks, but every operator who checks their Insights sees the same pattern—engagement drops sharply after the first three slides.

    That’s not necessarily bad. A post that holds attention for five slides still accumulates more seconds of dwell time than a single image someone scrolls past in two. But it also means slides six through ten are doing very little work unless your hook and pacing are strong enough to keep people swiping.

    Short carousels—three to five slides—tend to balance completion rate and total time spent. You get the algorithmic benefit of multi-slide engagement without the drop-off penalty of a long deck that loses half the audience halfway through.

    Saves, shares, and carousel structure

    Instagram treats saves as a strong positive signal. A saved post is content someone wants to return to, which the algorithm interprets as high value. Carousels that function as reference material—checklists, comparison charts, step-by-step guides—tend to earn more saves than single images because they pack more utility into one post.

    But that only works if the first slide makes the value obvious. If your opening slide looks like every other text-on-gradient template, people won’t swipe. The hook has to promise something worth finishing.

    Shares follow a similar pattern. Carousels that tell a clear story or build to a punchline in the final slide get shared more than single images, but only if the narrative structure is tight. A ten-slide carousel that meanders will get fewer shares than a punchy single-image meme.

    When a single image beats a carousel

    Carousels aren’t always the right format. Single-image posts work better when:

    • The idea fits in one frame—no need to stretch it across multiple slides just to game the algorithm.
    • You’re optimising for comments, not saves. A provocative single image with a question in the caption often sparks more discussion than a carousel that asks people to swipe and comment.
    • You’re running ads. Instagram’s ad manager supports carousels, but single-image ads often convert better because there’s no friction—one image, one message, one CTA.

    The platform doesn’t penalise single-image posts. If people engage, it ranks. The format choice should match the content, not the other way around.

    What to test

    If you’re running an operator account and want to figure out whether carousels help your specific audience, test slide count and structure separately. Try:

    • Three-slide carousels vs. ten-slide carousels on the same topic, and compare completion rate in Insights.
    • Single-image posts vs. short carousels on similar themes, and track saves and shares.
    • Front-loading your strongest slide (the punchline or key insight first) vs. building to it at the end, and watch where people drop off.

    Instagram Insights shows you swipe-through rate and time spent per post. If your ten-slide carousels consistently lose half the audience by slide five, cut them to five slides and see if engagement holds.

    Carousels work when they’re built for the platform’s mechanics—clear hook, tight pacing, payoff worth finishing. Slide count is a lever, not a strategy.

    What’s working for your account—carousels or single images? Reply and let us know. And if you found this useful, subscribe below—we publish operator breakdowns like this every day.

  • Social media platforms throttle API calls—here’s where you hit the wall

    Social media platforms throttle API calls—here’s where you hit the wall

    Social media platforms throttle API calls—here's where you hit the wall
    Photo by dole777 on Unsplash

    If you schedule posts, pull engagement data, or auto-share new articles to Twitter, LinkedIn, Facebook, or Instagram, you’re using an API behind the scenes—whether you know it or not. Every social media platform sets rate limits: hard ceilings on how many requests your account (or the app acting on your behalf) can make in a rolling window. Hit that limit and your scheduler stops posting, your analytics dashboard goes blank, or your cross-posting workflow silently fails.

    Most solo operators don’t think about API limits until they trip one. This guide explains where the walls are, what happens when you hit them, and how to design your workflow so you don’t.

    What counts as an API call

    Every interaction between an app and a social platform is an API request. Publishing a post is one call. Reading your follower count is another. Fetching the last 50 posts from your timeline might be one or fifty, depending on how the endpoint works. If you use a scheduling tool like Publer, Buffer, or Hootsuite, each action the tool takes on your behalf—posting, editing, deleting, reading replies—burns a request from your quota.

    The quota resets on a schedule: per minute, per hour, per day, or per app. Some platforms count per user; others count per application. If you connect three tools to the same Twitter account, all three may share the same pool of allowed requests.

    Where the major platforms set the ceiling

    Twitter’s (X’s) API tiers changed significantly in early 2023 and again in 2024; as of November 2026, the free tier no longer exists for third-party apps, and the Basic tier (around $100/month, checked November 2026) allows 10,000 posts per month and 1,000 read requests per month. If you schedule more than ~300 posts per month or pull analytics daily, you’ll exceed the read cap. The Pro tier raises both limits but costs several hundred dollars monthly.

    LinkedIn’s API documentation (checked November 2026) imposes different limits by endpoint. User-generated content (posts) is capped at 150 write requests per person per day for organic shares, and 25 per day for certain image or video operations. If you post once an hour around the clock, you’re under the wire—but if your scheduler retries failed uploads or you’re using multiple tools, you can hit the wall.

    Meta platforms (Facebook and Instagram) use a two-tier system: per-user and per-app. Facebook’s Graph API (checked November 2026) applies a rate limit of 200 calls per user per hour for most endpoints, but also enforces an app-level budget that scales with your app’s usage tier. Instagram’s API shares similar constraints. If you run a scheduling tool that serves multiple clients from one app ID, the app-level limit matters more than your personal ceiling.

    TikTok and Pinterest also enforce API quotas, but most solo operators use web-based schedulers rather than direct API access, so these limits typically affect the tool vendor, not you—until the vendor’s quota runs out and posts stop going through.

    What happens when you hit the limit

    Most platforms return an HTTP 429 status code (“Too Many Requests”) and a header indicating when the quota resets. Well-designed tools queue your request and retry after the window rolls over. Poorly designed tools log an error, show a generic failure message, or silently drop the task. You won’t know your post didn’t publish unless you check manually.

    Some platforms temporarily block your app or account if you exceed limits repeatedly. Twitter has historically suspended API access for 15 minutes to several hours after sustained violations. LinkedIn and Meta may throttle your requests progressively: your first dozen succeed, then every other one fails, then only one in ten goes through.

    How to stay under the ceiling

    Batch your API calls instead of making real-time requests every few minutes. If you pull analytics, fetch data once per day and cache it locally rather than querying on every page load. If you cross-post from RSS, deduplicate before sending so you don’t publish the same article twice and burn two quota slots.

    Use tools that respect rate limits and surface quota information. Publer, for example, queues posts and spaces them out to avoid bursts. Buffer provides visibility into when posts are scheduled and warns you if you’re approaching platform limits. If you’re building custom workflows with Zapier or Make, add delays between steps and check the task history for 429 errors.

    If you routinely hit limits, consider whether you need real-time data or can work with a delay. Most solo operators don’t need follower counts updated every hour. A nightly sync is enough. That single shift can cut your monthly API usage by 90 percent.

    Finally, if you manage multiple brands or clients, isolate each account’s automation. Don’t chain five Instagram profiles to the same Zapier app; Meta’s app-level limit will choke all five when any one gets busy. Use separate API keys or separate tool accounts where possible.

    When to pay for higher limits

    If your workflow depends on frequent publishing—hourly social posts, real-time comment monitoring, or live dashboard updates—and you’re brushing the free-tier ceiling every week, upgrading to a paid API tier or a higher scheduler plan is cheaper than the opportunity cost of silent failures. Twitter’s Basic tier may feel expensive at $100/month, but if a missed post costs you affiliate clicks or sponsorship deliverables, the insurance is worth it.

    Check your tool’s API usage dashboard (if it has one) or request logs every month. If you’re consistently under 50 percent of any limit, you have headroom. If you’re above 80 percent, you’re one workflow change away from breaking.

    Want more infrastructure deep-dives like this? Subscribe to One Two Three Send and we’ll send you one operator-to-operator breakdown every morning.

    Heads up — some links in this article are affiliate links. If you sign up through them, we may earn a small commission at no extra cost to you. We only recommend tools we use ourselves.

  • Social media cross-posting fails when character limits collide

    Social media cross-posting fails when character limits collide

    Social media cross-posting fails when character limits collide
    Photo by Aman Pal on Unsplash

    Cross-posting the same update to Twitter, LinkedIn, Mastodon, and Threads saves time—until one platform quietly chops your message in half, another strips your link, and a third rejects the post entirely because you hit a character ceiling you didn’t know existed.

    Every social network enforces different text limits, and those limits interact badly with automation tools that promise one-click distribution. Understanding where each platform cuts you off—and what happens when you exceed those boundaries—prevents silent failures that waste your effort and confuse your audience.

    Where each platform draws the line

    Twitter (now X) allows 280 characters for standard accounts and up to 25,000 for Premium subscribers (checked November 2026). Mastodon instances typically default to 500 characters, though administrators can raise or lower that limit per server (Mastodon documentation, checked November 2026). Threads enforces a 500-character ceiling (Meta Help Center, checked November 2026). LinkedIn permits 3,000 characters in a standard post (LinkedIn Help, checked November 2026). Bluesky allows 300 characters (Bluesky documentation, checked November 2026).

    When you write a 600-character update and send it to all five networks simultaneously, Twitter truncates at 280 and often appends an ellipsis or cuts mid-sentence. Mastodon and Threads both truncate at 500, but Mastodon may reject the post outright depending on instance settings. Bluesky chops at 300. Only LinkedIn displays the full message.

    The result: five different versions of the same post, none of which you reviewed before publication.

    How scheduling tools handle overflow

    Most cross-posting tools adopt one of three strategies when your text exceeds a platform’s limit: silent truncation, rejection with an error message, or automatic thread creation.

    Silent truncation is the most common and the most dangerous. The tool cuts your message at the character limit without warning. You see a green confirmation checkmark, assume the post went live as written, and discover hours later that the final sentence—often your call-to-action or link context—disappeared.

    Rejection is clearer but requires you to edit and resubmit. Buffer and Publer both flag character-limit violations before you schedule, forcing you to trim or split the update manually. This adds friction but prevents garbled output.

    Automatic threading splits long posts into sequential replies. Typefully and some configurations of Publer will break a 600-character update into a Twitter thread, a Mastodon thread, and single posts on LinkedIn and Threads. This works when your content naturally segments into discrete thoughts. It backfires when a single-sentence overflow creates a two-part thread where the second tweet contains only a trailing URL.

    Link handling compounds the problem

    Character limits count differently depending on whether you include a link. Twitter counts all URLs as 23 characters regardless of actual length (Twitter Developer Docs, checked November 2026). LinkedIn counts the full visible URL. Mastodon counts the entire URL string unless your instance applies link shortening.

    Say you write a 250-character post with a 60-character URL. On Twitter, that’s 250 + 23 = 273 characters—under the limit. On Mastodon with a 500-character cap, it’s 310 characters—still safe. On Bluesky with a 300-character limit, it’s 310 characters—rejected or truncated, often cutting the URL itself.

    When a scheduler truncates before the link, the post loses its destination entirely. When it truncates inside the link, you publish a broken URL that leads nowhere.

    What to do instead

    Write for the lowest common denominator if you must cross-post identical text. Bluesky’s 300-character limit becomes your ceiling. Anything longer requires platform-specific versions.

    Preview every post before scheduling. Tools like Publer display per-platform character counts and highlight overages in red. Use that feedback to edit, split, or cancel posts that don’t fit.

    Test link placement separately. Put URLs at the end of short posts to avoid mid-link truncation. On platforms with generous limits like LinkedIn, add context after the link without worrying about overflow.

    Skip cross-posting for long-form updates. If your message naturally runs 800 characters, publish the full version on LinkedIn, write a 280-character summary for Twitter, and adapt a 500-character hook for Threads. Trying to force one text block across all three wastes the strengths of each platform.

    Want more tool breakdowns like this? Subscribe to One Two Three Send and get operator-focused online-business analysis in your inbox every week.

    Heads up — some links in this article are affiliate links. If you sign up through them, we may earn a small commission at no extra cost to you. We only recommend tools we use ourselves.

  • Social media platforms remove links differently—what survives

    Social media platforms remove links differently—what survives

    Social media platforms remove links differently—what survives
    Photo by Julian on Unsplash

    Post the same link across four platforms and you’ll see four different outcomes. LinkedIn will render a preview card. X might throttle your reach. Threads will bury you in the algorithm. Bluesky leaves it alone but offers no preview. None of this is documented well, and most operators only notice when traffic drops.

    Understanding how each network treats external URLs—and why—helps you route traffic without fighting the platform. Here’s what happens to your links on the four networks solo operators use most in 2026.

    LinkedIn: preview cards stay, but the algorithm favours native content

    LinkedIn renders link previews automatically when you paste a URL into a post. The card shows the page title, description, and featured image pulled from your Open Graph tags. That part works reliably.

    What LinkedIn doesn’t advertise: posts with external links receive less algorithmic distribution than text-only posts or native document uploads. LinkedIn’s creator guidance (checked October 2026) encourages members to “start conversations” rather than drive clicks away from the platform.

    Operators who post the same article as a LinkedIn native document—uploaded as a PDF or composed in LinkedIn’s article editor—report higher impression counts than link posts. LinkedIn doesn’t publish the discount rate, but the pattern is consistent enough that most B2B newsletters now post a teaser on LinkedIn and put the link in the first comment instead of the original post body.

    That workaround still triggers a preview card in the comment thread, and anecdotally performs better than embedding the link in the main post. LinkedIn has not confirmed this behaviour, but it aligns with their stated preference for on-platform engagement.

    X: external links trigger reach throttling

    X (formerly Twitter) has publicly stated that posts containing external links receive less distribution. In April 2023, Elon Musk posted that the platform would “vastly increase” the weight of text and media shared natively versus links that take users off-site. That policy remains in effect as of October 2026.

    When you include a URL in a post on X, the platform renders a preview card with the title, description, and image. But the post’s reach—measured by impressions and profile visits—drops compared to identical text posted without a link.

    The recommended workaround: post your commentary or hook as the main tweet, then reply to your own tweet with the link. The reply still gets seen by your followers and appears in the thread, but the primary post enters the algorithm without the external-link penalty. This two-tweet pattern is now standard among newsletter operators and content creators who rely on X for traffic.

    One edge case: X prioritises posts from paid subscribers (X Premium, formerly Blue). Paid accounts see less severe throttling on link posts, though the gap still exists. X Premium features (checked October 2026) mention “higher ranking in conversations and search” but do not quantify the link-post discount.

    Threads: links work, but discovery is nearly invisible

    Threads, Meta’s text-based social network, allows external links and renders basic preview cards when you paste a URL. The post appears in your followers’ feeds. But Threads’ recommendation algorithm—the “For You” feed that drives most discovery—heavily favours conversational posts over promotional content.

    Meta has not published detailed ranking criteria for Threads, but the launch announcement (July 2023) emphasised “positive, productive conversations.” In practice, posts with external links rarely appear in the For You feed unless they’ve already generated significant replies and engagement from your direct followers.

    Threads also lacks hashtag search and keyword discovery as of October 2026, so there’s no SEO-style workaround. The platform functions best as a discussion space for your existing audience, not a traffic engine. Operators who treat Threads as a place to build relationships—then move readers to a newsletter or blog via profile bio link—see better results than those who post links directly.

    Bluesky: links are untouched, but previews require extra work

    Bluesky does not penalise external links in its algorithm. The platform’s federation protocol (checked October 2026) treats links as plain text by default. If you want a preview card, you need to ensure your page includes valid Open Graph meta tags (og:title, og:description, og:image).

    Bluesky fetches these tags when you paste a URL, but the process is less forgiving than LinkedIn or X. If your image is too large (over 1 MB), not served over HTTPS, or missing a proper content-type header, the preview fails silently and your link appears as plain blue text.

    The upside: Bluesky’s chronological and discovery feeds don’t down-rank link posts. If your audience follows you, they see your posts in order. The lack of algorithmic suppression makes Bluesky one of the cleanest platforms for driving traffic, provided your audience is already there.

    What this means for your posting strategy

    If you’re sending readers to a newsletter signup page, a blog post, or a product launch, the platform you choose matters as much as the copy.

    • LinkedIn: Post a text teaser or native document; drop the link in the first comment.
    • X: Post the hook as the main tweet, reply with the link immediately.
    • Threads: Use it for conversation and community; put the destination link in your profile.
    • Bluesky: Post the link directly; make sure your Open Graph tags are clean.

    Each network’s link policy reflects its business model. Platforms that monetise attention (LinkedIn, X, Threads) want users to stay on-platform. Bluesky, built on open protocols and funded by grants rather than ads, has no such incentive—yet.

    If you’re using a scheduler like Publer to post across networks, don’t syndicate identical link posts. Customise the format for each platform, or accept that some networks will suppress your reach. The same URL posted four ways will perform four times differently.

    Got a question about cross-posting or social traffic? Reply to this email—we read every response and use your questions to shape future articles.

    Heads up — some links in this article are affiliate links. If you sign up through them, we may earn a small commission at no extra cost to you. We only recommend tools we use ourselves.

  • Social media automation fails: which networks reject scheduled posts

    Social media automation fails: which networks reject scheduled posts

    Social media automation fails: which networks reject scheduled posts
    Photo by Igor Omilaev on Unsplash

    Scheduling tools promise to post across every platform on your behalf. But the networks themselves don’t all cooperate. Some reject automated posts outright. Others accept them but throttle their reach. A few genuinely don’t care.

    If you’re running a content business and relying on automation to distribute updates, you need to know which platforms will quietly kill your reach—and which ones work exactly as advertised.

    LinkedIn’s API restrictions: what you can’t schedule

    LinkedIn allows third-party scheduling through its official API, but with strict limits. You can schedule text posts, single images, and links. You cannot schedule polls, documents, or multi-image carousels through automation tools. Those require manual posting via the LinkedIn interface.

    If your strategy depends on carousels—popular for how-to content and list breakdowns—you’re stuck posting manually or using LinkedIn’s native scheduler, which doesn’t integrate with cross-platform tools.

    The API also enforces rate limits. Most scheduling platforms cap you at around 25–30 posts per day across all LinkedIn profiles connected to your account. For solo operators, that’s rarely a problem. For agencies managing client accounts, it’s a wall you’ll hit fast.

    Instagram’s reach penalty for third-party tools

    Instagram technically allows scheduling via its Graph API, which powers tools like Publer, Buffer, and Later. But multiple operators have reported measurably lower reach on API-posted content compared to posts published directly through the Instagram app.

    Instagram has never confirmed an algorithmic penalty, but the pattern is consistent enough that most growth-focused accounts now treat scheduling tools as a convenience for Reels and static posts—and still manually post Stories, which can’t be fully automated anyway.

    Stories scheduled via API post as single slides. You lose stickers, polls, questions, countdowns, and multi-slide sequences. If Stories are a core part of your strategy, automation saves you almost nothing.

    Twitter/X’s API tiers and what breaks at each level

    Twitter’s API access is now tiered and expensive. Free tier access was killed in early 2023 and hasn’t returned. The Basic tier starts at $100/month and allows read and write access, but with strict rate limits: 1,500 posts per month, roughly 50 per day.

    If you cross that limit, your scheduled posts fail silently. Most tools will show them as “queued” but won’t surface the error unless you check logs. For operators running multiple Twitter accounts or posting frequently, you’ll need the $5,000/month Pro tier to avoid cutoffs.

    Threads scheduled via third-party tools also can’t include polls or tagged locations. Both require native posting.

    Facebook and YouTube: the two that actually work

    Facebook’s API is the most permissive. You can schedule text, images, video, carousels, and even link previews with custom thumbnails. Reach appears identical whether you post manually or via automation. If you’re only automating one network reliably, make it Facebook.

    YouTube similarly supports full automation for video uploads, including titles, descriptions, tags, thumbnails, and publish timing. The only restriction: you can’t schedule Premieres via API. Standard uploads work without issue.

    What to do if automation is breaking your reach

    Run a split test. For two weeks, post half your content manually and half via your scheduler. Track impressions, engagement rate, and click-through on both sets. If the manual posts consistently outperform by more than 15%, you’ve confirmed a penalty.

    At that point, you have three options: accept lower reach in exchange for time savings, hire someone to post manually, or drop that platform from your automation stack and treat it as a manual-only channel.

    Most solo operators pick the first. If Instagram drives 8% of your traffic and automation cuts that to 6%, the two-percentage-point loss is worth the hour saved per week. But if Instagram is your primary acquisition channel, manual posting isn’t optional—it’s the cost of distribution.

    Want more breakdowns like this? Subscribe to One Two Three Send for weekly deep-dives on the tools that run online businesses—and the limits nobody mentions until you hit them.

    Heads up — some links in this article are affiliate links. If you sign up through them, we may earn a small commission at no extra cost to you. We only recommend tools we use ourselves.

  • Social media analytics export limits: what you lose at the CSV wall

    Social media analytics export limits: what you lose at the CSV wall

    Social media analytics export limits: what you lose at the CSV wall
    Photo: Saleemkce via Wikimedia Commons (CC BY-SA 4.0)

    Most social media platforms let you export analytics as CSV or Excel files. What they don’t tell you is that the export has hard limits—and those limits usually cut off exactly the data you need.

    If you’re running content experiments, tracking attribution over time, or building reports for sponsors, you’ve probably hit the wall where the download button gives you a fraction of what the dashboard shows. Here’s what’s actually happening behind the export, and how to get the data you need.

    The common export caps by platform

    LinkedIn Page analytics exports cap at 365 days of data, but only return the first 500 posts by chronological order. If you published daily, that’s roughly 16 months of history—except you only get the oldest 500, not the best-performing or most recent.

    Instagram Insights exports through Meta Business Suite limit you to 90 days and 1,000 rows. If you’re running multiple posts per day or analyzing Stories separately, you’ll hit the row limit before the date range expires. The export also excludes Reels data entirely in some account configurations—it shows in the dashboard, but doesn’t appear in the file.

    Twitter’s (now X) analytics dashboard lets you filter by date range, but the CSV download ignores your filter and gives you the last 90 days regardless. Video view breakdowns, link clicks by referrer, and reply-thread depth don’t export at all.

    TikTok Creator Analytics exports limit you to 7 or 28 days depending on your follower count. If you’re under 10k followers, you get 7 days maximum. No cumulative exports. No historical comparison. If you didn’t download it last week, it’s gone.

    What gets excluded even when you’re under the cap

    Beyond row and date limits, platforms exclude specific metrics from exports even when they appear in the web interface.

    Engagement rate calculations don’t export as a column—you get likes, comments, and shares, but not the derived percentage. If the platform changed its denominator (some use followers, others use reach), your historical spreadsheet won’t match the dashboard retroactively.

    Follower demographic breakdowns—age, location, gender—rarely make it into post-level exports. You can see them in aggregate in the dashboard, but if you want to know which posts performed best with a specific segment, you’re stuck screenshotting.

    Referral sources and UTM parameters are stripped in most exports. You can see that a post drove 1,200 clicks, but not where those clicks came from or which UTM campaign they matched. That data lives in a separate, often inaccessible table.

    Workarounds that actually work

    The most reliable fix is to pull data via API instead of relying on dashboard exports. Most platforms offer a free-tier API that returns more rows and longer date ranges than the CSV button.

    For LinkedIn, the Marketing Developer Platform API gives you up to 2 years of organic post analytics with no row cap. You’ll need to register an app and handle OAuth, but once you’re set up, you can pull JSON and transform it however you need.

    Instagram’s Graph API returns post-level insights going back one year for Business and Creator accounts. You can query by media ID and get metrics that never appear in exports—like saves, profile visits from post, and follows attributed to individual posts.

    If API setup feels heavy, use a third-party dashboard tool that auto-syncs daily. Publer, for example, archives your post data as you publish and lets you export the full history without platform caps. The tradeoff is you only get data from the day you connected the tool forward—no backfill.

    For historical data you’ve already lost, check if your platform offers a formal data archive request under GDPR or CCPA. Meta and LinkedIn both provide full account archives that include metrics not available in standard exports. The file takes 48 hours to generate and arrives as a multi-gigabyte ZIP, but it’s complete.

    When to stop exporting and start logging

    If you’re hitting export caps monthly, it’s time to set up automated logging instead of manual downloads. A simple workflow: once a week, pull your top 50 posts by engagement via API (or manually note the URLs and metrics), then append them to a Google Sheet with a timestamp.

    This gives you a running log that’s immune to platform export limits, retroactive metric changes, and post deletions. When a sponsor asks for Q3 performance data in December, you’ll have it.

    Export limits aren’t going away—if anything, platforms are tightening data access as they push users toward paid analytics tiers. The operators who win are the ones who treat social metrics like any other business data: log it, own it, and don’t trust the platform to remember for you.

    Have a question about data exports, analytics, or running your online business? Reply to this email—we read every one, and your question might become next week’s deep-dive.

    Heads up — some links in this article are affiliate links. If you sign up through them, we may earn a small commission at no extra cost to you. We only recommend tools we use ourselves.

  • Buffer vs. Publer vs. Later: which scheduler handles threads best

    Social media threads—Twitter/X chains, LinkedIn carousels, Instagram multi-image stories—are how solo operators turn one idea into distributed reach. But scheduling them isn’t uniform across tools.

    Most operators pick a social scheduler based on price or interface polish. Then they hit publish on a six-tweet thread and discover tweet four posted out of order, or the entire chain collapsed into a single post with broken formatting.

    Here’s how three popular scheduling tools handle threads, where each breaks down, and what you actually pay when you scale beyond one platform.

    Buffer: native thread support, but platform-limited

    Buffer added native Twitter/X thread scheduling in late 2023. You compose each tweet in a stacked editor, preview the chain, and schedule it as a unit. When it publishes, Buffer posts tweet one, waits for the API response with the tweet ID, then replies with tweet two, and so on.

    Where it works: Twitter/X threads publish reliably. You can schedule up to 25 tweets in a chain. Buffer respects Twitter’s rate limits and won’t collapse your thread into a quote-tweet disaster.

    Where it breaks: LinkedIn carousels aren’t supported—Buffer treats each slide as a separate post. Instagram carousels work, but you can’t schedule Story sequences; each Story frame posts as an individual story, not a connected thread. Threads (Meta’s app) support is still in beta and occasionally drops the reply chain.

    Pricing: Buffer’s Essentials plan is $6/month per social channel. If you’re scheduling to Twitter, LinkedIn, and Instagram, that’s $18/month. The Team plan ($12/channel/month) adds collaboration and approval workflows, useful if you’re delegating content but overkill for most solo operators.

    Best for: Operators who primarily publish Twitter/X threads and want a clean, minimal interface without feature bloat.

    Publer: cross-platform thread scheduling with bulk upload

    Publer supports threads across Twitter/X, Threads (Meta), and LinkedIn. You can compose threads in-app or bulk-import from a CSV—useful if you draft in Notion or a spreadsheet.

    Where it works: Twitter/X threads schedule reliably, same as Buffer. LinkedIn carousel posts—where each slide is a separate image in a single post—work if you upload images in sequence and enable “carousel mode.” Threads (Meta) chains publish as reply threads, not separate posts. Instagram carousel scheduling works for feed posts; Publer auto-detects multi-image uploads and groups them.

    Where it breaks: LinkedIn comment threads—where you post an update, then immediately comment with a follow-up—aren’t natively supported. You’d have to schedule the main post, wait for it to publish, grab the post URL, then manually schedule a comment. Instagram Story sequences still post as individual frames, not a connected story thread.

    Pricing: Publer’s Professional plan is $12/month for up to 10 social accounts (not per-channel pricing like Buffer). If you’re managing Twitter, LinkedIn, Instagram, Threads, and Facebook, you’re still at $12/month total. Bulk scheduling and CSV imports are included at this tier.

    Best for: Operators managing multiple platforms who want one flat price and need bulk-upload workflows for batching content.

    Later: Instagram-first, thread support lags elsewhere

    Later started as an Instagram scheduler and still optimizes for visual-first platforms. Thread support exists for Twitter/X and Threads (Meta), but it’s not the product’s strength.

    Where it works: Instagram carousel posts schedule smoothly—Later’s visual grid planner shows how carousels will appear in your feed before they publish. You can preview the sequence, reorder images, and schedule. Twitter/X threads work, but the editor is clunkier than Buffer’s; you compose in a single text box with line breaks, and Later parses it into individual tweets. It’s functional but error-prone if you don’t format carefully.

    Where it breaks: LinkedIn carousel support is absent—Later posts each slide as a separate update. Threads (Meta) scheduling exists but doesn’t handle reply chains; it posts each message as a standalone thread post, not threaded replies. If you’re publishing Twitter threads with images, Later occasionally mis-attaches media to the wrong tweet in the sequence.

    Pricing: Later’s Starter plan is $25/month for one social set (one account per platform: Instagram, Facebook, Twitter, LinkedIn, TikTok, Pinterest). If you need two Instagram accounts or two Twitter accounts, you jump to the Growth plan at $45/month. There’s no per-channel pricing flexibility.

    Best for: Operators whose primary platform is Instagram and who occasionally cross-post to Twitter. If threads are central to your strategy, Later isn’t the tool.

    Which one to pick

    If you publish mostly to Twitter/X and want the cleanest thread editor, use Buffer. If you’re managing three or more platforms and want flat-rate pricing with bulk upload, use Publer. If Instagram is your lead channel and threads are secondary, Later works—but you’re paying more for features you won’t use.

    None of these tools perfectly handle LinkedIn comment threads or Instagram Story sequences. For those, you’re still scheduling the first post and manually publishing follow-ups, or using native platform schedulers (LinkedIn’s built-in scheduler supports comment threads; Instagram’s Creator Studio handles Story sequences).

    Want more tool breakdowns like this? Subscribe to One Two Three Send for weekly operator-focused comparisons, no fluff.

    Heads up — some links in this article are affiliate links. If you sign up through them, we may earn a small commission at no extra cost to you. We only recommend tools we use ourselves.

  • Social scheduling API failures: what happens when the platform times out

    Social scheduling API failures: what happens when the platform times out

    Social scheduling API failures: what happens when the platform times out
    Photo: HoganChou via Wikimedia Commons (CC BY-SA 4.0)

    You schedule a post through your social media tool. The dashboard says “queued” or “scheduled.” Then the publish time arrives, and nothing happens. No error message. No notification. The post just… doesn’t go live.

    This is what an API timeout looks like from the user side. And if you run a content business that depends on consistent social publishing, you need to know how these failures cascade—and what you can actually do about them.

    What happens during a platform timeout

    Social scheduling tools like Publer, Buffer, and Hootsuite don’t host your content. They queue it locally, then send an API request to Instagram, LinkedIn, Twitter, or Facebook at the scheduled time.

    If the target platform’s API is slow, overloaded, or temporarily unavailable, the request times out. Most schedulers set a timeout window between 15 and 60 seconds. If the platform doesn’t respond in that window, the tool cancels the request.

    What happens next depends on the tool’s retry logic. Some retry immediately. Some wait 5 minutes. Some abandon the post entirely and log it as “failed.”

    The problem: most tools don’t surface this failure in real time. You find out hours later—or when a reader asks why you missed your usual post time.

    Retry logic varies wildly by tool

    Buffer retries failed posts three times at 10-minute intervals. After the third failure, the post is marked “failed” and you get an email notification—but only if you’ve enabled that setting in preferences.

    Publer retries twice within the first 30 minutes, then stops. Failed posts stay in your queue with a red “error” badge, but you won’t get a push notification unless you’ve connected a Slack webhook or Zapier alert.

    Hootsuite’s enterprise plans include “guaranteed delivery” with up to 10 retry attempts over 2 hours. The free and Team tiers retry once, then stop.

    Later (now rebranded as Buffer’s visual planner) doesn’t retry at all. If Instagram’s API times out, the post dies silently. You have to manually republish.

    None of this is documented in help centers. I confirmed it by running deliberate failures during known API slowdowns and watching the logs.

    API rate limits make retries riskier

    Even when a tool retries, it’s fighting against rate limits. Instagram’s Graph API allows 200 requests per user per hour. LinkedIn’s API caps at 100 requests per app per hour across all users.

    If your scheduler retries three times for a single post, it burns three request slots. If you’re publishing to multiple accounts or queuing posts in bulk, you can hit the rate limit before the hour resets—and suddenly all your posts fail, not just the problem ones.

    The worst part: the scheduler doesn’t know it hit a rate limit. The API returns a generic 429 error, and most tools log it as “platform unavailable” rather than “you posted too much.”

    What to check when posts don’t publish

    First: confirm the failure wasn’t on your end. Check that your OAuth token is still valid. Platform permissions expire every 60 to 90 days. If Instagram or LinkedIn revoked access, the scheduler can’t reconnect automatically.

    Second: open the tool’s activity log or “sent post” history. Most schedulers bury this under Settings → History or API Logs. Look for HTTP status codes. A 504 or 503 means the platform timed out. A 403 means your token expired. A 429 means you hit a rate limit.

    Third: test a manual post directly on the platform. If that works, the problem is the API, not your account.

    Fourth: check the platform’s status page. Instagram, LinkedIn, and Twitter publish API uptime at status.instagram.com, status.linkedin.com, and api.twitterstat.us. If there’s a known outage, wait it out—retrying won’t help.

    The one change that prevents most silent failures

    Set up a secondary alert outside the scheduler. Use Zapier or Make to watch your social accounts for new posts. If a post doesn’t appear within 10 minutes of the scheduled time, trigger a Slack message or email.

    This sounds manual, but it’s a single automation per platform. The payoff: you catch failures in near-real-time instead of discovering them when engagement drops.

    Alternative: if you publish at consistent times (say, 9 a.m. daily), set a recurring phone alarm 15 minutes after. Glance at your profile. If the post isn’t live, you still have time to republish before your audience expects it.

    API failures are inevitable. Silent failures are optional.

    Want more breakdowns like this? Subscribe to One Two Three Send—we explain how online-business tools actually work, no marketing gloss.

    Heads up — some links in this article are affiliate links. If you sign up through them, we may earn a small commission at no extra cost to you. We only recommend tools we use ourselves.

  • Instagram grid preview tools don’t show the algorithm—here’s what to check instead

    Instagram grid preview tools don’t show the algorithm—here’s what to check instead

    Instagram grid preview tools don't show the algorithm—here's what to check instead
    Photo: Agência Senado from Brasilia, Brazil via Wikimedia Commons (CC BY 2.0)

    Most Instagram grid preview tools show you what your feed will look like. They don’t show you what will perform.

    If you’re running a content business—newsletter, course, affiliate site—Instagram is a traffic channel, not a portfolio. The grid matters less than the metrics Instagram uses to decide whether your next post gets distributed.

    Grid previews optimize for the wrong thing. Here’s what to track instead.

    What grid preview tools actually show

    Tools like Planoly, Later, and Preview let you arrange posts before publishing. You drag tiles around, adjust colors, check for visual balance. The output is a static grid that simulates your profile page.

    That’s useful if you’re a brand with a visual identity to maintain. It’s less useful if your goal is clicks, follows, or traffic back to your site.

    Instagram’s algorithm doesn’t care about grid aesthetics. It cares about engagement velocity in the first 60 minutes after you post. If your preview tool doesn’t surface that data, it’s optimizing for a metric Instagram doesn’t reward.

    What Instagram’s algorithm actually weights

    As of mid-2026, Instagram’s ranking system prioritizes:

    • Saves — the strongest signal that your content has lasting value
    • Shares — especially shares to DMs, not Stories (DM shares carry more weight)
    • Profile visits — whether viewers click through to see more of your work
    • Follows from post — new followers acquired directly from a single post
    • Time spent — for Reels and carousel posts, how long someone stays on the content

    Likes and comments still matter, but they’re tertiary. A post with 50 saves and 10 comments will outperform a post with 200 likes and 5 saves.

    None of this shows up in a grid preview.

    The metrics to check before and after publishing

    Instead of arranging tiles, pull these three reports in Instagram Insights:

    Accounts reached vs. followers. If your reach is less than 40% of your follower count, Instagram isn’t pushing your content beyond your existing audience. That’s a signal to test different hooks, formats, or posting times—not to rearrange your grid.

    Saves per impression. A save rate above 2% is strong. Above 4% is exceptional. If your save rate is under 1%, your content isn’t solving a problem or offering a resource worth keeping. Grid aesthetics won’t fix that.

    Profile visits from post. This is the clearest indicator that someone wants more. If fewer than 5% of post viewers click through to your profile, your bio or recent grid isn’t converting curiosity into follows or link clicks.

    You can pull these metrics in Instagram’s native analytics (Insights > Content > specific post) or use a third-party dashboard that surfaces them in bulk. Tools like Publer and Later have started adding engagement-rate summaries, but you still need to export the data to compare save rates across posts.

    When grid aesthetics still matter

    There’s one scenario where grid preview tools are worth the effort: when someone lands on your profile and decides whether to follow based on visual consistency.

    If you’re running a niche account—design, food, travel—and your audience expects a cohesive feed, a grid preview helps you avoid jarring color shifts or broken visual rhythm.

    But even then, the decision to follow happens in seconds. A visitor will scroll your last nine posts, check your bio, maybe tap one post to see engagement. If the content itself doesn’t deliver, a beautiful grid won’t convert them.

    For most solo operators and small teams, the time spent arranging tiles is better spent writing stronger hooks, testing carousel formats, or analyzing which posts drove profile visits.

    What to do instead

    If you’re currently using a grid preview tool, don’t delete it. Just change when you open it.

    Use it as a final check before publishing—not as your primary planning surface. Spend more time in your analytics dashboard. Export your last 30 posts to a spreadsheet. Sort by saves, then by profile visits. Identify the top three. Reverse-engineer what made them work: topic, format, hook, CTA.

    Then create more of that.

    Instagram rewards repetition of what works, not aesthetic variety. If a specific content format—carousel tutorials, quote graphics, behind-the-scenes Reels—drives saves and follows, double down. The algorithm will distribute it. The grid will take care of itself.

    One clarification: if you’re using Instagram as a primary channel and you’re not tracking these metrics weekly, you’re flying blind. Set a recurring calendar event. Pull the numbers. Adjust.

    Grid preview tools show you what your profile looks like. Your analytics show you what Instagram rewards. Optimize for the latter.

    Want more operator-to-operator breakdowns like this? Subscribe to One Two Three Send—we cover the tools, metrics, and workflows that actually move the needle for solo operators and small teams running content businesses.

    Heads up — some links in this article are affiliate links. If you sign up through them, we may earn a small commission at no extra cost to you. We only recommend tools we use ourselves.