{"id":152995,"date":"2022-02-24T13:10:32","date_gmt":"2022-02-24T13:10:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dynamic-qr-code\/"},"modified":"2024-12-29T15:34:27","modified_gmt":"2024-12-29T15:34:27","slug":"dynamic-qr-code","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/dynamic-qr-code\/","author":15524857,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.1","stable_tag":"1.0.1","tested":"6.7.5","requires":"5.9","requires_php":"8.0","requires_plugins":null,"header_name":"Dynamic QR Code","header_author":"SOSidee.com srl","header_description":"Allows you to create DYNAMIC QR CODES: you can modify what happens when scanning your QR code without actually modifying (and reprinting) the QR code.","assets_banners_color":"c0c0c0","last_updated":"2024-12-29 15:34:27","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/sosplugin.com\/dynamic-qr-code\/","header_author_uri":"https:\/\/sosidee.com","rating":5,"author_block_rating":0,"active_installs":6000,"downloads":34279,"num_ratings":8,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"0.8":{"tag":"0.8","author":"sosidee","date":"2022-04-03 13:47:30"},"0.8.1":{"tag":"0.8.1","author":"sosidee","date":"2022-04-07 09:15:11"},"0.8.2":{"tag":"0.8.2","author":"sosidee","date":"2022-04-07 09:15:11"},"0.8.5":{"tag":"0.8.5","author":"sosidee","date":"2022-05-23 17:25:04"},"0.8.7":{"tag":"0.8.7","author":"sosidee","date":"2022-06-14 07:40:43"},"0.8.8":{"tag":"0.8.8","author":"sosidee","date":"2022-06-14 08:26:31"},"0.9.0":{"tag":"0.9.0","author":"sosidee","date":"2022-07-11 14:10:03"},"0.9.1":{"tag":"0.9.1","author":"sosidee","date":"2022-07-29 12:50:44"},"0.9.2":{"tag":"0.9.2","author":"sosidee","date":"2022-09-09 15:19:47"},"0.9.3":{"tag":"0.9.3","author":"sosidee","date":"2024-04-22 16:29:02"},"1.0.0":{"tag":"1.0.0","author":"sosidee","date":"2024-12-27 15:27:42"},"1.0.1":{"tag":"1.0.1","author":"sosidee","date":"2024-12-29 15:34:27"}},"upgrade_notice":{"":"<p>Please ensure you back up your site before updating.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":8},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2684394,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2684394,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2684394,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2684394,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.8","0.8.1","0.8.2","0.8.5","0.8.7","0.8.8","0.9.0","0.9.1","0.9.2","0.9.3","1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3213840,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3213840,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Settings","2":"QR code editor"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[150390,207999,1373,7937],"plugin_category":[],"plugin_contributors":[188597],"plugin_business_model":[],"class_list":["post-152995","plugin","type-plugin","status-publish","hentry","plugin_tags-dynamic-qr-code","plugin_tags-dynamic-qr-code-generator","plugin_tags-qr-code","plugin_tags-qr-code-generator","plugin_contributors-sosidee","plugin_committers-giannisosidee","plugin_committers-massimososidee","plugin_committers-sosidee","plugin_support_reps-giannisosidee","plugin_support_reps-massimososidee","plugin_support_reps-sosidee"],"banners":{"banner":"https:\/\/ps.w.org\/dynamic-qr-code\/assets\/banner-772x250.png?rev=2684394","banner_2x":"https:\/\/ps.w.org\/dynamic-qr-code\/assets\/banner-1544x500.png?rev=2684394","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dynamic-qr-code\/assets\/icon-128x128.png?rev=2684394","icon_2x":"https:\/\/ps.w.org\/dynamic-qr-code\/assets\/icon-256x256.png?rev=2684394","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/dynamic-qr-code\/assets\/screenshot-1.png?rev=3213840","caption":"Settings"},{"src":"https:\/\/ps.w.org\/dynamic-qr-code\/assets\/screenshot-2.png?rev=3213840","caption":"QR code editor"}],"raw_content":"<!--section=description-->\n<h3>This plugin is a dynamic QR code generator<\/h3>\n\n<p>A <em>dynamic<\/em> QR code?\nYes, the core idea is that <em>information<\/em> associated with the QR code is managed by the plugin rather than being encoded directly within the QR code itself: this is, in essence, the definition of a <em>dynamic<\/em> QR code.<\/p>\n\n<p>In other words, <strong>Dynamic QR Code<\/strong> allows you to change the information linked to a QR code <strong>without having to alter<\/strong> the QR code itself.\nAdditionally, scans of the QR codes are tracked and available for statistical analysis.<\/p>\n\n<p>Let's be straightforward with a few simple examples:<\/p>\n\n<blockquote>\n  <p>SCENARIO: you want to store the web page of the pharmacy in duty in a QR code.\n  PROBLEM: the pharmacy changes with each shift, and you can't (or don't want to) rebuild and reprint the QR code every time.\n  SOLUTION: Dynamic QR Code allows you to change the pharmacy webpage URL without modifying the QR code itself.<\/p>\n  \n  <p>SCENARIO: you want customers to be redirected to your current promotion webpage after scanning the QR codes you distributed to your resellers.\n  PROBLEM: the page URL changes frequently for various reason (e.g. you want to promote different products without continuously modifying the same webpage) but you don't want to waste time rebuilding, reprinting and resending QR codes to your resellers.\n  SOLUTION: Dynamic QR Code permits you to change the redirect URL to your current promotion page without modifying the QR code image.<\/p>\n  \n  <p>SCENARIO: you want to track the scans of your QR code to analyze data and gather statistical information.\n  PROBLEM: there's no easy way to track the activity of people who scan static QR codes.\n  SOLUTION: Dynamic QR Code automatically tracks the scans and lets you download the data for statistical analysis.<\/p>\n  \n  <p>SCENARIO: you want your customers to scan a QR code to view your restaurant's menu.\n  PROBLEM: the menu changes every day of the week, so you would need 7 different QR codes would to cover the entire week.\n  SOLUTION: Dynamic QR Code generates a single QR code that redirects your customers to the appropriate menu depending on the day of the week.<\/p>\n<\/blockquote>\n\n<h3>Types of scenarios for dynamic QR codes<\/h3>\n\n<ul>\n<li>You need a QR code with a link that can be modified without changing the QR code image.<\/li>\n<li>You need to track how many times your QR code has been scanned.<\/li>\n<li>You need a QR code that redirects users to different URLs depending on the date or on the day of the week.<\/li>\n<li>You need a webpage that can only be accessed by scanning a QR code.<\/li>\n<li>You need a QR code that can be scanned a limited number of times.<\/li>\n<li>You need a QR code that opens a Facebook\/Instagram\/LinkedIn profile directly in the Facebook\/Instagram\/LinkedIn app (PRO feature).<\/li>\n<\/ul>\n\n<p>Examples:<\/p>\n\n<ul>\n<li>You want to track when customers open your products: <em>print on them a dynamic QR code for something appealing for to customers (e.g. a giveaway lottery, a discount coupon, etc.) and gather the statistics.<\/em><\/li>\n<li>You want to provide additional product information through videos that can change over time: <em>use a dynamic QR code that redirects to the current video.<\/em><\/li>\n<li>You want to measure customer engagement in your physical stores: <em>dynamic QR codes allow you to track the user activity.<\/em><\/li>\n<li>You want to measure  the effectiveness of your marketing campaigns in the physical world: <em>dynamic QR codes enable you be able to do so.<\/em><\/li>\n<li>You want to provide information about your weekly program: <em>use a dynamic QR code to show the schedule for the current day.<\/em><\/li>\n<li>You want to display a prize voucher only to people that enter in your shop(s) and scan a QR code.<\/li>\n<li>You want to open a YouTube video directly in the YouTube app (PRO feature).<\/li>\n<\/ul>\n\n<p>See the <a href=\"https:\/\/support.sosidee.com\/dynamic-qr-code\/general-concepts\/\" title=\"tutorial\">online manual<\/a> for details.<\/p>\n\n<h3>GETTING STARTED<\/h3>\n\n<p>From the Dynamic QR Code plugin console, create a new <em>QR-Code<\/em> item:<\/p>\n\n<ul>\n<li>enter a short description (something useful to you)<\/li>\n<li>enter a unique key, i.e. a sequence of characters that has never been used for another QR-Code<\/li>\n<li>set the <em>redirect URL<\/em>:\n\n<ul>\n<li>selecting a page\/article of the WP website<\/li>\n<li>entering a custom URL<\/li>\n<\/ul><\/li>\n<li>save the new QR-Code<\/li>\n<\/ul>\n\n<p>Then use the <em>QR-URL<\/em> generated by the plugin to create the image of your QR code, or just download the image generated in the plugin page.<\/p>\n\n<p>&raquo; Check the <a href=\"https:\/\/support.sosidee.com\/dynamic-qr-code\/\" title=\"tutorial\">online manual<\/a> for details &laquo;<\/p>\n\n<p><strong>Note<\/strong>\nIf you need to create QR-Codes with the same key, you have to activate the 'Disable unique keys' option on the Settings page: in this case, identical keys will generate identical qr code images and the redirect URL will be chosen either randomly or based on the conditions set in the QR-Code.<\/p>\n\n<p><strong>RANDOM REDIRECT<\/strong>\nIf you want users to be randomly redirected to a URL chosen from several options:<\/p>\n\n<ul>\n<li>activate the 'Disable unique keys' checkbox in the Settings page<\/li>\n<li>create two or more QR-Codes with the same key but different URLs<\/li>\n<\/ul>\n\n<p>Users will be redirected to a URL randomly selected from the available ones (i.e. among the URLs of the valid QR-Codes that share the same key as the one scanned).<\/p>\n\n<p><em>Please note that the URL selection process uses a pseudo-random number generation. Therefore, do not use this feature for true lotteries or gambling games.<\/em><\/p>\n\n<p><strong>DATE-DEPENDENT REDIRECT<\/strong>\nIf you want users to be redirected to different URLs depending on the date:<\/p>\n\n<ul>\n<li>activate the 'Disable unique keys' checkbox on the Settings page<\/li>\n<li>create two or more QR-Codes with\n\n<ul>\n<li>the same key<\/li>\n<li>different date intervals of validity<\/li>\n<li>different URLs<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p>The URL users are redirected to will depend on which QR-Code is valid on the scan date.<\/p>\n\n<p><strong>DAY-OF-THE-WEEK DEPENDENT REDIRECT<\/strong>\nIf you want users to be redirected to different URLs depending on the day of the week:<\/p>\n\n<ul>\n<li>activate the 'Disable unique keys' checkbox on the Settings page<\/li>\n<li>create 7 QR-Codes with\n\n<ul>\n<li>the same key<\/li>\n<li>different redirect URLs<\/li>\n<\/ul><\/li>\n<li>assign each QR-Code to a specific day of the week<\/li>\n<\/ul>\n\n<p><strong>EXCEPTION DATE FOR A DAY-OF-THE-WEEK DEPENDENT REDIRECT<\/strong>\nLet's say you want your users to be redirected on Easter differently compared to the usual Sunday URL:<\/p>\n\n<ul>\n<li>follow the DAY-OF-THE-WEEK DEPENDENT REDIRECT instructions to create 7 QR-Codes<\/li>\n<li>then create another QR-Code with\n\n<ul>\n<li>the same key<\/li>\n<li>the redirect URL set to the URL for Easter<\/li>\n<li>the activation date set to the date of Easter<\/li>\n<li>the priority checkbox activated<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<p>If <em>https:\/\/mydomain.com\/sunday<\/em> is the URL for Sunday and <em>https:\/\/mydomain.com\/easter<\/em> is the URL for Easter, users will be redirected to <em>https:\/\/mydomain.com\/sunday<\/em> on every Sunday except on Easter, when they'll be redirected to <em>https:\/\/mydomain.com\/easter<\/em>.<\/p>\n\n<p>&raquo; Check the <a href=\"https:\/\/support.sosidee.com\/dynamic-qr-code\/\" title=\"tutorial\">online manual<\/a> for more scenarios &laquo;<\/p>\n\n<p><strong>My FastAPP<\/strong>\nIf you wish to use your QR-Code with <a href=\"https:\/\/wordpress.org\/plugins\/my-fastapp\/\" title=\"create a native app with WP\">My FastAPP<\/a> in order to track the single users' scans, follow <a href=\"https:\/\/redirect.soslink.net\/dynamic-qr-code\/help\/mfa\" title=\"tutorial\">these instructions<\/a>.<\/p>\n\n<h3>Dynamic vs Static QR code<\/h3>\n\n<p>STATIC QR CODE<\/p>\n\n<ul>\n<li>encoded information cannot be modified<\/li>\n<li>tracking scan activity is complicated and often not straightforward<\/li>\n<\/ul>\n\n<p>DYNAMIC QR CODE<\/p>\n\n<ul>\n<li>embedded information can be changed<\/li>\n<li>scans can be easily tracked and then analyzed<\/li>\n<\/ul>\n\n<h3>Statistics<\/h3>\n\n<p>QR code scans are logged and available for statistical analysis.\nSome basic statistics, available as PRO add-ons, include scan distributions grouped by date, day, device type, country, and more.<\/p>\n\n<p>By enabling the <em>My FastAPP options<\/em> (available under the <em>Settings<\/em> menu), you can differentiate user activity using <em>User Key<\/em> values.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id='is%20this%20plugin%20a%20qr%20code%20generator%20%3F'><h3>Is this plugin a QR code generator ?<\/h3><\/dt>\n<dd><p>Yes, Dynamic QR Code generates the image of your QR code.\nHowever, you can also use an equivalent image created by any third-party tool.<\/p><\/dd>\n<dt id='how%20many%20dynamic%20qr%20codes%20can%20i%20generate%20%3F'><h3>How many dynamic QR codes can I generate ?<\/h3><\/dt>\n<dd><p>As many as you wish (and as many as your WordPress site can handle).<\/p><\/dd>\n<dt id='what%20is%20a%20dynamic%20qr%20code%20%3F'><h3>What is a dynamic QR code ?<\/h3><\/dt>\n<dd><p>In short, it's a simple QR code with a redirection URL encoded in it.\nThis means that the information (the data read scanning the QR code) is stored outside the QR code.\nWith Dynamic QR Code this information is stored in your WordPress website, allowing you to change it whenever you wish.<\/p><\/dd>\n<dt id='what%20is%20a%20static%20qr%20code%20%3F'><h3>What is a static QR code ?<\/h3><\/dt>\n<dd><p>A QR code is defined as <em>static<\/em> when the information associated with it is embedded directly in its code. Most QR codes are static.<\/p><\/dd>\n<dt id='do%20qr%20codes%20expire%20%3F'><h3>Do QR codes expire ?<\/h3><\/dt>\n<dd><p>A <em>static<\/em> QR code can expire if the information encoded in it's' no longer valid, requiring you to rebuild and reprint it.\nA <em>dynamic<\/em> QR code can expire in the same way, but (and that's the significant difference) it can be brought back to life simply updating the information stored online.<\/p><\/dd>\n<dt id='can%20i%20use%20a%20qr%20code%20image%20generated%20by%20another%20tool%3F'><h3>Can I use a QR code image generated by another tool?<\/h3><\/dt>\n<dd><p>Yes, as long as the image encodes the correct QR-URL.<\/p><\/dd>\n<dt id='is%20this%20plugin%20a%20free%20qr%20code%20generator%20%3F'><h3>Is this plugin a free QR code generator ?<\/h3><\/dt>\n<dd><p>Yes, Dynamic QR Code is free.<\/p><\/dd>\n<dt id='is%20there%20a%20pro%20version%3F'><h3>Is there a PRO version?<\/h3><\/dt>\n<dd><p>Yes, absolutely! You can find all the information about the PRO version and how to purchase it at this URL: <a href=\"https:\/\/sosplugin.com\/dynamic-qr-code\/\">https:\/\/sosplugin.com\/dynamic-qr-code\/<\/a><\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed a bug in the logs page (admin dashboard).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Code refactored to ensure compatibility with add-ons provided by the Pro License Manager plugin.<\/li>\n<li>Improved integration with Pro License Manager to support additional features.<\/li>\n<li>Minor bug fixes and performance improvements.<\/li>\n<\/ul>\n\n<h4>0.9.3<\/h4>\n\n<ul>\n<li>Excluded the metabox nonce verification if an article has the type property different from 'post' or 'page'<\/li>\n<li>Added a settings option to append a random key-value querystring to the redirect URL (cache problem)<\/li>\n<li>Fixed the 'create new' button link in the QR-Code edit page<\/li>\n<\/ul>\n\n<h4>0.9.2<\/h4>\n\n<ul>\n<li>Added colors setting for QR code images<\/li>\n<li>Enabled the modification of length of the code embedded in the enhanced images<\/li>\n<li>Fixed a datetime issue when server and database have different timezones<\/li>\n<\/ul>\n\n<h4>0.9.1<\/h4>\n\n<ul>\n<li>Added a device operating system condition<\/li>\n<li>Added a device browser accepted language(s) condition<\/li>\n<li>Added a sizeable white border to qr code image(s)<\/li>\n<\/ul>\n\n<h4>0.9.0<\/h4>\n\n<ul>\n<li>Added time limits (they can combine with date limits)<\/li>\n<li>Added content hiding to users that do not scan a qr code<\/li>\n<li>Added a shortcode to display automatically a qr code image in a post\/page<\/li>\n<li>Minor fixes and changes<\/li>\n<\/ul>","raw_excerpt":"Allows you to generate DYNAMIC QR CODES: you can modify what happens when scanning your QR code without actually modifying (and reprinting) it.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/152995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=152995"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sosidee"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=152995"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=152995"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=152995"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=152995"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=152995"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=152995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}