@Adam here is what I use on some of my servers:
Skip cache with:
http_cookie ~* "wordpress_sec_[a-f0-9]+|wordpress_logged_in|woocommerce_cart_hash|woocommerce_items_in_cart|wp_woocommerce_session|wordpress_no_cache"
and
request_uri ~* "/.well-known.*|/wp-admin/|wp-.*.php|index.php|/feed/|sitemap.*.xml|/login.*|/cart.*|/checkout.*|/my-account.*"
But I think this is where the real issue is.. on my current setup I IGNORE the following query strings.. ie still cache the urls:
utm_source
utm_medium
utm_campaign
utm_expid
fb_action_ids
fb_action_types
fb_source
fbclid
gclid
age-verified
ao_noptimize
usqp
cn-reloaded
_ga
If you email me, I can provide you some live examples.. use the email address in my profile is fine.