4

Group Memberships And Sub-Accounts

So you want to use DAP to sell group memberships or sub-accounts.

Eg. 1) A group membership – or multi-user account – that a School/College/Teacher can buy on behalf of their students. It’s either a one-time product, or could be a subscription product. In that case, buyer keeps paying monthly, and when they stop paying, all sub-users (child accounts) get disabled.

Eg. 2) Company A pays $X for up to 20 of its employees to have individual memberships. To begin with, the money is collected in one lump sum and DAP grants 20 memberships. Then each month Company A pays the Corporate/Umbrella/Bulk Membership and DAP gives credit to the individual memberships. If Company A fails to pay, all the “sub” members underneath lose access.

How To Implement Group/Bulk Memberships

DAP doesn’t directly support sub-memberships or sub-accounts yet. We already have this on our humongous to-do list :-). And we definitely plan on implementing it soon. But for now, here’s a work-around for making this happen. It’s fairly simple, yet it is manual, and cannot be automated yet.

  1. You would set up a One-Time product in DAP called, say, “20-Seat Membership“. If you wish to sell different quantities of “seats” or “licenses”, then you have to create as many products (like “5 Seats”, “10 seats”, “50 seats”, etc).
  2. In the welcome email, you would instruct buyer to email you a CSV file with 20 (or as many as your product allows) names and email id’s, one per line, in this format (EMAIL,FIRST,LAST):student@gmail.com,John,Student
    another@yahoo,com,Jill,Freshman


    member20@yahoo,com,Joe,Senior
  3. And then, using DAP’s bulk-import feature, in one fell-swoop, you can add all 20/50/100 to your membership site and give them all their own accounts, usernames and passwords, that they can all use to independently log in to your web site.
  4. If you see Step 1 above, we advised to make this a One-Time product. The reason for that, is you give life-time access first, and if they stop paying, then you cancel manually. So if the main buyer stops paying the subscription, this is the only time you will have some manual work hunting searching for those 20/50/100 email id’s on the Users > Manage page, and then clicking on “Remove” on their user row, so that they completely lose access.

Until we include this feature in DAP and make it automated, there are two ways to look at this.

One: You could say, it’s too much work to remove 20/50 emails when the main buyer cancels. OR…

Two: Since this is a group membership, you are hopefully charging them a good fee for this (if not, then you certainly should!). So you can always hire someone for $5 or $10 per hour on Odesk and have them do the removal of those email id’s. Removing 50 email id’s would take about 20 minutes at most. And you would need to do this only when they cancel, which can happen only once per group membership.

So hope that helps give you some ideas.

Hope this makes sense.

OptimizePress Issues

1) OptimizePress 1.x CSS Issue

Problem

You try to visit a protected page that you’re not eligible to view, and see an ugly page full of un-formatted links

Solution

  • Create a custom error page in WP – like http://YourSite.com/error/
  • When creating the above page, select the OptimizePress template “DAP Error Page”
  • In the body of that error page, enter something like this:
    Sorry, you do not have access to this content.
    If you are already a member, click here to login.
    If you are not a member yet, then click here to get access.
  • In the above example, link the text “click here to login” to your stand-alone DAP login page (eg., http://YourSite.com/login/). And link the “get access” text to your sales page.
  • Then take this error page’s URL – which is http://YourSite.com/error/ – and enter it into the “Error Page URL” field of all DAP Products.
  • Also enter this same URL into DAP Admin > Setup > Config > “Error Page URL (Global)”.

Save, and that will no longer display the ugly error page going forward. Instead, it will redirect the user to the above custom error page.

2) OptimizePress 2.x Content Protection Issue

Problem

You try to visit a protected page that you’re not eligible to view, yet you are still able to see all of the content. Or the page appears messed up with missing menu items or formatting issues.

Solution

  • Make sure “Sneak-Peek” is turned OFF – it won’t work with OptimizePress 1.x or 2.x.
  • Follow all of the same steps from Problem 1 and create a custom error page.
2

Deleting A User

  1. Go to DAP Admin > Users > Manage
  2. Search for the user by email or name or id
  3. Once you find the user, in the search results, check the checkbox next to user’s name
  4. On the to-right section (Operations), the last row is Fully Delete Selected User(s) from the database. Click on the Go button next to it.
Click image below to enlarge

2

Download Protection: Fact & Fiction

FACT: Anything that you put out on the web, can be downloaded – one way or the other.

FACT: People who are out to steal stuff, will steal it no matter what.

FACT: By taking security too far, you will only annoy and irritate 99% of your members who have absolutely no intention of ripping you off or stealing your content in any way.

