Entries Tagged 'Products' ↓

DAP to 1ShoppingCart List Integration

Q: How to automatically add a new user in DAP to a 1SiteAutomation.com (1SA) list (or other 1Shoppingcart – 1SC – private label)?

A: Every list in 1SA/1SC gets a unique email id – like 1sc-12345@autocontactor.com ).

dap-dap-to-1sc-list-integration

Add that to the “3rd-Party Notification Email Ids” field of the DAP product (under Products > Manage > “Notifications” tab)

And make sure you set the “Direct Subscribe” field in your 1SA/1SC list to be “On”.

Get DAP for free with a 1SiteAutomation.com account

[DAPUserProfile]

This post is dedicated just to the [DAPUserProfile] shortcode. To see the rest of the DAP Shortcodes, click here.

[DAPUserProfile]

This is the shortcode that displays all of the user profile fields on a page.

You can customize which fields to show, and which to hide. Just set the profile field that you don’t want displayed, to “N” in the tag below.

Default version

[DAPUserProfile showFirstName="Y" showLastName="Y" showUserName="Y" showEmail="Y" showPassword="Y" showAddress1="Y" showAddress2="Y" showCity="Y" showState="Y" showZip="Y" showCountry="Y" showPhone="Y" showFax="Y" showCompany="Y" showTitle="Y" showPaypalEmail="Y" showOptedOut="Y" showCustomFields="Y"]

Default is “Y”. So Leaving out the text (for eg.) showLastName=”Y” entirely from the shortcode, is the same as setting it “Y”, which means it will be displayed.

Entering just [DAPUserProfile] into a page, will show ALL fields.

Show All Fields Except Phone & Fax

To hide just Phone and Fax, you would do something like this:

[DAPUserProfile showPhone="N" showFax="N"]

So all other fields will be displayed, except those two.

Show Just A Few

To show (say) just First, Last, Username, Password and Email, this is the shortcode:

[DAPUserProfile showFirstName="Y" showLastName="Y" showUserName="Y" showEmail="Y" showPassword="Y" showAddress1="N" showAddress2="N" showCity="N" showState="N" showZip="N" showCountry="N" showPhone="N" showFax="N" showCompany="N" showTitle="N" showPaypalEmail="N" showOptedOut="Y" showCustomFields="N"]

IMPORTANT: Make sure you ALWAYS show the opt-out field (showOptedOut=”Y”) . If you hide it, then member will get unsubscribed automatically from all emails, when they submit the profile form.

 

Related: [DAPUserLinks] shortcode

[DAPUserLinks]

This post is dedicated just to the [DAPUserLinks] shortcode. To see the rest of the DAP Shortcodes, click here.

[DAPUserLinks]

This is the shortcode that shows the user a list of all of the products that they have access to, and details about each product – like name, description, links that have already been dripped, etc.

This is similar to %%USERLINKS%%, but more advanced and more customizable.

You can customize most of the elements of this shortcode, as shown below.

You can even customize this to show details of a specific product (instead of all products).

Full Version

[DAPUserLinks showProductName="Y" showAccessStartDate="Y" showAccessEndDate="Y" showDescription="Y" showLinks="Y" orderOfLinks="NEWESTFIRST" howManyLinks="10000" errMsgTemplate="SHORT" productId="ALL" dateFormat="YYYY-MM-DD" showproductcount="Y"]

Most of the elements are self-explanatory. Here are a couple explained in detail.

orderOfLinks

orderOfLinks can have one of two values…

NEWESTFIRST will drip newly dripped links at the top. So day 7 link will be above day 1 link.

OLDESTFIRST will drip newly dripped links towards the bottom. So day 1 link will be above day 7 link.

showproductcount

showproductcount=”N” will disable the heading “You have access to (X) products” at the top of the “My Content” section.

So, here’s another version of the DAPUserLinks shortcode that shows oldest links at th top, and does not show the product-count heading.

[DAPUserLinks showProductName="Y" showAccessStartDate="Y" showAccessEndDate="Y" showDescription="Y" showLinks="Y" orderOfLinks="OLDESTFIRST" howManyLinks="10000" errMsgTemplate="SHORT" productId="ALL" dateFormat="YYYY-MM-DD" showproductcount="N"]

