Contact stitching is designed to take any incoming external user and find or create a contact for it in charles. Here we describe under which condition we stitch the contact.
| System | Rule | Considerations |
|---|---|---|
| Shopify | All orders can be stitched and attributed to the contact as long as there’s a matching email/phone number. | |
| Shopware 5 | All orders can be stitched and attributed to the contact as long as there’s a matching email/phone number | No Shopware channel user would be created for guest accounts. However, as long as we can identify a valid email or phone from the order with a person that shares the same contact information, we will stitch the order to that person. And if they don’t exist, then we would create a new person in the database. |
| Shopware 6 | All orders can be stitched and attributed to the contact as long as there’s a matching email/phone number | No Shopware channel user would be created for guest accounts. However, as long as we can identify a valid email or phone from the order with a person that shares the same contact information, we will stitch the order to that person. And if they don’t exist, then we would create a new person in the database. |
| WooCommerce | All orders can be stitched and attributed to the contact as long as there’s a matching email/phone number | No Shopware channel user would be created for guest accounts. However, as long as we can identify a valid email or phone from the order with a person that shares the same contact information, we will stitch the order to that person. And if they don’t exist, then we would create a new person in the database. |
| Klaviyo | We can stitch Klaviyo profiles with existing charles contacts if we can find either matching email address or phone number or both |
We currently don’t handle phone numbers that don’t start with a country code. For example, if your customer enters a German phone number but only starts with 1 instead of 01. To resolve this problem we either;
Run the validation once without the country code from the address first and only re-run it when it fails:
33112345678 (french) and DE as shipping country (country code + number, no +, miss match to shipping country)17632246092 (German) and DE correctly (first checks detect valid US number)Or we run the validation directly always with the country code from the shipping address:
33112345678 (french) and DE as the shipping country (will produce +4933112345678 )17632246092 (German) and DE correctly (will always match numbers without country code, to the one used for shipping)+33112345678 and DE would correctly produce +33112345678 (remain frech)