DAP provides built-in security for files and video and just about any other type of file extension – like .pdf, .zip, .doc, etc. DAP will make sure that even if the URL to the actual file gets passed around, the person trying to access the file will have to log in first before they can access the content. So your content is safe from un-authorized users, with DAP protecting it.

However, what about a valid, paying member? When they get access to a protected PDF or .zip or even a video, can DAP prevent them from downloading the file to their desktop? If a paying member who has legitimate access to a PDF file, can download the PDF to their desktop, can they not then turn around and upload it to their own web site, or send it as an attachment via email to their friends? Is there any way to make files not downloadable at all?

Sure they can. But trying to build a Fort Knox around your content, is not really the best thing for your members.

Taking Security Too Far

Like we mentioned above, anything that’s out there on the web, can be duplicated, copied, downloaded – in one way or the other. Nothing is 100% secure.

  • You could use “Streaming Only” technology to make sure even legitimate, paying members cannot download videos from your member’s area. But guess what? There are screen-capture tools – even free ones – that can be used to rip your video, and convert it into a file that can then be passed around on pirate sites. So preventing download of videos would only result in upsetting your legitimate members, because people like to watch videos even when they’re away from their computer – like on their ipad when sitting on a bed or a couch. Making everything “streaming only” means that they must be online and logged in to your member’s area every single time to watch your videos. Not a good thing for your members. You want to upset 99% of your members just to prevent that 1% who may (or may not) steal your content?
  • PDF’s can’t really be prevented from being downloaded. Once the PDF reader opens a PDF file, even if it’s by clicking on a link on your web site, it means it’s already downloaded on to the computer in some kind of a “temp” folder. So it has already left your web site and landed on the user’s computer. Nothing much you can do from there. Sure, you could make your PDF’s password protected, but they can pass on the password too to others. You could make your PDF files so that they cannot be copy/pasted, or cannot be printed. But guess what? There are tools out there that will break any kind of encryption or restriction you put on your PDF files, within seconds. And those who want to actually steal your content, also know what those tools are and how to use them.

So can your content be “too secure”? Absolutely. You can make it too hard for 99% of your legitimate members, just to prevent the 1% from stealing it (but they’re going to find a way to steal anyway). What’s the point, really? Those who want to steal, know how to pick your lock. So why make it harder for your real members?

Can people pass on their username/password to their friends to log in to your member’s area? Sure. But DAP will lock their account from further access, if it detects an account getting logins from more than, say “5” (or whatever you set as admin) IP addresses.

Can people download your videos from your site after getting legit access to it, using screen-capture tools, then re-upload to a torrent or black-hate site? Sure, they can.

Can people break your “password-lock”, “print-lock” or any other kind of restriction you place on your PDF files, within seconds? Sure, they can.

No, your content can never be 100% secure. Any one who tells you so, is either lying, or doesn’t have a clue.

Your only goal should be to make it hard for the “casual” abusers, that’s all. Not to make it so hard that even your legitimate members have to jump through hoops to get to it.

The best membership sites we have seen, provide access to their content in multiple formats.

Do you publish video content? Then right below the video, also give them a link to “download” the video and “watch it at their leisure”, publish an “Audio Version” in .mp3 format, publish a “PDF Transcript” of everything said in the video, so they can even “read” the content from your video.

Is your content mostly text? Then offer a PDF version of your blog post or page, so they can download it, print it, and read it offline. Or make a “Read Aloud” version of your blog post and offer it as a .mp3 file, so they can “listen” to your content while at the gym, or while going for a walk, or while driving in their car.

Bottom-line: Don’t worry about the 1% who will never pay you, probably will steal your content, and pass it on to others one way or the other. Just focus on creating great value for the 99% of your paying members who pay you, support you, promote you, and keep coming back month after month after month. And that’s the best use of your time and resources, and that’s the only way to build a successful membership site.

5

Gmail Integration With DAP

WARNING: Gmail integration may not work for everyone. Many factors – including, but not limited to, your physical location, the location associated with your Gmail account, location of server, IP address, etc – appear to play a role in whether or not this will work for you with your Gmail account. So please note, that if it doesn’t work for you, then there isn’t anything the DAP team can do to overcome or “fix” that. It’s Google, after all. We don’t know what rules and monitoring they have in place for this. So, if Gmail integration doesn’t work for you, then you may want to consider Amazon SES integration, which has a 100% success rate with DAP users at this time.

To increase deliverability of your autoresponder, broadcast and instant emails (like “Welcome” email), you can make DAP completely by-pass your web host’s email server, and send emails out through third-party email servers, like Gmail or Amazon SES. This article is about setting up DAP to send out emails through Gmail’s email servers.