productId

productId is by default set to “ALL” which means details for all products that a user has access to, will be displayed on that page. You can also configure it to show for just one product (productId=”8″) or a few select products (productId=”8,11″).

Related: [DAPUserProfile] shortcode

Access Expiration Options

In DAP 4.4.3, we have added a new feature to the hourly dap cron where once every day (it’s hardcoded to run ONCE between 10:00 PM – 11:00 PM PDT) the cron will look for users whose access expired that day.

You can configure the Cancellation Options in DAP Products page -> Cancellation & Expiration tab.

Then based on these settings, the DAP Hourly Cron will check if the current time is between 10:00 – 11:00 pm PDT (Server time), and if yes, it will take a look at each product, pick up the ‘Expiration Action’ setting for that product, then get a list of ALL users whose access to that product has expired and apply the ‘Expiration Action’ to that user->product record in DAP users -> manage page.

The reason the dap cron checks the current time and runs the ‘expiration job’ only once a day is because running it too often will burden your server/resources as this job needs to pick up all products and then apply the cancellation rule to all users whose access has expired.

The main thing is to make sure it only runs once.. does not matter if that’s between 10 – 11 or 11 – 12 etc. We just picked the time to be between 10 – 11 PM (server time).

1) No Action
User’s access will auto-expire at the end of current recurring cycle. If the user re-signs, they will start from where they left off instead of starting over at day 1.
Infact this is how all older versions of dap already work.

If a user cancelled access to a subscription product before and say that the same user now wants to start back after a couple of months break.
If you have selected NO ACTION as this product’s expiration setting (in dap products page -> cancellation & expiration tab),
then when the user re-signs, they will start their dripping from where they left off and will not start fresh again from day 1.

Say a user’s access start date is 10/01/2012 and access end date is 10/30/2012, when the cron runs on 10/31/2012
and finds the user’s access has expired, it wont do anything.

If the same user resigns on 11/30/2012, their access start date will be what it was before (10/01/2012) but their new access end date will be 10/31/2012 + 30 days (instead of 11/30/2012+30 days). User’s access to product will remain expired. You will have to set post-expiry access to “Y” in dap setup->config page for access to paid for content.

See this for more details: Cancellation

2) Remove From Product

If selected, dap will automatically find users whose access to this product has expired and remove user’s access to product completely for those users.
You will need this setting to prevent access for expired users. User will completely lose access to product.
If the user signs up again, they will start over like a new member.

3) Set end date to previous day

Automatically move the expired user’s access start and end day (set the access end date to the previous date).
When the cron wakes up and runs this job once daily, it will keep moving the user’s access start / end date
forward in such a way that user’s access will remain expired but the access end date will not be stuck somewhere in past,
it would be always set to the previous date (from current date).

Say a user’s access start date is 10/01/2012 and access end date is 10/30/2012, when the cron runs on 10/31/2012
and finds the user’s access has expired, it will set the access end date to previous date.. so first time when
the cron runs after the user’s access expires, nothing will happen, access end date will remain 10/30,
but when cron runs on 11/1, it will now move the access end date to previous date so the new access start date will be 10/02/2012
but end date will be 10/31/2012 (the access start / end block is moved forward).

So if the cancelled user re-signs, the user’s access will not remain expired as their access will be extended from the access end date
to a date in future and the dripping will continue from where they left off.  You would probably want to use this setting if you are on DAP 4.4.

IMPORTANT:  ADDITIONAL INFORMATION

CRON JOB:

The dap cron (dap-cron.php) runs once every hour at the top of the hour… but it will only do the expiration job between 10- 11 PM (server time). The expiration part of the cron only executes once a day.

To force run the cron, run this command in a browser (dont run cron too close to the top of the hour as it will collide with the normal running of cron ).

http://yoursite.com/dap/dap-cron.php?forcerun=Y (replace yoursite.com with the name of your site)

EXPIRATION: SET ACCESS TO PREVIOUS DATE

