2. You can store identifying data of website accesses etc for at most 30 days without worry
3. Beyond that, you can only store data that's absolutely necessary, e.g. metadata associated with actual purchases and transactions, but not every access.
4. Usually, you'll have to delete that 2 years afterwards, in some exceptional situations up to 30 years are possible
What I'd do: 1) disclose, 2) delete logs after 29 days, 3) copy all logs associated with a customers transaction into a separate storage location, shared by customer, transaction and date, so you can delete it 2 years later.