What are the SPECIFIC limitations for split testing with proxies

That’s an odd way to say you got a response in 19 hours on average. About 10 hours for the first message, 48 hours for the next and 40 minutes for the last one before this message that I am writing which is about 19 hours after your last message in the helpdesk. I can understand our response times might not be the fastest, but please be mindful and appreciative of our efforts. :slight_smile:

Regarding the specific question, it largely includes problems outlined here: [Support Guide] Why not proxy to Netlify?, specifically:

and

Furthermore, it would also depend on the proxy’s configuration. For example the way the proxy itself might be itterfering with caching or working with cookies, etc.

About how to achieve it with Edge Functions, it would be something similar to:

import type {Context} from '@netlify/edge-functions'
export default async (request : Request, context : Context) => {
  const variantFromCookie = context.cookies.get('variant')
  function sendRewrite(variant : number) {
    const url = new URL(request.url)
    if (variant >= 0.5) {
      return new URL(url.pathname,'https://main-branch--subdomain.netlify.app/')
    } else {
      return new URL(url.pathname,'https://other-branch--subdomain.netlify.app/')
    }
  }
  if (variantFromCookie) {
    return sendRewrite(variantFromCookie)
  } else {
    const variantRandom = Math.random()
    context.cookies.set({
      name: 'variant',
      value: variantRandom.toString()
    })
    return sendRewrite(variantRandom)
  }
}
export const config : Config = {
  path: '/*'
}

Note that, this was something you should have attempted by reading the documentation and trying out some examples. We do not write or provide support with custom code, but considering this might be useful to more users who would want to know this, I wrote an example. This is untested, I wrote it directly on the forums, but this should give you an idea. This would also need some fine-tuning based on each site and use-case, but this is how a very primitive split testing can be setup using Edge Functions + branch deploys.