We disabled the ‘SET ACCESS TO PREVIOUS DATE‘ (one of the drop-down options in the ‘cancellation’ page) due to a bug.  We have fixed the bug in dap 4.4.3 but the option is still disabled as we only want to make this feature available to dap owners / admin that ask for it so we can educate the dap admin on this feature better and test it on their site before they go live with this feature as we dont want the results to be something that the admin did not expect.

If you want the ‘expire – set to previous date feature’, pls contact us via support ticket, so we can put back the original admin option that will allow you to set the ‘set expiry to previous date’. Remember when you use this feature,  both access start and end date will move forward… so say that the user’s access start date is set to 01/01/2013 and access end date is set to 01/04/2013 ( 3 day difference).  Today is 2/11/2013.  Now when the cron runs, it will move the access end date to 02/10/2013 (previous date), but it will also move the access start date to 02/07/2013 (3 days before access end date) as it moves the entire block (start and end date) forward. So you will lose the history… the fact that the user actually joined on 01/01/2013.  Of course you can always find that in the dap payment processing -> orders page. So remember this when you use this feature.

If you are ok with this, we will enable this drop-down option on your site, then you can then enable this option ON a test product first. DO NOT use this option on an actual live product. Add a few test users to the test product. Move their access start/end date manually to a date in the past .Make a note of it. Enable the admin option to ‘move date to previous date’ for this product. Then run the cron manually. Go back to dap manage users page and check the new access start / end dates for these users. If all looks good, then take a full backup of your dap database before you use this option on a LIVE product.. just in case the dates get messed up.

Q: Will the “delete user from product” option also delete from WP?

A: No, it will not delete from WP. It will only delete from dap.

 

Protecting Draft Content

Now, normally, links to pages or posts show up in the left-hand side of the ContentResponder tab of the DAP Product only after they’ve been published.

But sometimes, for whatever reason, you may wish to protect pages or posts even before they are published – like in a “Draft” or “Pending Review” status. So here’s what you do.

As soon as you first create a new post or page, and tab out of the title field, and even before you save the post as a draft, or publish it, WordPress will create and display the permalink for that post/page, based on the text in your title.

So, if your page title is “Protecting Draft Pages”, then the default permalink will take on the structure http://YourSite.com/protecting-draft-pages – basically a lower-case version of the title, with hyphens separating the words. Like this…

You can then copy that entire permalink from where it is displayed, go to the DAP Product’s ContentResponder section, scroll down to the section that says “Protect a URL”, and then paste the entire permalink there (http://YourSite.com/protecting-draft-pages), and click “Add URL”.

That will protect this page or post in advance of it being published.

DAP’s “Pause Membership” Feature

How It Works

Joe Member joins your site on 01/01/2011.

He stays a member for about 3 months. Let’s say it’s now mid March. He wants to take a couple of months break. So he goes on a 2 month break. Comes back end of May and wants to resume his membership.

DAP allows him to pick up right where he left off – which is continuing to receive content as of April (04/01/2011), even though today’s date is May 25th, 2011.

So while he took a break, other members who did not take a break in membership, continued to pay for those 2 months, and continued to receive content dripped through those months. So it is only fair that when he does come back end of May and resumes his subscription, he does not resume from June’s content, but from April’s content (when he last put his membership on “Pause”).

It’s ok if you’re not dripping content on a monthly-basis, but rather on a “day” basis. So to put it in terms of “days”, when Joe resumes his subscription, since he was already 90 days old in the system when he put his subscription “On Hold”, and comes back another 60 days later (roughly about 2 months), then DAP will start dripping Day #91 content onwards for him, and NOT Day #151 onwards (he didn’t pay for 2 months in between).

This is how DAP works right out of the box. Nothing special to configure. And DAP automatically takes care of pausing the dripping when he is not paying.

WARNING: Just remember that in order for you to put his actual payments on hold, you will need to have a payment gateway like Authorize.net or Paypal Website Payments Pro. Or you must be using a shopping cart like http://1SiteAutomation.com . Using something like Paypal Standard or ClickBank will not allow you to put the actual charging of his credit card on hold.

NOTE: If you actually did want him to start receiving current content even though he left for 2 months, then all you have to do is, once he comes back and starts paying again, just extend his access end date on his account (which will initially be showing 03/31/2011 – end of March, when he left) and modify it and make it 05/31/2011. So when his next payment comes in after he resumes, DAP will extend his access end date to 06/30/2011 – which means, he can now access all of the current content.

Exporting Users

You can export DAP user/member data in CSV format, from the Users > Manage screen, as shown below.

NOTE:

a) If you export “All Users”, then only the user’s name and email id will be exported (to be enhanced in a future version to include more user-specific data).

