NGINX Caching, PHP dynamic field population, UTM parameters and other problems

Hello folks,

I find myself, again, facing problems with GF/caching/nginx/PHP dynamic field population.

I really hope someone as found a way to solve all or part of this.

Here are the various problems:

A- I use dynamic field population for, as an example, setting a % of the time an SMS phone validation needs to be done… needless to say that, since the dynamic field population is done at the PHP level, if nginx cache this page, the % will remain the same until the cache is renewed.

B- I also use field population to save the utm_source inside a form field… since it’s again done at the PHP level, the utm_source will remain “the one that was set when the page was cached”, so at the end I have garbage data in that field if the page is cached

C- I use (within newsletters links) dynamic field population to send user to a form with prefilled &email=abcd@gmail.com&firstname=john&lastname=DOE in order to prefill these fields. As you guessed it, the page can’t be cached

At the end, as you guessed it, I end up desactivating nginx caching of the pages having a GF form on them (I’m using cache enabler plugin for this deactivation)… but as a result these pages are way slower that they would be if they were cached and compressed as they should.

Is there any way around all of this?

I suppose one way to bypass the PHP cache issue, would be to use javascript to to the field population (e.g. get URL parameter, then something like document.getElementById(‘Id’).value=URLParamValue;)

This way the field population would be done on the client side, not the PHP/server side.

Any of you has a solution to this or tips?

Thanks,