Most people (and Adobe) recommend sending all the data from web and mobile into the same suite. We've had that implementation for years. This was you can get your entire network data in a single place, then separate out with Virtual Reporting Suites or simply with segments for focused analysis... it's easier to segment data than to add it together.
As for creating uniqueness, I am not sure if what you have will work... you will have to test it, I hope you have AEP Assurance (formerly known as Griffon) installed in your app to make testing easier.
My concern is the nature of events.
By default, Processing Rules is set to Custom Value and the "1" meaning the value passed here is likely just the numerical value, I don't know if you can create the serialization here.
In web, you would have:
s.events = "scOpen:12345"
or maybe for a numeric event, you would have:
s.events = "event1:1234=2" (I am guessing, I've never serialized a numeric event before, only counters, but since counters are "event1=2" this logic makes sense....)
You can see in the numeric events, the value would be 2, and in processing rules, I might have something like:
You can see that the custom value is the numeric value, not the serialization.....
When I've done serialization with my developers, I am actually having them set the events directly in the call.
cdata.put("&&events", "event1:1234");
And since Products isn't available to map in Processing Rules at all, I have them do all product / shopping cart related tracking.
https://developer.adobe.com/client-sdks/solution/adobe-analytics/product-variable/#products-variable...