b) If you select an individual product from the drop-down, then all information specific to that Product will be exported.

When you click on the “Go” button, you will see a pop-up appear that contains the exported data.

You may then copy it and save it to your desktop.

If you wish to bring that data into, say, an MS Excel spreadsheet, then save the file as a .csv file on your desktop, and then you will be able to import it into Excel.

Mailchimp Integration

Subscriber Flow

The flow of subscriber is “FROM DAP TO Mailchimp“. User signs up at DAP first, then DAP automatically adds the user to Mailchimp list.. Admin removes the user’s access to a product, and DAP automatically removes the user from Mailchimp list. This feature is available starting DAP v4.1.

How it works

1. Login to your account at http://admin.mailchimp.com/account/api/ and note down the API Key.

Image 1:

2. Go to http://admin.mailchimp.com/lists/ and grab your List’s Unique Id. Click the “settings” link for the list – the Unique Id is at the bottom of that page.

Image 2:

3. Log in to your DAP Admin Dashboard -> Products Page and select the product (whose members you wish to add automatically to your Mailchimp list.

4. If the list Id of the mailchimp list that you want to integrate with a DAP product/membership is say “ffffffffff”, and say your Mailchimp API Key is ‘ffffffffffffffffffffffffffffff-us2′ then add the following to the “Notify Plugin upon User -> Product Activation (Add)” in DAP products page and HIT Save/Update Product.

mailchimp:ffffffffffffffffffffffffffffff-us2:ffffffffff

Image 3:

That’s it!

Save the product and this completes the DAP->Mailchimp integration.

How This Works

So let’s say you picked the list “ffffffffff” in your Mailchimp account, and the DAP Product “Example Subscription Product” (as shown in the screenshots above).

So once you add “mailchimp:ffffffffffffffffffffffffffffff-us2:ffffffffff” to the product’s “Notify plugin upon user->product activation” and “Notify plugin upon user->product de-activation” field and save it, every time someone gets access to the “Example Subscription Product” product (regardless of whether they buy it, or you give them access on the backend), DAP will  automatically  add them to the list – ffffffffff. And everytime you remove the user’s access to product (click on ‘Remove’ in DAP manage users page), DAP will automatically remove the user from the list.

df11c84ab4

User & Product Statuses

DAP assigns a status for the User itself (at a global, account level), as well as a User/Product level (specific to the user's access to that product).

So there's the User Status and then the User/Product Status

For eg., the User Status may be "Active", but a specific User/Product status may be "Inactive" – which means user can log in to their account, receive emails, etc, but cannot access any content that is part of this specific product (though they can access all other products they may have, that are "Active").

The bottom-line is this: In order for a user to access his/her account, and all the content in the Products that he/she's purchased, all the statuses have to be Active.

So here are the possible statuses, and what they mean.

User Status

These statuses apply to the User's account itself.

Inactive

If the user's status is inactive, then that means the user's entire account is inactive. User will not be able to even log in to their account. All outgoing broadcast and autoresponder emails will "exclude" them from the list, and they will not receive any emails from the system.

Active

Account is accessible, all emails are being sent.

Unconfirmed

They've just signed up for a product that requires "Double Optin". Which means, unless they "confirm" by clicking on the double-optin link, their account will not become active. Please note that once a user has already confirmed the double-optin link for one product, then their "User" status automatically becomes "Active". So even if they go on to sign up for another double-optin product, then their User status will never again change to "Unconfirmed" (unless specifically set so by the DAP Admin). For all future double-optin products, it is this user's "User/Product" status that will be "Unconfirmed", while the main "User" status remains "Active".

 

Locked

When an account receives login attempts from more than the number of IP addresses set in the "Setup > Config > Advanced > Max. # of User Logins From Different IP`s" field, then that user's main User status is changed to be "Locked". This is very similar to the "Inactive" status, except named different just so admin can distinguish between "Locked" and other users.

 

User/Product Status

These statuses specifically apply to a User's access with relation to a specific Product.

Inactive

User cannot access any content that is part of this product. However, User may access other products whose user/product status is "Active".

Active

There are no restrictions for this User to access content that is part of this product (of course, only whatever the user is eligible to see, based on the drip setup).

Troubleshooting Product Settings

Summary

DAP has 3 fields which are applicable at a Product-level. But if a content (page/post) is part of multiple products, then DAP can’t figure out which product’s field to use – so it falls back to the “GLOBAL” equivalent of that same setting under Setup > Config.

The 3 fields are…

  • Post-Login URL
  • Sales Page URL
  • Error Page URL

All 3 of these have both a Product-level setting, plus a fall-back Global setting under Setup > Config.

 

1) Post-Login URL not redirecting to the right page

If the user has access to more than 1 DAP Product, then DAP cannot decide which Product’s Post-Login URL to redirect the user to. So it simply redirects the user to the global equivalent of that URL at Setup > Config > Post-Login URL (Global)

So if you’re testing the “Post-Login URL” field, make sure you create a test user with access to just that one product, and then log in as her and test.

2) Error Page URL not redirecting to the right page

