I don't buy direct from GDAX, since it just has the same parent company as coinbase, and they in fact use the same database to store information about your balance.
My process used to be:
1) Buy BTC from Coinbase
2) Transfer BTC balance to GDAX (a service provided for free, and with no on-chain transaction)
3) Withdraw balance from GDAX to personal wallet. GDAX pays transaction fee.
Now I'm substituting Coinbase as a whole for Square Cash. I used Square Cash a lot already, and now since they support buying BTC why the hell not. The fact that coinbase is charging users with the transaction fee for withdrawals while not letting them set the fee is fucking exceptional. I may go back to CB/GDAX if they implement SegWit and transaction batching.
And pretty much all the big american banks are refusing PCI transactions meant to buy crypto anyway because as mentioned, idiots just charge back when crypto goes through a market correction. So I use ACH or Wire.