Carphone puts a stronger deal forward by offering the promotion on the View 20 model with 256GB storage (£579.99 RRP), whereas O2's offer is on the 128GB version (£499.99 RRP).
Carphone's contract options offer better value for money too. Plans start at £38 per month with £29.99 upfront for 25GB of data on O2. A similar plan from O2 directly would cost you nearly £50 per month.
Plus, a monthly contract from Carphone Warehouse also gets you a £25 voucher to Currys PC World.