Because of the way Contact Form 7 uses nonces to validate form submissions, caching contact form pages for longer periods of time result in expired nonces, and therefore failed submissions.
By default, CF7 will generate a “nonce” or a random string that is submitted and validated by WP when a form is submitted. This prevents CSF (cross-site forgery) attacks.
The “nonce” string expires after a set amount of time. Because pages are cached, expired nonces may be served to visitors, resulting in issues contact for submission.
To resolve this, simply create a rule to bypass the cache on contact form pages. This can be done via our Page Rules feature.
Click on “Page Rules”

Set the action to “Bypass Cache” and filter by “Path”

Enter the URL/URLs that have contact forms.
For example, if a contact form was located on:
https://example.com/contact-us
https://example.com/contact
I could create a rule that matches “*contact*” which will match the word “contact” in any domain or URL.
Or, if I wanted to just target one domain, I could match “https://example.com/contact*” to match both of the URLs above.
Click Save, and the rule will go into effect immediately. If you need help with this, or there are any questions, simply contact us.