Back to Community

Why Your Instagram Feed Token Keeps Expiring (And How to Fix It)

Content

If you're using the Smash Balloon Social Photo Feed plugin and find yourself constantly reconnecting your Instagram account, you're not alone. A common frustration for many users is the seemingly random expiration of Instagram access tokens, which causes feeds to break. This article explains why this happens and outlines the most effective solutions based on community reports and troubleshooting.

Why Do Instagram Access Tokens Expire?

It's important to understand that token expiration is a security measure enforced by Instagram (Meta), not a bug within the Smash Balloon plugin itself. The plugin team has no control over when or why Instagram invalidates tokens. Based on user threads, here are the most common reasons a token might become invalid:

  • Changing the connected Instagram account's password.
  • Clicking 'Log out from all devices' in the Instagram app.
  • Removing the Smash Balloon app from the account's 'Apps and Websites' settings.
  • Instagram terminating the connection due to a detected security issue.
  • For Business Profile connections: having a role removed from a connected Facebook Page.
  • Using a Personal connection for a private Instagram profile (these tokens cannot be auto-renewed and must be manually refreshed every 60 days).

Most Effective Solutions to Prevent Token Expiration

1. Switch to an Instagram Business Profile Connection

This is the most recommended and stable solution. The Smash Balloon team states that tokens from a Business Profile connection "never expire." This connection type is also required to use Instagram's newer API, which is more robust.

How to do it: You will need to connect your Instagram account to a Facebook Page. The Smash Balloon team provides a guide on setting up a Business Profile connection.

2. Check Your wp-config.php File for Encryption Keys

Some users reported frequent errors like "Could not decrypt access token" even when the token was valid. This is often caused by missing encryption salts in the WordPress configuration file.

How to fix it: Add the following lines to your site's wp-config.php file, using the same format as your other security keys:

define('SBI_ENCRYPTION_KEY', 'your-long-unique-string-here');
define('SBI_ENCRYPTION_SALT', 'your-long-unique-string-here');

Ensuring these values are present and consistent can resolve decryption errors that mimic token expiration.

3. Avoid Using the Same Account on Multiple Sites

If you are connecting a Business Profile to multiple WordPress sites, setting up a new connection on one site can sometimes invalidate the token on another. For multi-site setups, ensure your connections are managed carefully.

4. For Persistent Personal Account Issues: Create a New Account for the Token

For users with Personal accounts who experience constant expiration despite the plugin's auto-renew feature, a common workaround is to create a new, separate Instagram account. Use this new account only to generate a new access token; you do not need to post to it. This often results in a more stable token.

5. Enable the Backup Cache Feature

To prevent your feed from completely disappearing when a token expires, ensure the plugin's backup cache is enabled. This feature will display the last successfully fetched posts if a live connection cannot be made, giving you time to fix the token issue without a blank space on your site.

How to check: Navigate to the plugin's Customize tab and look for the backup cache setting near the bottom.

When Manual Reconnection is Required

It's important to note that for some connection types, manual reconnection is mandatory and not a fault:

  • Private Personal Accounts: The Instagram API requires manual reconnection every 60 days. The plugin cannot auto-renew these tokens.

While token expiration can be frustrating, the solutions above have proven effective for most users. Switching to a Business Profile connection is the single most impactful change you can make for long-term stability.