Tutorial: Reset bookmark in Captivate 3


Adobe Captivate 3 has a bookmark function which makes it possible for the users to return to the same spot as where they left the course last time.

If you have long courses this is a nice service to your users.

My company uses a SCORM compatible LMS to run our courses. I tested this bookmark function in Adobe Captivate 3 with our LMS and it worked fine.

One of the annoying things about this bookmark function is that it is not reset automatically when the user have completed the course. Say you finish a course and later return to it because you wanted to check up on some information. In that case you would be transported to the last page in the course upon starting it. This is because Captivate 3 remembers that the last page you visited was in fact the last page in the course and assumes that is where you want to go.

This can be pretty annoying for the users as it is not very likely that if they start an already completed course again they do it to view the last page. Most likely they would like to start at the first page of the course and then go to the section/page they are interested in.

Here is a JavaScript method to reset the bookmark that Captivate 3 remembers.

var data = g_objAPI.GetValue(“cmi.suspend_data”);data = “A” + data.substring(1);g_objAPI.SetValue(“cmi.suspend_data”,data);

You can either use this as “Execute JavaScript” on a button on the last page of your course or in the “Project End Options” found under Project Settings – Start and End.


Project Preferences - click picture to enlarge

Project Preferences - click picture to enlarge

Please note that this only works when you are running your courses on a SCORM compatible LMS.

One of the other things that annoy me about Captivates bookmark function is that the user is not given a choice whether they want to continue from the last visit or want to start the course from the beginning.

I have decided to develop my own bookmark function which I can use for my Captivate courses. I will make it in Adobe Flash and as soon as it is done I’ll make a post here on the blog. This custom bookmark function will be written to support courses running on SCORM compatible LMS platform. You will not be able to use it if you are not running your courses on a LMS.



  1. You write, “Captivate 3 has a bookmark function which makes it possible for the users to return to the same spot as where they left the course last time.”

    Where do I go in Captivate to set the bookmark function? I don’t even know where to look. Is it during the publishing process?



  2. Hi Justin,

    First of all – to enable the bookmark function you need to run the course on an LMS. When you are finished with your course you then enable the reporting options found in – Project Preferences – Quiz – Enable Reporting. You need to select the LMS protocol (AICC, SCORM, Adobe Connect etc.). If your LMS is SCORM compatible you need to fill out the manifest data for it to run properly. After that click on Advanced and make sure that “Never send Resume Data” isn’t ticked.

    That’s it ;o)

    Good luck.

  3. Hi all,

    I have enjoyed reading the posts so far on Bookmarking, as this is a top priority for our group right now.

    I added the javascript as follows: var data = g_objAPI.GetValue(”cmi.suspend_data”);data = “A” + data.substring(1);g_objAPI.SetValue(”cmi.suspend_data”,data);

    I placed this in the project end options as suggested. Now that it is loaded into our (SCORM compliant) LMS, it doesn’t seem to working.

    Should users just be able to close the window and it should remember where they left off? Is there a special button that I need to add to trigger this?

    Any thoughts/help would be much appreciated!


  4. Hi Kara,

    First of all you need to publish the course as a SCORM package directly from Captivate. If you don’t use Captivates buildt-in SCORM packager then the bookmark will not work. You also need to enable the reporting options in Project Preferences – Quiz – Enable reporting. Finally you need to check that under the advanced options (I think it’s under enable reporting but not sure and don’t have CP3 on this machine) you need to be sure that the “Never send resume data” isn’t ticked off.

    Once you have published your SCORM package from Captivate and upload it to your LMS then the bookmark should work. Once a user starts a course that they visited before they will automatically be taken to their last location. There is no pop-up box or dialog – they just get ported straight away. One of the issues with this solution from Captivate is that once a user has seen the entire course they will always be sent to the last page of your course and they will never be given a choice if they want to go there or not. The javascript in my post will reset the bookmark that Captivate sets which mean that once a user return to your course they will not be sent to the last page anymore but will start on the first page and start a new bookmarking “session”.

    Hope this helps – let me know if you get it to work.

  5. Hi all,

    I can’t find the bookmark function. Can you tell me where I can activate this function in Captivate 4?


  6. Thanks for the answer! I hadn’t seen your answer before. I tested it and it worked perfekt.

    Maybe you can help me with another question? Wich variable saves your actual position and how is it saved? Does the project save the actual slide or does Captivate use other technique?

    Thanks in advance and sorry for the bad english!
    Best regards from Germany

  7. Hi Dennis,

    That is a very complex question. Captivate stores the location of the user in the suspend_data as part of the SCORM protocol. The fact that Captivate actually saves it here makes it pretty difficult to deal with. It should be saved in cmi.location if it was to conform with SCORM but it doesn’t.

    The suspend data that Captivate creates is garbled and contain a lot of information. From what I can see it is saved as a variable like “A000001?” which indicates the first slide.

    Honestly I have no clue as to use the data in the suspend data from Captivate to something useful since there is no explanation available as to what Captivate stores there and how it does it.


  8. Margaret Black on

    Thanks! This really helped me to understand that if I DO check “Never send Resume Data” , the bookmarking is turned off. That is what I needed!

  9. Hi I am trying to get this to work, but it still loads up on the last page visited. I have copy the code you wrote and tested it both as a on poject end and as a button on the last page but neither work. I am using cap4 and I have it as scorm1.2 you got any suggestions about what could be wrong? Atm I use flashplayer 8 and AS2..

  10. Hi Peter,

    From your comment it seems like you don’t want to have the bookmark at all – is that correct?

    If so, then you should select “Never send resume data” from the Quiz setting (found in the Quiz reporting – LMS Customization Settings. If you tick this then Captivate will never store the bookmark.

    The script here in my post can be used on the last page of a course (that has a bookmark) to delete the bookmark. It will still keep a bookmark on all earlier slides but once Captivate runs this script it should be deleted.


  11. Peter Mattsson on

    Thx for the answear, however if you check the “Never send resume data” captivate don’t send any score information or anything to our LMS but there might be a way around that so it still sends the score information?

    However that script still dont work for me, when you reach last slide and press the button and close the window and start the course again you still end up on the last slide.


  12. Has this code been verified that it works with Cp4?

    I know it works with Cp3, but I have been unsuccessful in getting it to work with version 4. I’ve tried both the “project end” option and button option without any luck.

  13. Hi JG,

    I’m not completely sure to be honest. I seem to recall a CP4 user on the Adobe Captivate forum having success with this approach, but I’m not 100% sure.

    I wil see if I can get the time to test it in our LMS tomorrow.


  14. @Sadegh,

    That’s more or less impossible unfortunately. Javascript and closing windows is a pain in the … Just try and do a Google search and you will see how many different problems and answers there are.