Subscription issues are probably the most common thing people ask us about. The symptoms vary — "import failed," an empty list after importing, every node timing out — but once you dig in, the causes almost always come down to a handful of things. Check them in order below and you can usually pinpoint the issue in a few minutes, without reinstalling the client or trying a dozen different subscription URLs.
1. The URL Was Copied Incompletely or Has Extra Characters
A subscription URL is a single complete https:// link. Copying it from a chat app or webpage can easily drop characters from the start or end, or pick up stray spaces and line breaks — this happens especially often with OCR/screenshot-to-text tools or copying across devices. Copy it directly using the "Copy Subscription URL" button in your provider's dashboard if available, double-check it starts with https:// with no line breaks in the middle, or paste it into a notes app or text editor first to check before pasting it into the client.
2. Mistaking a Node Link for a Subscription URL
Links starting with vmess:// or vless:// are single node links and should use "Import from Clipboard"; only links starting with https:// are subscription URLs, which go through "Add Subscription + Update Subscription." The two use different entry points, and mixing them up triggers a format error or "unsupported link format" message. This distinction isn't obvious to beginners since both look like long strings of characters — see Subscription URL vs. Node Link for the full breakdown.
3. Added the Subscription But Forgot to "Update" It
In v2rayN / v2rayNG, "Add Subscription" only saves the URL — you need to run Update Subscription separately to actually fetch the nodes. If the import "succeeded" but the list is empty, this is the missing step nine times out of ten. Many people assume "add" and "import" are the same action, but adding a subscription is closer to "bookmarking a URL" — the separate "Update Subscription" button is what actually pulls in the node data.
4. The Subscription URL Itself Needs a Proxy to Reach
Some providers' subscription links can't be reached directly from mainland networks, creating a chicken-and-egg problem on first import: you need a working node to reach the subscription URL, but you need the subscription URL to get a node. The fix: manually import a single working node link and connect first, then update your subscription; or turn on "Update Subscription via Proxy" in the client settings so it uses your existing node to fetch the subscription — after that, you won't need to switch manually each time.
5. The Subscription Has Expired or Been Reset
If your plan expired, you used up your data, or you reset the subscription in your provider's dashboard, the old URL will stop working. This shows up as a 404/403 error when updating, or every node timing out during a speed test. Check your status in the provider's dashboard and copy the latest URL — note that some providers generate a brand-new URL after a reset, and the old one won't redirect automatically, so you'll need to swap it in manually.
6. Your Client Version Is Too Old to Support a Newer Subscription Format
Subscription protocols keep evolving, and some providers have adopted newer formats or encryption methods that an outdated client can't parse correctly — this shows up as a mismatched node count after importing, or missing node details. If you've ruled out everything else above, it's worth checking whether your client has an update available and trying again after upgrading to the latest version.
Importing a subscription looks simple on the surface, but it touches on formatting, network conditions, and client version — any one of these going wrong shows up as the same generic "import failed" result. Work through this checklist from top to bottom and you'll cover almost every case you'll run into in everyday use.
How to Avoid Running Into This Again
Once you've fixed the immediate issue, it's worth taking steps to reduce how often this happens again. First, turn on the client's scheduled auto-update feature so you don't miss an expired node without noticing; second, if possible, keep a note in your provider's dashboard of when you got your subscription and when it expires, so you can renew or update ahead of time; third, save a separate copy of your subscription URL in a notes app or password manager, so you can reuse it right away when switching devices or reinstalling, instead of digging through your provider's dashboard again; and finally, when something goes wrong, work through this article's checklist first rather than immediately blaming your provider or reinstalling the client — that alone saves a lot of repeated troubleshooting.