Can PIWIK do this type of function?

I am looking for some website visitor tracking software for my B2C e-commerce site and I am wondering if PIWIK could be suitable.

Does anyone know if the software can do the following?

i) When a visitor comes to my website it sets a cookie on the computer.
ii) This would then track each page the visitor looks at whist on my site
iii) Each product page on my site has a tag based on its product category. So system could add up the pages viewed for each category.
iv) This information would then be collated for each visitor session showing: number of pages viewed/pages viewed by category/session date and time.

I am assuming the above steps would be possible. However, I would then like to extend this to cover aligning it with visitor email address, as follows;

a) If visitor uses a live chat function and enters their email address, this would be passed by API into PIWIK. PIWIK would then assign this email address to the cookie containing the visitor’s viewing activity on my site.
b) If a visitor completes a contact form containing their email address, the information of the IP address/and email would pass into PIWIK which would again be aligned with the viewing history cookie.
c) If a customer gives us their email address over the phone we would send an email containing a link. If they click the link it would align their cookie data with their email address.

My overall objective is to use this visitor information which can then be passed into my CRM (salesforce) I can then write various workflows to achieve a nice marketing automation solution for my website.

Does that sound reasonable? I would be happy to pay a freelance PIWIK developer to set this up and customise it for me.

Look forward to hearing other forum members views.