OneFlewOverTheOwlsNest this will be long, so please bear with me
You first need to understand why your ferritin and B12 levels are low
It could be something like Coeliac preventing adequate absorption or Hashimoto's (autoimmune thyroid disease)
You can ask your GP to run these tests (or others as suggested upthread) but bear in mind that initial NHS testing is too basic. It would be better if you could take them privately (e.g., for Coeliac you need to test at least 6 parameters while on the NHS they initially test 2 before referring you to a specialist)
If you can't identify any absorption issues, you need to look into your diet. Liver (you can make your own chicken liver pate), beef, duck, venison or ostrich are excellent sources of iron and B vitamins. The darker the meat the better (if this becomes too much budget wise lamb or pork mince will help) Try not to have it together with dairy and have some vitamin C (e.g. an orange, tangerine, or kiwi for dessert) to aid absorption. You need to be consistent and have these foods often (in my experience B12 is quicker to go up than ferritin)
A B complex is usually recommended rather than a single B vitamin
Supplements are tricky and many people cannot absorb them well. I agree that liquid and sublingual forms are usually better absorbed than tablets.
In relation to your question, Amazon probably wouldn't be my first choice. Try Boots, Superdrug or any pharmacy, they are quite inexpensive. Some supermarkets carry their own brands also.
If you do order from Amazon, I would make sure Amazon is the seller (to make sure the product is not fake) or do a thorough research on the marketplace vendor to ensure they are reputable (e.g. they are a pharmacy, laboratory, etc)