As you point out, the SharedArray is just for reading. It’s shared between virtual users (VUs) and optimized for reads. You are able to read the data to create the users (email, etc.), but you can’t store back the customerid and other data your system under test (SUT) returns.
You can have a look at how to load test a database, as an example of how to use a database extension. You can use this to read or store data for tests, instead of load testing the database. This option can also help if you ever have the need to run distributed tests.
If you can provide more context we might be able to better advice. For example, do you want to keep the customerid for a clean-up after the test only? What is the use for the data you store from the test?