Sending Email Through Google’s Gmail Servers

Before you start sending out mass emails through Google’s Gmail Servers, please note this…

Sending out emails through Gmail instead of your web host, will surely boost your deliverability, no doubt. But remember that Gmail is NOT meant to use for mass emails. It is not really meant to be used as a list service. Plus they have a very strict restriction of 500 emails per 24-hour period.

You exceed that quota even by one, and they probably will temporarily disable your Gmail account for about 24 hours. Sending a large number of un-deliverable emails (resulting in bounces) could also get your entire Gmail account permanently suspended. And if you lose your Google username, it may (no confirmation available) affect your other Google accounts too – like AdWords or AdSense.

Anyway, DAP has a round-robin emailing system – so you could set up and use multiple Gmail accounts – each with its own 500 email limit per day – and combine them to send out a larger broadcast. However, remember – we’re talking about Google here – which means they can suspend/cancel/delete your account for any reason at all, even more so when you’re going against their TOS.

So use Gmail with caution, and only for smaller lists. If you want a larger sending email limit, check out the DAP integration with Amazon SES which allows you to send out tens of thousands of emails a day.

  1. Log in to your DAP Admin Panel, and go to DAP Admin > Email > SMTP.
  2. On this screen, use the section Add a New SMTP Serverto create a new SMTP row as follows:Description: Gmail (can be anything really)
    Server: tls://smtp.gmail.com (must be exactly that)
    Port: 465 (must be exactly that)
    SSL: N (must be exactly that)
    User Id: youremail@gmail.com (your gmail email id)
    Password: yourpassword (your gmail password)
    Email Sending Limit Per Hour: 500 (don’t go more – less is ok)
  3. Click on the Add button to create and save the new Gmail SMTP server setting.
  4. Once it is saved, now you will see 2 rows on the screen: One for “Localhost”, and the other is the new “Gmail”.
  5. Towards the end of each row, you’ll see a setting called “Activated?”. Set it to “N” for Localhost and “Y” for Gmail.
  6. That will now make all of your outgoing emails (listed below) go out only through Gmail, totally bypassing your web host’s email server. Which means, your email deliverability will go up substantially.
  7. List of outgoing emails for which your Gmail account will be used, include:
    – Real-time Welcome Emails
    – Third-party Notification Emails (to Admin, other third-parties, Aweber, etc)
    – All notification and transactional emails to DAP Admin – like payment receipt, new user signup, error notifications, user unsubscription notifications, etc
    – All autoresponder and broadcast emails
    – etc…

 

37

Amazon Simple Email Service (SES) Integration With DAP

DAP/Amazon SES Integration

You can hook up DAP to Amazon’s Simple Email Service (Amazon SES) and have all of your emails go through Amazon’s beefed up, high-performance, high-deliverability email servers.

