I bought my iphone this way and I get extra 12 Avios per GBP because I used BA shopping portal and click link to buy at selfridges when they had promo 12 miles, now its 8 miles and Virgin portal offer 9 miles per pound.
My math was what I got almost 12000 avios just for clicking few links and spend 999GBP which I had to spend, this is enough for return reward flight to Milan I used my Amex Platinium card to get extra Amex rewards points and up to 3 moths free purchase insurance so If I just accidentally drooped my phone I could claim all money back or repair cost with 50GBP excess.
You can also book your hotel stays via this sites but not all chains for example You can book Hilton via Virgin but not via BA portal. Evry little points counts for extra flight redemption so be smart and If you have to buy something expensive check shopping portals.
BA shopping portal have at least 2 times per year double points promotion. Current offers You can check here www.shopping.ba.com/offers:
Virgin have offers at this page: shop.virgin-atlantic.com/en/top/special-offers?&page=1