Sometimes you have too many marketing channels. A customer could receive a postcard in the mail, then visit your website via paid search, then purchase via an affiliate.
You could credit this order to the affiliate (last touch). You could give credit to the postcard for creating demand (matchback). Or you could allocate the order 1/3 - 1/3 - 1/3 to each channel (attribution). Hint: There isn't a right way to do this, there are only wrong ways to do this. You cannot get in the head of the customer and ask her brain to properly allocate the order, can you?
Ok, you've done your best to allocate the order. Now you have to record the order in your database. Is this an offline customer (buys via postcard), or is this an online customer (buys via an affiliate), or is this a search customer?
In your database, you can set up "primary" and "secondary" channels. The "primary" channel might be the affiliate, since that is the actual marketing channel where the customer placed an order. You can also give full credit to the postcard as a "secondary" channel, and to search as a "secondary" channel.
Once a customer purchases for a second time, you begin to get a clear view of the preferred "primary" channel, and you begin to get a clear view of the preferred "secondary" channel.
Among customers who have purchased 2+ times, segment customers based on their favorite "primary" and "secondary" channels. This will give you better insight into what the customer is likely to do in the future, allowing you to better allocate marketing dollars as appropriate.