A scheduled post fails for one of six reasons: an expired platform connection, an account type or permission that does not allow direct publishing, media the network rejected, content that broke a platform rule, a temporary outage or rate limit, or a scheduling mistake such as a past time in the wrong timezone. Expired connections cause the majority of failures.
You scheduled the post. The time came and went. The post is sitting there marked failed, and the campaign it belonged to is now one post short.
Before troubleshooting anything, check one thing: is the account still connected? Reconnecting an expired account fixes more scheduled post failures than every other fix combined, and it takes under a minute. If that is the problem, you are done reading.
If the connection is fine, work down the rest of this page in order. The causes are ordered by how often they actually occur, not by how interesting they are.
The 60-Second Triage
Run these four checks before anything else. Most failures resolve inside this list.
1. Is the account connection still active? Platform tokens expire on a schedule. Meta's long-lived tokens last around 60 days, and a password change, a revoked app permission or someone logging out can end a connection sooner than that.
2. Did the post publish anyway? Open the platform itself and look. A failure message sometimes means the confirmation did not come back, not that the post never went out. Publishing twice is a worse outcome than publishing late, so always check before you retry.
3. Does the account type allow direct publishing? Instagram personal and creator accounts cannot be published to directly through most tools. Business accounts can. This catches people out constantly because the account worked fine for everything else.
4. Was the scheduled time actually in the future? In the account's timezone, not yours. A time that has already passed when you save it will simply never fire.
The Six Causes, Ranked
| Cause | How you recognise it | Time to fix |
|---|---|---|
| Expired connection | Several posts fail at once, across one account | Under a minute |
| Account type or permission | One account always fails, others fine | 5 to 20 minutes |
| Media rejected | One post fails, others go out fine | 5 minutes |
| Content rule broken | Fails instantly, often with a specific message | 2 minutes |
| Platform outage or rate limit | Failures cluster in time across many accounts | Wait it out |
| Scheduling error | Nothing happened at all, no error raised | 1 minute |
The pattern of failure tells you more than the error text. One account failing repeatedly is a connection or permission problem. One post failing while others succeed is a media or content problem. Everything failing at once on a particular platform is that platform having a bad afternoon.
Cause 1: The Connection Expired
This is the big one, and it is worth understanding why it happens rather than just reconnecting each time.
When you connect an account to any scheduling tool, the platform issues a token rather than storing your password. That token has a lifespan. Meta issues short-lived tokens lasting a couple of hours which get exchanged for long-lived ones lasting roughly 60 days. When the long-lived token expires, publishing stops until someone reauthorises.
Several things end a token early. Changing the password on the social account. Revoking the app's access in the platform's security settings, which people sometimes do during a routine clear-out without realising what they are disconnecting. An admin removing the person whose account authorised the connection. Platform security sweeps that invalidate tokens in bulk.
That last one is worth planning around, because nothing on your side caused it and no warning arrives.
The most common organisational version of this problem is that one employee connected every account under their own login. When they change their password, everything breaks at once. When they leave the company, everything breaks permanently. Connecting through accounts that belong to the business rather than to an individual is the fix, and it is much easier to do at setup than to retrofit after someone's last day.
Cause 2: Account Type and Permissions
The second most common cause, and the most frustrating, because the account appears connected and still will not publish.
| Platform | Requirement most people miss |
|---|---|
| Must be a Business account. Personal and Creator accounts cannot be published to directly | |
| You must be an admin of the Facebook Page it is linked to | |
| The app needs posting permissions on the Page, not just your personal access | |
| Google Business Profile | The connected email needs posting rights on that specific location |
| A board must be selected before the post can be saved | |
| Posting to a Company Page requires a page admin role, not a personal connection |
The Instagram pair catches almost everyone. Switching a personal account to a business account is free and takes about a minute inside the Instagram app, but nothing in a scheduling tool can do it for you, and nothing will tell you that is the problem unless the error message is unusually clear.
Google Business Profile has its own trap. A 403 permission error there almost always means the connected email has access to the business but not to the particular location you are posting to. Multi-location businesses hit this constantly and spend a long time looking at the post rather than at the location permissions.
Cause 3: The Media Was Rejected
Each network sets its own rules for file size, format, codec, length, resolution and aspect ratio. A video that publishes fine to one platform can be rejected outright by another, which is why a single post in a cross-posted batch sometimes fails on its own.
The usual culprits:
File size or resolution over the limit. Common with video exported at full quality straight from an editor.
An unsupported codec. The file plays perfectly on your machine and still fails on upload, because what matters is how it was encoded rather than whether it plays.
A corrupted upload. The file transferred incompletely. Re-uploading the same file often fixes it with no other change.
A missing thumbnail. Pinterest will reject a video with no cover image.
Aspect ratio outside the accepted range. Especially for vertical video, where the tolerances are narrower than people expect.
If one platform in a batch rejected the media and the others accepted it, the fastest fix is to produce a version sized for that platform rather than to investigate the file. Keeping visuals on spec per platform removes most of this category before it happens.
Cause 4: A Content Rule Was Broken
These fail fast and the message is usually specific, which makes them the easiest to fix.
| Rule | Where it applies |
|---|---|
| Text-only posts not allowed | Instagram requires an image or video |
| Hashtag cap | Instagram allows a maximum of 30 |
| Character limit exceeded | Varies by platform, X is the tightest |
| Image count exceeded | Facebook allows 10, LinkedIn allows 20 |
| Mixed media types in one post | Rejected on several platforms |
| Video length over the limit | X caps at 2 minutes 20 seconds |
| Image posted without text | LinkedIn requires accompanying copy |
| Link flagged | Facebook blocks domains flagged under community standards |
The link one deserves attention because it is the only entry here that is not really about formatting. If a domain has been flagged, every post containing it fails, including links to your own site if it was reported or if it redirects through a shortener with a poor reputation. Testing the bare link in a manual post is the quickest way to confirm it.
Cause 5: The Platform Had a Problem
Sometimes nothing is wrong with your post at all.
Networks have outages, rate limits and temporary server errors. Instagram returns a specific media upload error that is purely a server-side hiccup and clears on retry. X returns API errors during heavy load. Meta occasionally returns an error that means the request was too expensive to process, in which case the post may have published anyway.
The signature is timing. If several posts across different accounts failed within the same window, look at the platform status page before changing anything on your side. Editing a post that failed because of an outage usually just produces a second failure.
Rate limits are the related case. Publishing many posts to the same account in a short burst can trip a limit, particularly on Instagram. Spacing a bulk run out rather than firing it all at once avoids this, which is one of the practical arguments for publishing from a queue rather than in one block.
Cause 6: It Was Never Going to Fire
The quietest category, because nothing errors. The post simply sits there.
The scheduled time was in the past. Usually a timezone mismatch. The account is set to one timezone, you are working in another, and the time you chose had already gone.
The post was still a draft. It looked scheduled in the calendar but was never moved out of draft state.
It was waiting on approval. Common in teams with a review step, where the post sat in a queue nobody checked.
The account was disconnected before the post ran. Scheduled while connected, published after the connection lapsed.
Timezone problems are worth a specific check if you work across regions, because they also quietly undermine your posting times. A post scheduled for 9am that goes out at 2:30am local is technically a success and practically a failure. If you are working out when your audience is actually active, a timezone offset will make the data meaningless.
A Worked Example: Four Failures, One Cause
Diagnosis is easier with a pattern in front of you, so here is a typical morning.
A small team arrives to find four failed posts. Two on Instagram, one on Facebook, one on LinkedIn. The instinct is to open each post and look at what was wrong with it, which is the slowest possible route to the answer.
The faster move is to sort the failures by account rather than by post. Doing that shows the two Instagram failures and the Facebook failure are all on the same linked pair, scheduled 40 minutes apart, while the LinkedIn one is unrelated and sits at a different hour entirely.
That pattern says connection, not content. Three failures on one linked pair in a tight window is almost never three separate media problems happening to coincide. Reconnecting the Meta accounts and retrying the three posts clears them.
The LinkedIn post is a separate investigation, and it turns out to be an image posted with no accompanying text, which LinkedIn rejects. Two minutes to fix once it is looked at on its own.
Total time, about six minutes. The same four failures investigated post by post, starting with the content, routinely take an hour and often end with somebody rewriting a caption that was never the problem.
The general rule: group failures by account and by time before you read a single error message. The shape of the cluster narrows it to one of the six causes faster than any individual message will, and it stops you fixing the wrong thing convincingly.
What To Do When It Has Already Failed
Order matters here, and the first step is the one people skip.
1. Check the platform before retrying. Confirm the post is genuinely not live. Duplicate posts are harder to clean up than late ones.
2. Fix the cause, not the post. Reconnecting the account, then retrying the same post, works. Rewriting the post while the connection is still expired does not.
3. Decide whether it is still worth publishing. A time-sensitive post that missed its moment is usually better rescheduled or dropped than published late out of context.
4. Check what else was queued behind it. If a connection expired, everything scheduled to that account after the expiry will also have failed. Fixing one post and leaving the rest is the common mistake.
5. Note the cause somewhere. Three failures with the same root cause in a quarter is a setup problem rather than bad luck. One line in a shared document is enough, written while the cause is still fresh. Without it every failure arrives feeling like the first, and nobody accumulates the evidence to justify fixing what sits underneath.
How To Stop It Happening Again
Most failures are preventable with setup choices rather than vigilance.
Reconnect accounts on a schedule rather than on failure. If tokens last around 60 days, a calendar reminder every six weeks turns an outage into a chore.
Connect through business-owned accounts. Not an individual's personal login. This single decision removes the most damaging version of the problem.
Check the queue the day before anything important. A launch post that fails at 9am is a bad morning. The same post checked at 4pm the day before is a non-event.
Keep a manual fallback for critical posts. For a launch or an announcement, have someone able to post manually if the scheduled version fails. The real differences between scheduled and manual publishing are worth understanding before deciding which posts need a backup.
Size media per platform before scheduling. Rather than uploading one file everywhere and finding out at publish time which network rejected it.
Where Super Buddy Fits
Publishing reliably is less about the scheduling feature and more about what sits around it.
The social media scheduler handles the queue and the timing. The part that matters for failures is the connection layer underneath it: each of the supported integrations authorises separately, so a lapsed connection affects that one network rather than your whole calendar, and reconnecting is per account.
The visuals side, mentioned earlier, removes the media rejection category by producing assets already sized for where they are going, which is the difference between finding out at publish time and not having the problem at all.
It is also worth being clear about what is and is not worth monitoring. Checking the queue every day is a waste of attention, because most posts publish without incident and the habit erodes within a fortnight. Checking it before anything that carries a deadline, a launch, an event, a time-sensitive announcement, costs a minute and catches the failures that actually matter. The posts worth protecting are a small fraction of the calendar, and treating them differently from routine content is more sustainable than treating everything as critical.
Running everything through one workspace also makes the diagnosis faster, because the pattern is visible. Seeing that four posts failed on one account and none elsewhere tells you it is a connection problem in about five seconds, which is the kind of thing that is genuinely hard to spot when each platform is a separate browser tab.
One honest note. No scheduling tool can prevent a platform outage, a token revoked at the network's end, or an account restriction applied by Meta. What a tool can do is make the failure visible quickly and the fix a single reconnection rather than an investigation.
Common Mistakes
Retrying before checking the platform. The fastest route to a duplicate post.
Rewriting the content when the connection is the problem. The post was never the issue.
Fixing one failed post and ignoring the queue behind it. An expired connection fails everything scheduled after it.
Treating repeated failures as bad luck. The same cause three times is a setup problem.
Connecting accounts through a personal login. Works perfectly until that person changes their password or leaves.
Ignoring timezone settings. Produces posts that technically succeed at useless hours.
Final Thoughts
Almost every scheduled post failure comes down to a connection that lapsed, an account that was never the right type for direct publishing, or a file the network would not accept. None of those are complicated, and all three are quicker to fix than to diagnose, which is why working in the order on this page beats reading error messages.
The one habit worth building is checking the queue before anything that matters, rather than after. Scheduling is reliable enough that most people stop looking, and the failures are therefore discovered by a colleague asking why the launch post never went out.
If you want fewer of these to begin with, most of the work is in setup: business-owned connections, a reconnection reminder every six weeks, and media sized per platform before it reaches the queue. Super Buddy handles the publishing. The setup choices are yours, and they are what decide how often any of this comes up.
Try Super Buddy free
Turn one idea into a week of content. No credit card required.



