If a visit doesn't convert it has $0 value. You can convert cost-per-visit to cost-per-conversion instead (the #s will come out the same) but its more complicated to do technically.
If you just take total_spend/conversions the question that leads to is what spend do I measure over what timeframe and what conversions do I measure over what timeframe? For example, if I want to know cost-per-conversion for my Facebook traffic then which conversions should I consider in your equation above?
a time frame is assumed in my equation. Calculating conversions and ad spend over a time frame is easy if you have your analytics tracking set up properly.
You can't just add up marketing spend and conversions over the same period of time and divide them. That's not an accurate method of measurement.
The conversions and the visits they lead to them are not guaranteed to happen over similar timeframes. If you calculate this the way you're suggesting you are making all sorts of implicit assumptions about variance in visit volume, marketing spend, conversion rates, etc.
For the sake of sanity keep your budgets the same/channel over a time period. The variance in traffic attribution will thus even out so you can add up marketing spend and conversions over the same period of time. I subscribe to KISS
That works if you have short conversion timeframes, but if you're running e-commerce, B2B, or anything with longer than same-day conversion timeframes you're counting conversions that were driven by visits outside your analysis time window that way, it may be simple but its not very accurate.
I disagree, ceteris paribus the conversion associated with each channel will be about the same once you past the longest conversion window. We are not attempting to land on the moon, a high degree of precision is not required. This is cookie based analysis so there goes any degree of precision, there is more precise "user finger print" type of analysis but that gets creepy.
All other things aren't held equal in the real world. You may add a new campaign, or stop one that is currently running. You might change up the audiences or add to them. Basically any activity you would do to optimize a campaign is going to potentially change a channel's behavior. Either you limit yourself to not making those changes, or you severely slow down your decision cycles by constraining them to an amount of time based on the longest conversion window.
That may be an acceptable way to run marketing with small budgets (say under $20k/mo) since you don't have the spend volume to come to many new statistically significant insights about what is working and what is not in short timeframes, but once you get to larger budgets the method of hoping that all other variables are equal-ish is a great way to lose money on marketing. If you run substantial marketing accounts it trivial to see the differences in practice between the model you suggest and a more accurate model, you shouldn't just hand-wave away the differences.