Back to Docs

Guides

Content Distribution Scheduling Guide

Learn about publishing connections, review requirements, and scheduling configuration in Max Socials.

What Distribution does

Distribution takes approved content from the Production queue and publishes it to connected channels on a configurable schedule. It is not a simple fire-and-forget publisher: every post passes through a retry layer with exponential backoff, UTM parameters are injected automatically for revenue attribution, and every publish event emits structured metadata that the Analytics stage consumes to close the Intelligence Loop. The scheduler operates per-channel: timing, frequency caps, and rate-limit budgets are tracked independently for each connection so a spike on one channel does not affect others.

Connecting channels

Distribution publishes to nine channels: Facebook, Instagram, LinkedIn, TikTok, X / Twitter, YouTube, Pinterest, Reddit, and Telegram. Publishing runs through Ayrshare, the social media API service listed in our Data Processing Agreement, so each client needs an Ayrshare profile linked to their social accounts. To connect a channel:

  1. Open Channels in the client account and add the client's account on the network, with the account ID that network uses.
  2. Open Distribution → Publishing connections, select the channel, and enter the Ayrshare publishing API key and profile key for the client's Ayrshare profile.
  3. Click Verify publishing connection. Max Socials checks the keys and the account with Ayrshare before it saves them, encrypted; they never appear in API responses.
  4. Repeat per channel. Each channel keeps its own publishing connection, so each client account maintains its own credential set.

Signing in to each network directly from Max Socials (OAuth) is planned. Until it ships, link or relink a client's social accounts in Ayrshare. Posts to a channel without a verified publishing connection are blocked, not published.

Schedule presets

Three scheduling modes are available per client account. You configure the mode in Settings → Scheduling.

  • Best Practice. The scheduler applies channel-optimised posting windows based on aggregated engagement benchmarks (e.g. LinkedIn weekday mornings, TikTok evening peaks). This is the default for new accounts. No configuration required.
  • Custom. You specify exact posting times per channel per day-of-week. The scheduler treats these as hard targets; if a slot is unavailable (rate limit reached, channel disconnected), the post falls back to the next available slot within the same calendar day.
  • Adaptive. The scheduler reads per-channel engagement data from past Analytics runs and recalculates optimal windows every 7 days. Adaptive mode requires at least 14 days of Analytics data before it activates; new accounts fall back to Best Practice until the minimum data threshold is met.

Queue management

Every post in the distribution pipeline carries one of four statuses:

  • Pending, approved by Production, waiting for a scheduled slot or for a required channel to reconnect.
  • Scheduled, slot reserved; the scheduler will publish at the assigned time.
  • Published, delivered successfully; channel API returned a post ID. Analytics ingestion begins at the 1-hour mark.
  • Failed, all retry attempts exhausted or a non-retryable error was returned. Failed posts surface in the queue with the error code and a Retry action.

The queue view is filterable by status, channel, date range, and content bucket. Bulk actions (reschedule, cancel, retry) are available for up to 50 posts at a time.

Retries

The retry strategy depends on the error class returned by the channel API:

  • 5xx errors (server-side, transient): automatic exponential backoff: 1 min, 5 min, 25 min. After three attempts the post moves to Failed.
  • 4xx errors (client-side, e.g. token expired, content policy violation, size constraint exceeded): no automatic retry. The post moves immediately to Failed with the specific error code. Resolve the underlying issue (reconnect the channel, fix the content, reduce asset size) then trigger a manual retry from the queue.
  • Rate limit (429), treated as transient. The scheduler respects the Retry-After header when present, otherwise applies a 15-minute hold before re-attempting. The retry does not consume a backoff attempt.

Approval queue

The approval queue is an optional pre-scheduling gate. When enabled (under Settings → Workflow → Require approval before scheduling), posts that exit Production enter an Awaiting approval holding state. A designated reviewer (configurable per client account) receives an email digest of pending approvals at the cadence you set (immediate, hourly, or daily). Approving a post moves it to Pending; the scheduler assigns the next available slot. Rejecting a post returns it to Production with a comment thread attached.

The approval queue is recommended for client-facing agency workflows where clients want sign-off before anything is published. For internal accounts with trusted automation, leave it disabled.

Analytics ingestion

After a post reaches Published status, Distribution registers it with the Analytics collector. The collector polls each channel's API at three intervals (1 hour, 24 hours, and 7 days) to retrieve reach, engagement, and click-through data. UTM parameters appended at publish time allow revenue attribution in downstream analytics tools. After the 7-day window closes, Analytics recalculates the Discovery scoring weights that feed the next content cycle. This is how Distribution data flows back into the top of the Intelligence Loop. See Analytics & Reporting for details on collection intervals, dashboard configuration, and export formats.

Common gotchas

  • Each channel needs its own publishing connection. Keys verified for one channel do not cover the client's other channels. Verify a connection for every channel you publish to.
  • Rate limits differ significantly across channels. LinkedIn allows roughly 100 posts per day per organisation; TikTok imposes per-user daily caps that vary by account tier; YouTube limits uploads to 6 per day on unverified channels. The scheduler respects these caps automatically but you will see posts slip to the next day if you exceed them.
  • Content size constraints are hard limits, not warnings. X / Twitter caps post text at 280 characters (2,000 for premium); LinkedIn caps at 3,000 characters for standard posts; Instagram captions cap at 2,200 characters; Pinterest descriptions cap at 500 characters. Production templates enforce these limits at generation time, but if you manually edit content in the queue after generation, the scheduler will reject oversized posts with a 4xx error, with no automatic retry.
  • Analytics uses a separate connection. Organic analytics for Facebook, Instagram, LinkedIn, TikTok and X need an Ayrshare connection under Analytics sources; publishing keys alone collect no metrics.
  • Blog publishing is planned. Blog / CMS is not a publishing channel yet. Blog articles you generate stay in the asset library, ready to publish from your own CMS.

Ready to get started?

Join the early access list and get priority onboarding with your dedicated Max Socials implementation team.