Hey Emre,
Interesting question. I’ve not tested this with any specific caching plugin no. However, if you have any issues I’m always open to pull requests or even a simple discussion.
The plugin uses jQuery cookie to handle cookies. Sometime ago, I did have issues with W3TC using PHP’s set_cookie() methods obviously. If the page is cached it would circumvent that. So, I moved to javascript for cookies ( since the plugin is mainly javascript anyhow ).
The javascript ‘should’ work with page caching, and I’ve had no reports telling me otherwise. I can say that the java script only looks to see if the page should be gated, and if so, it then goes through the logic to determine rather or not to show the dialog, if the user has the cookie or not, etc…
Basically even if a user is using page caching ( which most do ), the ‘only’ thing that’s cached is rather or not the page should be gated. The javascript handles the rest.
You can see the logic I’m talking about here in the source code. https://github.com/JayWood/content-warning-v3/blob/master/js/cwv3.js#L128
But, I’m not perfect ( though I’d like to be ) so if you find any issues please don’t hesitate to let me know or submit a pull request.