The document below explains how to connect DAP to Amazon SES. (troubleshooting info for DAP/SES integration)

  1. Go to http://aws.amazon.com/ses/ and sign up for Amazon SES. You must already have an Amazon account and you can add SES to that same account.
  2. Then go to https://console.aws.amazon.com/console/home , log in if required, and click on the SES link there.
  3. That will bring you to the SES “Dashboard”.
  4. When you first sign up for SES, you will be assigned a “Sandbox” account. Which means that you will only be able to send emails TO and FROM verified email addresses (a verified email address is something you add yourself to your SES account and then click on a confirmation link that Amazon sends you, to prove that you are the owner of that email id). Also, Sandbox access allows you to send out a maximum of just 25 emails per day, both FROM and TO verified email id’s only.
  5. So the first step is to add a Verified Sender. So click on the “Verified Senders” link in the menu on the left.
  6. That will bring you to this page. Click on the Verify a New Email Address link with the green check-mark next to it.
  7. In the popup, enter the email id that you wish to use as your FROM email id to send out emails. Please note that you can ONLY use verified email id’s to send out emails from your Amazon SES account. So whatever email id you wish to use in DAP Admin as the sender for outgoing emails (see DAP Admin > Setup > Config > From-Email Id : For all outgoing DAP emails), that’s the email id you should verify.IMPORTANT: The email address is case sensitive. So if you white-listed You@YourSite.com at Amazon SES, then you must enter the email address with the exact same cAsE within DAP Config too (You@YourSite.com is NOT the same as you@yoursite.com for the purposes of Amazon SES. Crazy, we know! But that’s how it is.)

  8. You will then receive an email from Amazon at that email id which has a confirmation link. Once you click on that link, your email id in your Amazon SES account is now “Verified” (also known as whitelisted). Please note that at this time, you still have Sandbox access. Which means you can send email both FROM and TO the same verified email id. Not very useful, but that’s ok. Now time to go back to the SES Dashboard and Request Production Access.
  9. Click on Request Production Access and you will be taken to a form that you need to fill out and submit. Amazon then reviews it, and it can take up to 48 hours for your account to be granted Production Access – which basically means, you can now use SES and start sending out real emails, and your per-day limit is now 10,000 emails per day.
  10. Now, you need to get a SMTP Username and SMTP password for sending out emails. This username & password is NOT the same as your Amazon account email and password. Neither does it have anything to do with your Amazon Public or Secret keys. This is a completely different (and new) username and password used JUST for sending emails, and it needs to be generated newly.
  11. To generate a new set of SMTP Username and Password, click on the SMTP Settings link in the menu. And then on the next page, click on Create My SMTP Credentials.
  12. In the resulting popup, click on Create.
  13. That will create your SMTP credentials. But to see it, you have to click on Show User SMTP Security Credentials
  14. Once you click on Show User SMTP Security Credentials, you will be shown your SMTP Username and Password.
  15. Be sure to note down the username and password in a safe place where you can get to it again, because Amazon will not show this same set of username and password ever again. If you lose them, of course, you can always generate a new set of username/password again for free, but you’ll never get the same pair again – it will be a fresh pair.
  16. Go to the SMTP Settings link in the menu and note down the Server Name.
    It will be one of the following:
    email-smtp.us-east-1.amazonaws.com (as in the image below)
    email-smtp.us-west-1.amazonaws.com
    email-smtp.eu-west-1.amazonaws.com (European Union users)
    ses-smtp-settingsYou need to determine what your host name is, and then add the text “ssl://” to it at the front.

    So if the server name displayed in your Amazon SES account is this…
    email-smtp.us-east-1.amazonaws.com

    …then the text you would enter into the DAP Email > SMTP page is this…
    ssl://email-smtp.us-east-1.amazonaws.com

  17. Now log in to your DAP Admin Panel, and go to DAP Admin > Email > SMTP.
  18. On this screen, use the section Add a New SMTP Server to create a new SMTP row as follows:

    (Click on image above to see full-size screenshot)
    Description: Amazon SES
    Server: <what you noted down above>
    Port: 465 (must be exactly that – ignore port numbers recommended by Amazon SES)
    SSL: N (must be exactly that)
    User Id: Amazon SMTP Username (that you generated and noted down in Step 15 above)
    Password: Amazon SMTP Password (that you generated and noted down in Step 15 above)
    Email Sending Limit Per Hour: 500 (ideal number – don’t go more – less is ok)Click on the “Add” button to create and save the new Amazon SES SMTP server setting in DAP.
  19. Once it is saved, now you will see 2 rows on the “Email > SMTP” screen. One is for the server “Localhost”, and the other is the new “Amazon SES”.
  20. Towards the end of each row, you’ll see a setting called “Activated?”. Set it to “N” for Localhost and “Y” for Amazon SES.
  21. That will now make all of your outgoing emails (listed below) go out only through Amazon SES, totally bypassing your web host’s email server. Which means, your email deliverability will go up substantially.
  22. List of outgoing emails include:
    – Real-time Welcome Emails
    – All transactional emails to DAP Admin – like payment receipt, new user signup, error notifications, user unsubscription notifications, etc
    – All autoresponder and broadcast emails
    – etc…

Watch this video for details:

1

Leveraging Multiple Affiliate Networks

DAP is so powerful and flexible, that you can sell access to your membership through different payment processors, all at the same time.

And we often get asked how to leverage different affiliate networks like ClickBank and JVZoo and Warrior Plus at the same time while making sure no affiliate commissions are lost, and every affiliate gets credited their commissions for sending potential buyers to your site.

The Big Picture

1) If buyer arrives ONLY through DAP affiliate link, and ends up purchasing through ANY payment processor, then DAP affiliate will get credit.

2) If buyer arrives ONLY through CB affiliate link, and ends up purchasing through CB payment processor, but the buyer has a different DAP affiliate’s cookie from a link he clicked on at some point before (but did not purchase at that time, say), then both CB affiliate and DAP affiliate will get credit (double commissions on same purchase, but to two different affiliates).

If there’s no DAP cookie on his computer, then only CB affiliate will get the commission.

If the DAP affiliate “chains” two of his own affiliate links – his DAP affiliate link and CB affiliate link – like shown below, then same affiliate will get both CB commission as well as DAP commission. Again, double commissions but to same person.

