Customers creating multiple accounts to re-use discount codes

FullContact has the capability to detect the same person based on email, address, phone and ip. Using Identity Streme you can use the PersonIDs to detect same person (same id). You can use RecordIDs to manage offer codes (10% off for one promotion and 5% for another, etc). They don’t have it as an all in one solution yet but it’s easy to build on top.