Hi Kriss,
What Florent suggested will work with web tracking or app tracking, but with offline channels, it's not enough. You need to capture more information like source, file name, workflow name, timestamp, etc.
It's a standard practice to create a separate table for external tracking logs to capture information from all channels.
Usually, I go with following structure.

In your AB testing workflow, you can combine these two logs using recipient ID and you have everything in place to truly measure your results on Single customer view.
Hope this helps!
Regards,
Amit