Author Archives: DAP Admin
Author Archives: DAP Admin
DAP allows you to easily import users in bulk from an external system or database.
Importing users in bulk is the same as adding users one at a time using the single-user-add feature. So whichever way you manually add users, DAP is going to all of the following…
When you do a single-user-add, all of this is done for that user in real-time. When you do a bulk-add, then all of the above happens for each user being imported, one at a time, when the DAP hourly cron job runs at the top of every hour. That’s the main difference.
1) You must have already created the DAP Product into which the users will be imported
2) The user list has to be in a CSV (comma separated) format (one user per line)
For doing a simple import of user data containing just email, first and/or last name, the format of data (per user, per line) should be like this:
Email,FirstName,LastName
Email and FirstName are mandatory. But LastName is optional. So your user data row could be just…
Email,FirstName
Example:
Joe@example.com,Joe,Customer
Jill@anothersite.com,Jill
Bob@another.com,Bob,Member
DAP will also allow bulk import of users with extended profile information. This includes their existing password and other profile data as detailed in this video (Bulk Add Users)
But please make sure you are using at least DAP v4.2.1 and LiveLinks v1.7, because what’s explained below is only available only since then.
1) You must have already created the Product into which the users will be imported
2) The user list has to be in a CSV (comma separated) format (one user per line), with the exact format being:
Email,Firstname,Lastname,Password,ProductName, Address,City,State,Zip,Country,Phone,Company, Flag (to indicate Paid or Free user), Access Start Date, Access End Date,UserName
Example:
joe@somesite.com,Joe,Member,test123,Example One-time Product,99 hill ave,Cityname,NY,10001,USA,,Plug and Play Inc,y,2011-03-16, 2012-03-15,JoeMember
The only required fields are Email, FirstName and ProductName. If you do not want to supply a value for any of the optional fields, but still wish to import certain others, then just leave those fields empty in the data row (but the commas should remain) as shown below.
Email,Firstname,,,ProductName,,,,,,,,Flag (to indicate Paid or Free user), Access Start Date, Access End Date,UserName
Create a file with the name /dap/bulk/importusers.csv file so it has the users you want to import in the format specified above.
Run this script on your browser to complete the import, by visiting:
http://YourSite.com/dap/dap-bulkImport.php
Note:
* Replace “YourSite.com” with your actual domain name
* Limit the number of users you are importing with this method to not more than 500 users (rows) at a time. Otherwise the import may timeout, because the import occurs real time, because you’re running the script manually, and not via cron. If the user already exists in dap, then the script will just skip that user and move on to the next user in the bulk add list.
DAP is not an email service (like, say, Aweber).
DAP is just a script – a tool – like Microsoft Outlook or Thunderbird – that simply sends out email using your web host’s email server.
It is your web host’s mail server that actually sends out the email to the recipient. So once DAP notifies your mail server about a email that is to be sent, it has absolutely no control over what happens next.
It’s like when you put an envelope with a letter (regular mail) into the mailbox (post box). It is up to the Postal Service to actually pick up your letter, and deliver to the destination address. Your web host is like the Postal Service. If it doesn’t pick up and deliver the (e)mail, then DAP doesn’t have any say in it.
So if the emails that DAP sends out are not getting delivered to your recipients (or landing in the spam/junk folder of the recipient), there could be more than one reason for that.
DAP uses your web host’s email servers to send out emails.
Here are some ways to improve email deliverability and also avoid your email landing in the recipient’s junk/spam folder.
If you are on a shared host, you may even consider totally by-passing sending emails through your web host, and instead use DAP’s “SMTP” feature to send emails out through an external email system – like Amazon’s SES (Simple Email Service) , Gmail or AuthSMTP.com.
If Admin notifications are going out ok, but the welcome email to the buyer/member is not being delivered, then see Troubleshooting Welcome-Email Delivery
If yours is a new site setup, then this is usually because the hourly cron-job has not been setup.
However, if the emails were going out fine previously, and suddenly stopped going out, then it usually is because…
Steps to troubleshoot
If your inexpensive (read as cheap 🙂 shared web host is hosting a large number of sites on one server, and one of them knowingly sends out spam (or mistakenly gets flagged for spam), that will put the email deliverability of every web site on that server in jeopardy, because your site now shares the same IP address as that of an “alleged” spammer.
So your emails get sent to junk/spam folder by Gmail and Yahoo. Or worse, they just totally disappear into the ether.
Almost all shared hosts have hourly email sending limits. For example, DreamHost has an outgoing limit of 300 emails per hour. Which means, a total of only 300 emails can be sent out per hour through any web site hosted on DreamHost. All of the following count towards the 300 limit:
So do you see how quickly you can go over that hourly limit of 300 emails per hour?
But here comes the worst part…
Once you go over that limit, any emails that are actually sent by you or the scripts running on your site, will not actually result in any kind of error. The mail server will respond by saying that the email(s) has been sent successfully, but in reality, on the backend, it quietly “snuffs out” the email. Which means, it doesn’t go anywhere – just gets sent to a “blackhole”. So you keep thinking that you sent out the email. DAP keeps thinking it has sent out the email. But in reality, the emails never actually get sent.
This is the same as you actually putting your letter into the mailbox at the Post Office. But then, imagine this: The postal worker who comes to pick up your mail, quietly goes to the back of the post office and dumps it all into one giant trash can, and destroys all of the mail. So you’re thinking you actually mailed out that important check to pay your utility bill. But the utility company never gets your check, and they slam you with a late fee.
1) BEST OPTION: DAP + 3rd party SMTP service provider like Amazon SES, AuthSMTP.com or SMTP.com. (much less expensive than Aweber, and very reliable too)
2) DAP + Aweber (more expensive, very reliable)
3) DAP + Good web host (cheapest option, but can lead to mixed results – depends on your host).
You could always use DAP and external SMTP service provider like Amazon SES, AuthSMTP.com or SMTP.com to send out bulk mail through DAP while totally bypassing your web host’s email system. This is probably the first best option where DAP controls the composition and sending of the email, the 3rd party service controls the deliverability.
Next best option is using a service like Aweber or GetResponse.
And if you can’t afford even that, then simply use DAP on a good web host. We ourselves use just DAP and LiquidWeb’s email servers to send out emails to all of our users.
And DAP also has built-in job queues to schedule outgoing emails while also making sure that you don’t exceed your web host’s hourly email sending limits (dreamhost’s limit is 300 emails/hour, I think). We use multiple SMTP servers from our own other web sites, all combined to be able to send a few thousand emails per hour.
But even with a lot of planning, it is easy to go over the hourly limit.
So the next time you see in your Job Queue that emails were sent out successfully, but the recipient never received it, here are some things to check:
1) It landed in your recipient’s junk/spam folder. Ask them to whitelist or add your email address to their contacts list.
2) You have overshot the limit, so you would have to actually send out the email again.
3) Try to send out broadcasts during a low-traffic time – say like later in the night – when you’re not actively sending out emails, and using up precious email counts from that hourly quota.
http://DigitalAccessPass.com/documentation/?page=/doc/troubleshooting-email-delivery/
There are a few different reasons why this may not be working.
The DAP email-processing cron that processes the 1SC emails may not be running. Check your webhost control panel -> Cron job settings. Make sure dap-emailorder.php is setup to run once every 10 minutes.
The billing email id you have entered in DAP at Setup > Config > Payment Processing , should be entered into the “Order Notice Email – Primary Destination” field in your 1SiteAutomation/1Shoppingcart account, on the Setup > Orders > Notifications section. If by chance you enter it into the “Order Notice Email – Primary Destination” field, it WILL NOT WORK.
The DAP cron is running but 1SC payment notification emails are not reaching your mail server. Check the email account where you expect to receive your 1SC payment notification emails and see if the order notification email from 1SC is in that mail box.
The cron is running and the 1SC order notification email is reaching your mail server – but you did not configure the mail server settings correctly in DAP Dashboard -> Setup -> Config -> Payment Processing.
Email Server Where Order Emails Come In
Email Server User Name
Email Server Password
DAP only processes order notification emails that are in the “Unread” status, to prevent previously processed emails and other non-DAP emails from being repeatedly processed.
Also, if you “pop” off the emails from that mail box (means, your email client like Outlook or Thunderbird or Gmail is “removing” your emails from the server when it retrieves them), it means that when DAP logs in to that billing email address, there are no emails there to be processed – the mailbox is empty, or the 1SC payment notification emails have somehow gotten deleted from that mailbox.
So it is possible that DAP is able to connect to your email server, but DAP is not finding any “unread” emails. Please login to your email server and mark all the payment emails that you want DAP to process… as “unread”. And also make sure that your email client does not remove the emails from that mail box.
There might be a “Product Name” mismatch. The product name has to be EXACTLY the same (including case, spaces, etc) in both DAP as well as in 1ShoppingCart. So if you have created a product by name “Widget A”, make sure your 1shoppingcart product also has the exact same name “Widget A”.
If everything is setup correctly, DAP cron will run every 10 minutes and try to process all 1SC emails.
The next time the DAP cron will run (every 10 minutes), it will pick up all the unread payment emails from 1SC.
Welcome email is not getting sent.
Select the product, and make sure there is some text in the “Thankyou-Email Subject” and “Thankyou-Email Body”. Whatever is in these fields is what gets sent immediately after someone purchases that product (or right after you give them access from the backend).
Now go to DAP Dashboard -> Users -> Add .
Select the product and manually add user. Now see if the thankyou email gets sent to that email id. If it got sent, then your product setup is correct.
Also check the DAP Dashboard -> Orders . Search for all orders, look up the order for the particular user in question by email.
Check the payment status and make sure there is no error there.
If you did all this and things are still not working, please do this:
1. Set DAP Dashboard > setup -> Config -> Log Level -> Log All activity
2. Re-run the 1SC test purchase
3. Check the DAP Logs (DAP Dashboard > System > Logs) and send us the log text in there for troubleshooting by pasting it into a new support ticket.
Make sure you have set the thank-you message with the right merge tags for Email and Password.
First set DAP Dashboard > setup -> Config -> Log Level -> Log All activity
If you feel that the orders were not processed in dap, then just login to the 1SC email account where the sales/payment notification emails are sitting, and mark those orders/emails as UNREAD that you want dap to process.
Then manually run the cron script dap-emailorder.php cron by visiting the following link in the browser.
http://www.yoursite.com/dap/dap-emailorder.php
Replace yoursite.com with the name of your site.
It will just display an empty screen when complete.
Then check “Users > Manage” to see if user has been created.
– Veena Prashanth
If you have multiple products that have quite similar settings and content, you could save time by starting with just one product (either the lowest level, or the highest level), and then using the “Save As New” button to make an exact copy of that product, and then adding or removing content from this new copy to create new products.
So, let’s say you have say 3 membership levels: Silver, Gold and Platinum.
“Gold” will have all the content that “Silver” has, plus some more.
“Platinum” will probably have everything from “Gold”, plus some more.
So the way you could save time setting up all these 3 levels, is to either start with the lowest level, or the highest level.
Let’s say you start with the lowest level, “Silver”.
So create the “Silver” product fully, set up all the content dripping, email dripping etc.
And then once you’re done, while still editing the “Silver” product, click on the “Save as New” button (next to the “Save” button on the Product page).
That will create an exact duplicate of the “Silver” product – with all of its settings, content dripping and email dripping intact. And this copy will be called “Silver Copy” (just the text Copy added to the end). And this new copy will already be selected for you.
Now rename this new product from “Silver Copy” to “Gold”, save it, and then continue to add more content to it.
Then, finally, when “Gold” is fully ready, again do a “Save As New”, which would create a “Gold Copy” product.
Rename the “Gold Copy” product to “Platinum”, save it, and continue to add more content and emails to it.
Get the drift?
NOTE: On the flip site, you could also start by creating the “Platinum” product first, and then keep doing a “Save As New” and continue stripping out content to create the lower membership levels.
DAP uses “Last Cookie” to award commissions.
So if someone (who has never purchased anything from you before) clicks on the affiliate link of Jack, and then a few hours (or days) later, clicks on the affiliate link of Jill, and then goes on to purchase your product, then DAP awards the commission to Jill, whose affiliate link was the one clicked most recently.
So, in general, to protect your affiliates, you shouldn’t be promoting your site generally on the web using your own affiliate link (as DAP admin). That way, you never compete with them for commissions on your own site.
However, using your own affiliate link works great, say, when you’re marketing in specific markets, like say on Adwords. Even though Adwords allows you to set up and track goals, using a special affiliate can help you figure out exactly how much revenue you have earned through this affiliate.
So, for Adwords marketing, you could create a new user called “Adwords Affiliate” and then use this user’s affiliate link as your landing page URL. Of course, you could also customize this affiliate’s link to land on any page of your web site (or any site for that matter) by adding the text “&p=yoursite.com/anypage.html” to the end of your standard affiliate link, like this…
http://YourSite.com/dap/a/?a=1234&p=yoursite.com/googleoffer1.html
Once a member has signed up and is attached to an affiliate, then it’s that same affiliate who will get lifetime commissions for all purchases made by that member, for life. Once an affiliate is assigned to a user, it cannot change again for life. So after someone has become a member and is credited to an affiliate, it does not matter what cookie they have on their computer when they make a purchase – the credit will always go to original affiliate that they’re already attached to.
You wish to do what we call a “silent” import. Basically, you don’t want DAP to send out the instant “thanky-you” email to the users being imported.
You may want to do this, say, if you wanted to import a bunch of users into DAP first, without DAP sending them any kind of emails at all, do some preliminary testing, make sure their settings, product access, etc, are all correct, before notifying them of any changes.
1. Remove the “ThankYou-Email Subject” and “ThankYou-Email Body” from the Product into which you wish to import users. Save it in a text file for later, and save the Product.
2. Go ahead and do the bulk-add of users from “Users > Add > Bulk-Add Multiple Users To A Product”.
3. Wait for the DAP Hourly Cron to run and finish importing all users. Since the “ThankYou-Email Subject” and “ThankYou-Email Body” of the Product is empty at the time of import, DAP won’t send out those emails.
4. Once all the users have been imported, put back the “ThankYou-Email Subject” and “ThankYou-Email Body” text content, and save the Product.
OPTIONAL
5. At a later point, if you want, you can send out an Autoresponder email – or even better, a Broadcast email – with the merge codes for the email and password, if you want the newly imported users to get their passwords, or if you wish to notify them of anything at all (like the new system you’re using, their new account info, a general “what has changed recently” type of email, etc).
So you want your blog’s home page to be a “static” page – could be your “Sales page”.
And then you want your actual blog content (where all of your posts show in reverse order), on a different page – like “Members” or “Lessons” or “Blog”.
Here’s how you do it.
Create a WordPress “page” that will become your blog’s new “static” home page. Let’s give it the title, “Home”. Publish your content within this WP page, and it could even have a sign-up form, or your “Buy” button(s). Publish it.
Next, you create a new page which will not have any content, but will serve as a “placeholder” for all of your blog posts to be displayed in reverse chronological order, just like it would show up on any regular blog. In the example below, the page title is “Chapters”. You could call it “Lessons”, “Blog”, “Blog Posts”, “Member Blog”, etc.
In your WP Admin dashboard, go to “Settings > Reading”
a) Change “Front page displays” to “A static page“, as shown below.
b) In the drop down below…
For “Front Page“, pick the page you created in Step 1 above (your static “Home” page).
For “Posts Page“, pick the page you created in Step 2 above (your “Chapters” page).
That’s it.
To see a working example of a “static” home page in wordpress, which can be used as your Sales page or as a Squeeze page, see http://NBLEB.com/blog/
Oh, and none of this has anything to do with DAP, by the way. This is all WordPress.
Here are the merge-tags that you can use in outgoing autoresponder and broadcast emails sent through DAP.
%%FIRST_NAME%%
This will be replaced by the first-name of the user.
%%LAST_NAME%%
This will be replaced by the first-name of the user.
%%EMAIL_ID%%
This will be replaced by the email id of the user.
%%PASSWORD%%
This will be replaced by the password of the user.
%%SITE_NAME%%
This will be replaced by whatever text you have entered in “Setup > Config > Basic > Site Name” in your DAP Dashboard.
%%ADMIN_NAME%%
This will be replaced by whatever text you have entered in “Setup > Config > Basic > Admin Name” in your DAP Dashboard.
%%ADMIN_EMAIL%%
This will be replaced by whatever text you have entered in “Setup > Config > Basic > Admin Email” in your DAP Dashboard.
%%AFF_LINK%%
This will be replaced by the actual affiliate link of the member (Eg., http://yoursite.com/dap/a/?a=1234)
%%SITE_URL_DAP%%
Replaced by your actual web site url (Eg., http://yoursite.com)
%%UNSUB_LINK%%
This is replaced by a 1-click Unsubscribe link that you can add to the bottom of your outgoing broadcast and autoresponder emails.
You can send custom field values in the DAP emails by using merge tags like this – %%custom_tax_id%%
Add ‘custom_’ in front of the custom field’s database field name.
So if you have defined a custom field called tax_id in your database, to include this field in the autoresponder/broadcast email, just add this – %%custom_tax_id%% to the body of your email.
That’s it. When the user receives the email, dap will automatically replace the merge tag with the user’s tax id value.
So if your email message body contains the following text:
Your Tax Id: %%custom_tax_id%%
When the user receives the message, it will look like this (in this example, the user’s taxId = 9999):
Your Tax Id: 9999
Click here for full documentation about Custom Fields
Click here for merge tags you can use in WordPress posts/pages
This will be replaced by whatever text you have entered in “Setup > Config > Basic > Admin Email” in your DAP Dashboard.
There are many ways in which you can protect videos.
By default, DAP can only protect files that are stored on the same web site where DAP is installed.
So if you install DAP on YourSite.com , then your files must also be located on YourSite.com. DAP installed on YourSite.com cannot protect files (.mp4, .mp3, .html, .pdf, .doc) that are stored on AnotherSite.com.
So assuming the files are stored on the same site as DAP, you can (and should) protect both the actual video file, as well as the blog post or page in which the embed-code for your video is published, by adding both to a Product.
This gives you 2 levels of protection for your videos:
Level 1: The blog post or page containing the video player code, itself is accessible only by authorized members.
Level 2: When an authorized user gets legitimate access to the page where the video is published (because they’re a paying member, say), even if they try to do a view source and figure out the location of the video (eg., http://yoursite.com/videos/howtovideo1.mp4) , and pass it around by email to their friends (or post the link in an online forum), their friends still can’t view the video, because the video link itself is protected by DAP.
If you have some text that you want the casual visitor (and Google) to read, but wish to protect only the video, then you could turn Sneak-Peek on (in Setup > Config > Advanced), insert a WordPress more tag (<!–more–>) into your post just where you want the content to start being protected, and put the video player’s embed code after the more tag.
The only 3rd-party-stored video files that DAP can protect at this time are videos (and other files) that are stored on Amazon S3. DAP cannot do this by itself, but uses a special WordPress plugin called S3MediaVault.com , which is a plugin we developed specifically to make Amazon S3 videos play in your WordPress blog posts/pages. So again you get 2 levels of protection for your videos…
Level 1: DAP protects the post/page where the special S3MV video player code is embedded
Level 2: The S3MediaVault plugin makes sure that even if someone tried to do a view source and figure out the actual link to your Amazon S3 video, they still won’t be able to view the video.
DAP cannot protect, say, videos that are embedded from other 3rd party web sites like YouTube or Hulu. Of course, DAP can always protect the blog post or page itself that contains the video, but once an authorized user gets valid access to that blog page, they can see that it is a YouTube video (say), and then pass that YouTube video link to their friends, in which case DAP cannot protect that external YouTube video link.
Check out my podcast episode at http://subscribeme.fm/video-hosting-for-your-membership-site/ which goes into detail about video hosting for your membership site.
Here’s how you can customize the HTML, look & feel of the DAP Sidebar Login Widget.
There is a file in the following folder…
/wp-content/plugins/DAP-WP-LiveLinks/
by name…
DAP-WP-LoginForm-LoginLogout.html
Make a copy of that file on your desktop, rename it to…
customDAP-WP-LoginForm-LoginLogout.html
(just added the text “custom” at the front of the original file’s name).
You can then modify this new file however you want, including altering spacing, and that’s what will be displayed.
Just be careful what you change – do not modify the field names or the submit URL. Feel free to change other visual elements.