http://YourSite.com/dap/a/?a=1234&p=http://hop.clickbank.net…./

3) If buyer arrives ONLY through JVZOO affiliate link, and ends up purchasing through JVZOO payment processor, but the buyer has a different DAP affiliate’s cookie from a link he clicked on at some point before (but did not purchase at that time, say), then both JVZOO affiliate and DAP affiliate will get credit (double commissions on same purchase, but to two different affiliates).

If there’s no DAP cookie on his computer, then only JVZOO affiliate will get the commission.

If the DAP affiliate “chains” two of his own affiliate links – his DAP affiliate link and JVZOO affiliate link – like shown below, then same affiliate will get both JVZOO commission as well as DAP commission. Again, double commissions but to same person.

http://YourSite.com/dap/a/?a=1234&p=http://jvzoo.com/c/1944/17

The Right Setup For Multiple Affiliate Networks

To make sure that you’re not paying double-commissions on purchases, and also to make sure that sales don’t get lost between affiliate networks (and your affiliates losing their commissions in the process), you have to set things up the right way.

The main thing to do, is to create a separate set of the following for each affiliate network:

  • A separate DAP product
  • A separate Sales Page
  • A network-specific buy button on that sales page
  • If it’s a product that is sold through CB or JVZoo or DigiResults (or any of the affiliate networks), then DO NOT set up commissions for that Product in DAP. So that will prevent you paying a commission to, say, a CB affiliate as well as a DAP affiliate for the same purchase.

So the net effect of this, is…

If a CB affiliate sends traffic to a page, that page must have a CB buy link ONLY on that page. If you have, say, a JVZoo button on that same page, and the buyer buys through the JVZoo link, then the CB affiliate will get no commissions for that purchase. Which means, they will stop promoting your product because you’re basically funnelling off their visitors to a different affiliate network.

Similarly, the landing page for JVZoo affiliates must have only JVZoo buy buttons.

Landing page for a regular payment processor – like Paypal or Authorize.net – should have only a Paypal and/or Authorize.net buy button (and no CB or JVZoo buy buttons). In this case, for these products in DAP, you should set up an affiliate commission row on the “Affiliates > Manage” screen, so that your DAP affiliates can get credited for sales made through your regular web site.

 

2

Customizing Logout Button

If you wish to change the default “Logout” button that shows up in the Login/Logout sidebar widget, then here’s what you need to do…

Rename the file

wp-content/plugin/DAP-WP-LiveLinks/DAP-WP-LogoutHTML.html

To…

wp-content/plugin/DAP-WP-LiveLinks/customDAP-WP-LogoutHTML.html

Open this new file customDAP-WP-LogoutHTML.html and inside you’ll see just this one line…

<input type=’button’ name=’dap-logout-button’ value=’Log Out’ onClick=”javascript:location.href=’/dap/logout.php’;”  style=”margin-top:5px” />

Change that to…

<input type=’image’ src=”/path/to/button/image.jpg” name=’dap-logout-button’ value=’Log Out’ onClick=”javascript:location.href=’/dap/logout.php’;”  style=”margin-top:5px” />

9

Google Checkout Integration with DAP

1) Update DAP Setup > Config -> Secret Authorization Key to be…

YourGCmerchant_id|YourGCmerchant_key

2) Point the Google Checkout IPN handler to

http://yoursite.com/dap/dap-gc-responsehandler.php

(replace yoursite.com with the name of your site).

3) Create a DAP product and make sure the item name that your GC Item Name exactly matches the DAP Product Name.

That’s it!

NOTE

You will find a file by name dap-gc-responsehandler.php in your dap folder.

Use this file as is, with no changes, during testing. Nothing to change.

But once you’re ready to go live, open the file, and find the line below:
$server_type = “‘sandbox”;

And change it to:
$server_type = “‘production”;

 

6

DigiResults.com Integration With DAP

1) Go to DigiResults.com “Manage” Listings tab at https://www.digiresults.com/manage/listings

2) Click on the List Name

3) Click on “Edit Product” below the Products section on the listings page.

4) In the Edit Product page, click on “Edit” next to Direct Receipts.

Set the Direct Receipt URL to point to the dap script on your site…
The direct receipt format should be set to Clickbank Instant Notification.
http://YOURSITE.com/dap/dap-digiresults.php

5) Create a product in DAP and make sure the dap Product Name exactly matches the digiresults Product Name.

That’s it!

Now run a test purchase via digiresults and see if the account gets created in dap automatically.

1 13 14 15 16 17 35