If the content that user is trying to access, but is not eligible to access, is part of more than 1 DAP Product, then DAP cannot decide which Product’s “Error Page URL” to use. So it simply uses the global equivalent under Setup > Config > Error Page URL (Global)

3) “Sales Page URL” on error page not pointing to right URL
(OR)
Lock message says “Sorry, this content is for members only. Click here to get access” but “Click here” points to my incorrect URL

If the content that user is trying to access, but is not eligible to access, is part of more than 1 DAP Product, then DAP cannot decide which Product’s “Sales Page URL” to show on the “In-Page Error Message” shown to the viewer. So it simply uses the global equivalent under Setup > Config > Sales Page URL (Global)

So make sure you have set up a URL in that field.

4) Clicking on a protected Category is not taking user to the correct “Error Page URL”

When you click on a category (instead of a single post), then because the category could contain many posts, each of which could be part of multiple Products. So DAP is unable to choose just 1 single Product from which to pick the “Error Page URL” and redirect the visitor to. So it just shows the error message with the padlock image, which can be customized. Click here for details.

 

3. The Lock, being generic, says “Sorry, this content is for members only.” but does not specify, as I (will) have several different types of members. It should say something like “Sorry, this content is for %%PRODUCT%% subscribers only.” Can this actually work? I am just guessing.
Response Time: 28 Minutes Wed 23 Mar 2011, 10:13am

» Reply by: Ravi Jayagopal
>>1. Creating a new user account, for someone who is already logged in under a different email address.<<
Yeah, that is on our list. Not something that will happen any time soon. Hopefully, we can schedule it for the next release.>>2. Several Emails say various things similar to “New User Signup (3rd Party Notification)” instead of actually telling me what product they signed up for, or even the amount that was made.<<
Every one of them should have the product name in the body of the email. If it doesn’t, then something’s not right. So if you find one without a product, then let paste the email here, and we’ll take a look.Other than that, it’s not meant to be a full payment notification email. It’s just meant to be an alert, that’s all. The full payment notification will come from your payment processor.It already does that to a certain extent. If you see the original error-notloggedin.php, you’ll see a line in there that says..<a href=”%%SALES_PAGE_URL%%”>Click here to get access.</a>If the page or post belongs to just one Product, then the %%SALES_PAGE_URL%% in the above line will actually be replaced with the “Sales Page URL” field from that product. But if the same page/post is part of multiple products, then DAP won’t know which Product’s “Sales Page URL” to use – so it will just point to the home page.