An unsubscribe link in your footer can work perfectly while your email still lacks Gmail's required one-click mechanism.

You need to check what the message declares and what your systems do after the request arrives.

Check the message headers

For applicable bulk subscription and marketing mail, the one-click mechanism uses an HTTPS List-Unsubscribe URL and this header:

``text List-Unsubscribe-Post: List-Unsubscribe=One-Click ``

A mailto option alone does not meet the requirement. An additional footer link can lead to a preferences page, but the one-click request must remove the person without requiring a login, another confirmation or a survey.

Ask your ESP to confirm its RFC 8058 implementation, including DKIM coverage of the unsubscribe headers. Inspect a real production message rather than relying only on a template preview.

Test the endpoint and suppression

Use a test subscriber you control. Trigger the supported unsubscribe process and confirm which list or subscription it removes them from. Check that the endpoint accepts the relevant POST request and that the recipient is suppressed from subsequent sends for that subscription.

Google expects requests to be honoured within 48 hours. Check the whole route, including security filters, queues and sync jobs. A request blocked before it reaches your application can still leave you responsible for an unprocessed unsubscribe.

Give each subscription a clear identity

Google's subscription guidance recommends a human-readable List-ID or a unique From address for each subscription list. Use that structure to make the intended scope of an unsubscribe clear.

Keep subscription and non-subscription messages identifiable. Password resets, receipts and one-time passwords are examples of transactional messages. A promotional sequence does not become transactional simply because an automation sends it.

Investigate the result you can verify

Gmail decides whether to show its own unsubscribe control beside the sender through additional eligibility checks. Its absence is not, by itself, proof that your headers are missing.

My recommendation is to test the headers and removal process directly, then check the compliance result after fresh traffic has been processed. Record the request time, the subscription removed and whether the next send correctly excluded the test address.

Sources