Skip to content

How do I automate removal from one list when subscriber is added to another?

edited January 2013 in Questions

@Ben:

For each website, we have had two primary lists with MailChimp. List A is non-paying email subscribers. List B is BUYERS or paying subscribers. List B is automatically generated through various methods depending on how a person paid (e.g., Wufoo, PayPal, Stripe or DPD integrations). The objective is to not annoy paying BUYERS or subscribers with marketing emails asking them to purchase a product or subscribe to a service that they already purchased or subscribed to. We send one email with marketing information to non-paying subscribers and one without marketing information to buyers. Aweber does the list scrubbing natively with a few clicks when you explain the logic (if X then Y). MailChimp does not and always required manual scrubbing of the list (i.e., manually unsubscribing List B BUYERS from List A non-paying subscribers by exporting the List B CSV and then importing or pasting it to unsubscribe from List A).

How do I do this automagically with Sendy?

The guys at DPD (aff link) were nice enough to honor my request and integrate your API so all new purchases get automatically subscribed to the buyer's list. (I'm now trying to figure out Wufoo integration)

This leaves the question of how do I get those buyers automatically removed from List A?

Comments

  • BenBen
    edited December 2016

    UPDATE (Dec 2016)

    You can use Zapier to unsubscribe an email from one list when the it's added to another without touching any code → https://zapier.com/zapbook/zaps/14673/unsubscribe-email-from-one-list-when-its-added-to-another/


    Hi @vincentpolisi,

    Thanks for the detailed description of your question!

    You can simply use the unsubscribe API to unsubscribe the user from List A. You may need to request DPD to help you use the unsubscribe API to unsubscribe the user from List A.

    Thanks.

    Ben

  • Ben:

    If the API already has that functionality, how difficult is it to code two drop downs per brand that state, "If subscriber is added to: Drop down A (Buyers List), Remove from Drop down B (Subscribers who haven't purchased yet list) and have it run via Cron (or whatever)?

    It's way easier to handle at the Sendy level where the list is than trying to get DPD and Wufoo and the various other integrations to integrate it.

    In other words, I realize you have your own development and upgrade schedule but reading the forums, there are quite a few of us who love Sendy who are willing to pay for custom features found in MailChimp, Aweber, etc., and I'm wondering if it wouldn't be a good idea to setup a sort of hybridized Kickstarter fund for Sendy to accelerate the customization and upgrade calendar?

    I hire developers all the time to code custom integrations and I'm ready to do that here. The challenge is that unlike a website, Sendy is a proprietary platform where I don't control all of the moving parts. As a result, we can invest money on independent programmers only to have that investment wasted and the code nullified due to a future upgrade since it's done outside of Sendy.

    So, two ways to accelerate Sendy's feature set would be for you to price out the cost and time of each feature request that's outside your planned schedule and let the community fund it Kickstarter-style (and then you can prioritize based on timing of funding) or to have you layout the requirements to incorporate X from a code perspective and then for me (and others) to independently hire programmers to accomplish X and send the code to you for review and inclusion in the next upgrade (a hybridized Github, if you will).

    Anyone with any list size that's migrating to Sendy from MailChimp, Aweber, OAP, GetResponse, InfusionSoft, etc., is saving hundreds of dollars per month. That translates to a great deal of code work that can be accomplished on oDesk.

    I think the bottom line is that you have a great product. Everyone seems to agree that you have a great product and I believe everyone understands the potential of the product. The key is realizing that potential (faster) and these may be two ways to do that.

  • Hi @vincentpolisi,

    All these can be done very easily with the API.

    I don't know how your product's purchase flow works. When a customer buys your product, I'm sure you have a script to mark them as buyers and set the rest of the necessary variables. If you're using PayPal, you may be using a script to receive the IPN.

    1. In this script, call the 'subscribe' API to add the user to List A (buyer list).
    2. Then call the 'unsubscribe' API to unsubscribe the user from List B (prospects list).

    If subscriber is added to: Drop down A (Buyers List), Remove from Drop down B (Subscribers who haven't purchased yet list) and have it run via Cron (or whatever)?

    Your requirement be solved easily by calling the subscribe and unsubscribe API in real time as soon as your customer purchases your product. That is what I am doing right now for my other products like SUBERNOVA and MockVault.

    So there's no need for me to provide complex development and write a script that cron can check between intervals to see if a certain condition is met and then having to support this feature. But I understand you (or more people) would love to see some extra features in Sendy found in MailChimp and Aweber.

    I think the bottom line is that you have a great product. Everyone seems to agree that you have a great product and I believe everyone understands the potential of the product. The key is realizing that potential (faster) and these may be two ways to do that.

    I really appreciate your support and interest as well as throwing out ideas. I will certainly consider them.

  • Ben, the only issue with that is once again, it requires duplicated efforts across multiple platforms and integrations like PayPal, Wufoo, DPD, Stripe, etc. The information is already contained in the database and a cron is easy enough to schedule. The key is simply getting a dropdown created in the GUI and the scripted logic behind it to function, just like you've done with the autoresponders.

  • BenBen
    edited January 2013

    @vincentpolisi,

    I don't understand why there is a duplicated effort. Can you describe the flow of your purchase process?

    Thanks.

    Ben

  • edited January 2013

    Maybe it's me that doesn't understand since I've never done anything with APIs except use keys to integrate them with other services. Initially, it sounded like you were suggesting that I needed to have DPD, Wufoo, etc., do something but now it sounds like it's something I can "call" with the API.

    1. In this script, call the 'subscribe' API to add the user to List A (buyer list).
    2. Then call the 'unsubscribe' API to unsubscribe the user from List B (prospects list).

    How do I personally call the unsubscribe or subscribe API?

    Not to sound like an idiot, but where is that done? At the server level?

    I understand the IPN call with PayPal but it's not being used in this instance since these subscribes are happening due to integrations with other 3rd party providers.

    Let me give you some real life examples:

    1. Subscriber is on subscriber list for my wife's site
    2. Subscriber buys digital product (ebook) where DPD is handling the shopping cart, purchase transaction and fulfillment of the ebook. Merchant gateway might be PayPal or it could be Stripe. Because I asked them to integrate your API, that Subscriber is now automatically added to the Buyers list for that domain.
    3. At present, Subscriber/Buyer is now on list A (non-paying subscriber) and list B (Buyer)
    4. I don't want to send additional emails with marketing info to Buyer asking them to buy since they've already bought (it's very impersonal and rude)
    5. Walk me through how this person gets automatically removed from Subscriber list and who does it/handles the code/implementation

    Real Life Scenario 2:

    Different website

    1. Subscriber is on subscriber list
    2. Subscriber pays for service after completing a Wufoo form with PayPal integration or Stripe integration
    3. Subscriber is normally added to Buyers list via integration with MailChimp (how do I do that with Sendy?)
    4. Subscriber would normally be on both Subscriber list and Buyer list in MailChimp
    5. Again, the objective is to get them automatically removed from Subscriber List

    If you can explain in layman's terms how I can call the API functions, I'd appreciate it.

    Something you may also want to look at that might save some headaches is Zapier. In less than 10 minutes you can integrate the API and have it automatically connect to about a 100 different 3rd party providers.

  • Hi @vincentpolisi,

    Scenario 1:

    Because I asked them to integrate your API, that Subscriber is now automatically added to the Buyers list for that domain.

    You'll need to request DPD to also call the unsubscribe API to unsubscribe the same subscriber from List A (your prospects list). It's very simple for them to do so, all they need to do is duplicate the 'subscribe' code and adjust some variables (they'll know what to do).

    Scenario 2:

    Subscriber pays for service after completing a Wufoo form with PayPal integration or Stripe integration

    This is where the 'subscribe' (to List B) and 'unsubscribe' (from List A) API needs to be called. I don't know much about Wufoo but after doing some searching online, they have this feature called Webhooks where they'll pass data from the submitted form to the script of your choice.

    I've written the Wufoo webhook script for you (download here). Open up the script and edit the necessary variables. Then upload it to your server and get the URL.

    Watch the video on Wufoo's webhook tutorial page to see how to setup webhooks for your form. You'll need the URL (the script you've uploaded to your server) for integration.

    After you setup webhooks on Wufoo, whenever someone completes your Wufoo form to make a purchase, Wufoo will call the script I sent you. The subscriber will be unsubscribed from List A (prospects list) and subscribed to List B (buyer list).

  • @Ben, thank you. Let me reiterate and ask what I previously stated. Wouldn't this be infinitely easier for you to incorporate in the GUI level with drop downs that can then be run by Cron? Perhaps I am missing something but it seems it could have been done in less time than you've taken to reply to this post and without sounding unappreciative, I do appreciate the time and investment that you take in actually replying to questions and troubleshooting in the forums. It's beyond commendable and creates raving fans.

    Also, would you be so kind as to take the few minutes and integrate your API with Zapier so we can easily integrate Sendy with more than a hundred different 3rd party services without having to independently script each variable? They say it takes less than 10 minutes and can be done on their Developer Page.

  • Hi @vincentpolisi,

    Wouldn't this be infinitely easier for you to incorporate in the GUI level with drop downs that can then be run by Cron?

    Not really. The script that I've written for you takes only a few minutes to write. It's very simple and easy for anyone who are developers. On the other hand, the question of adding a new feature into Sendy, firstly there must be a lot of people requesting for it before I will add it. Secondly, the complexity is higher than writing a script to call the API.

    The API is designed exactly for your kind of requirement (and many many kinds of other purposes). Where a user performs an action on your website or app, it calls Sendy's API immediately to subscribe or unsubscribe the user. If you're a developer, you will know this is the best way to go rather than running a cron job to check permutations forever.

    Also, would you be so kind as to take the few minutes and integrate your API with Zapier so we can easily integrate Sendy with more than a hundred different 3rd party services without having to independently script each variable?

    I'll check it out, thanks!

    Ben

  • @Ben,

    The painfully obvious point is that I am not a "developer" by your definition in that, though I run EC2 instances, RDS, more than a dozen websites with a myriad of integrations, run SSH, have even done SSH tunneling, have run load balancers across multiple VPS, do RTMP streaming etc., I do not code Rails/Curl/KungFu based software.

    I am a buyer of and an end user of your product.

    So, bear with me here if you will.

    How do I independently make calls to the API to achieve what I need independent of what 3rd party providers like DPD and Wufoo are doing since I have no control of what they will or won't do?

    In other words, dumb it down so I can understand. If I want to accomplish what I want WITHOUT anyone else, how do I use the API to poll the lists in the database to achieve things like:

    • Removal from one list when added to another
    • Addition of date/time/IP capture when subscriber is added
    • Profile Reporting so I can pull up a subscriber and see everything they've been sent, what they opened, what they clicked on and when
    • Other cool stuff I can't think of right now but will as soon as I post this comment

    In other words, am I correct in my understanding that I can create a master file of scripts that call API in one document (similar to a .htaccess file) and all I need to do is create the document, add the proper scripts and place them on one of my servers?

  • BenBen
    edited January 2013

    I am a buyer of and an end user of your product.

    Thank you. But I understand what you're trying to get at. As much as I want to, I can't just add features to Sendy requested by everyone. There are certain things you cannot accomplish natively, hence there is the API to help. Also, there's nothing wrong about not being a "developer", if you have no programming knowledge, you can always hire someone at oDesk.

    How do I independently make calls to the API to achieve what I need independent of what 3rd party providers like DPD and Wufoo are doing since I have no control of what they will or won't do?

    In other words, dumb it down so I can understand. If I want to accomplish what I want WITHOUT anyone else, how do I use the API to poll the lists in the database to achieve things like:

    If you want to accomplish things outside the scope of Sendy with the API without needing anyone's help, then you need PHP programming knowledge. Otherwise, you'll need the help of others (eg. oDesk).

    In other words, am I correct in my understanding that I can create a master file of scripts that call API in one document (similar to a .htaccess file) and all I need to do is create the document, add the proper scripts and place them on one of my servers?

    It really depends what you're trying to accomplish. You need to use the API when and where it's appropriate.

    Thank you.

    Ben

This discussion has been closed.