License Status Invalid
The module shows License Status: Invalid, the Activity Log records WHMCSGTM: License check failed, and the GTM Container ID and GA Tracking ID have been removed from the settings.
A paid, active license is reported as Invalid whenever a check fails to return Active — whether the license itself has a problem, the record we hold no longer matches your installation, or the check could not complete. Work through the sections below in order before buying, renewing or opening a ticket; in most cases nothing needs to be purchased.
How the module validates the license
The module validates against our licensing server. The check carries four values, and all four must match the record we hold for you: license key, licensed domain, licensed IP and licensed directory.
The check runs:
- when you open or save the module settings;
- when you click Refresh next to License Status;
- on every WHMCS admin login.
There is no cron involved: the check that most often erases the settings is the one triggered by a WHMCS admin login. That is why the settings can vanish in the middle of a day when nobody was working on the module.
To reduce round trips the module also keeps a local key valid for 15 days: while it is valid the checks are answered locally, and when it expires the check goes to the server again. If the server cannot be reached, the local key is still accepted for 3 extra days before the check is treated as failed.
The module panel prints what the server returned — License Status, Expires, Valid IP, Valid Domain, Licensed To. Those values are the fastest diagnosis, and the fastest thing to send us.
1. Start with the Activity Log
Go to Utilities → Logs → Activity Log and search for WHMCSGTM. Every failed check leaves a line like:
WHMCSGTM: License check failed. License status: Invalid. Container and GA tracking ID removed.
The timestamp of the first such line is when the problem started, and that single fact usually points at the cause: a migration, a change in the network, an invoice that went unpaid, or an incident on our licensing server.
If there is no WHMCSGTM line at all, the license was fine and the missing output has another cause — see GTM Snippet Not Loading.
2. The record no longer matches your installation
Cause A — The IP we hold is not the IP your WHMCS sends
We also validate the IP address the module reports. If your WHMCS runs behind NAT, a load balancer, a proxy or a container network, PHP reports the internal address (for example 10.x.x.x) instead of the public one, and the check can never match.
Symptom: Invalid with Expires, Valid IP and Valid Domain empty in the panel, and IP Address Invalid in the Activity Log.
Fix: open a ticket with your license key and the public IP address of the server running WHMCS. We update the record on our side and the module recovers on its next check. The same applies after a migration, a change of hosting provider or a new load balancer.
Cause B — The installation directory changed
The directory the module runs from is part of the record, so moving or renaming the WHMCS installation — or restoring a backup into a different path — invalidates it.
Symptom: Directory Invalid in the Activity Log.
Fix: send us the new path (/home/account/public_html/modules/addons/WHMCSGTM) and we align the record.
Cause C — The license key was re-issued
A renewal or a re-issue can generate a new key. An installation still configured with the previous one stops validating.
Check: compare the key in Addons → Google Tag Manager with the key shown in your client area. If they differ, paste the current key and save.
3. The license is genuinely not active
Symptom: Expires in the past (or empty) and the service Suspended or Cancelled in your client area — almost always an unpaid invoice.
Fix: pay the pending invoice in your client area. The service reactivates automatically and the module returns to Active on its next check — nothing needs to be reinstalled.
4. The license is valid, but the check cannot complete
If the panel shows a valid Expires date together with a matching Valid Domain and Valid IP, the license itself is fine and the failure is in the check:
- Our licensing server did not answer (timeout or error response) while the local key had already expired — the module counts it as a failed check. This can happen during an incident on our side; the module recovers by itself once the check succeeds again.
- An outbound rule on your side blocks the request. The module must reach
https://manage.mimirtech.co/modules/servers/licensing/verify.phpover HTTPS (POST). If you filter outbound traffic, allow that destination. If you run a WAF or a CDN in front of WHMCS, make sure that path is not challenged or blocked. - Our edge protection answered instead of the license server. Legitimate check-ins and abusive traffic share the same endpoint; if your installation gets throttled, the check does not return
Active.
What to try, in order: click Refresh next to the License Status, then open and save the module settings, then log in to the WHMCS admin again and re-check the status. If it fails again, send us the Activity Log lines with their dates — we can follow the same check from our side.
5. Settings were cleared after a failed check
In versions up to and including v4.3.0, when a check does not return Active the module removes the stored GTM Container ID, GA Tracking ID and GA API Secret from its settings. The panel then shows empty fields and the module injects nothing on any page — which looks exactly like a fresh installation.
This is why "my settings disappeared" and "license invalid" are the same event: the values are deleted when the license check fails, not when you save the form.
The values were removed from the module settings, not from the files: reinstalling, re-uploading or reactivating the module does not restore them. Keep your Container ID, Measurement ID and API Secret somewhere outside WHMCS, and re-enter them once the status is back to Active.
What to send us in a ticket
Copy this, fill it in, and paste it in the ticket — with these lines we follow the same check from our side, usually without needing access to your server:
License key: gtm-__________
License Status: __________
Expires: __________
Valid IP: __________
Valid Domain: __________
Licensed To: __________
WHMCS version: __________ PHP version: __________
Server public IP: __________ Install dir: __________
Activity Log line(s), with date and time: __________