Privacy, Limitations, and Troubleshooting

OK Ads is a browser-based advertisement generator that creates customizable HTML and JavaScript snippets. This page explains the application's privacy statement, technical architecture, known limitations, and common troubleshooting steps.

Privacy Commitment

The OK Ads generator displays the statement:

This site never saves or sells your data.

The supplied generator constructs advertisements through browser-side JavaScript.

Company names, slogans, URLs, design settings, and other configuration inputs are used to generate the advertisement code locally within the page.

The supplied generator code does not show these settings being uploaded to an OK Ads application backend.

This does not independently establish the complete behavior of hosting infrastructure or separately loaded resources.

Advertisement Data and Third Parties

Generated advertisements may contain externally hosted resources.

ResourcePossible Interaction
Logo URLVisitor's browser requests the image
Background Image URLVisitor's browser requests the image
Destination URLVisitor opens the advertiser's website
OK Ads AttributionVisitor may open the OK Ads website
Embedded Data URLImage data included in the advertisement source

These are distinct from the generator selling user data.

Third-party websites may process information according to their own applicable policies.

Application Dependencies

The generator's HTML includes:

  • The application's JavaScript
  • The application's stylesheet
  • ZapCaptcha
  • Browser Clipboard API
  • FileReader
  • Web Crypto API
  • Shadow DOM
  • iframe preview functionality

The generator's entry screen uses ZapCaptcha as a browser-side verification gate.

Local Image Handling

When an image is uploaded, the generator reads it using FileReader.

The resulting data URL is inserted into the generated advertisement.

The source does not show a separate application upload endpoint for this operation.

Browser Support

OK Ads depends on browser capabilities including:

  • JavaScript
  • Shadow DOM
  • Web Crypto random number generation
  • FileReader
  • Clipboard access
  • ResizeObserver
  • Standard DOM and CSS APIs

An older browser may not support every generated feature.


Troubleshooting

The Generator Does Not Open

Check that JavaScript is enabled and that required application resources load.

The supplied interface uses a ZapCaptcha verification gate before exposing the generator.

The Ad Preview Is Blank

Possible causes include:

  • JavaScript errors
  • Unsupported browser functionality
  • Blocked scripts
  • Invalid generated markup
  • Restrictive iframe or CSP settings

Open the browser developer console for additional details.

Generated Code Does Not Display

Verify that:

  1. You copied the complete snippet.
  2. The destination platform permits JavaScript.
  3. The script is inserted into the intended document.
  4. Browser security policies permit execution.
  5. The host container has not been removed.

The generated script obtains its container using:

document.currentScript.previousElementSibling

If the host container and script are separated or rearranged, the script may fail to find its intended element.

Clipboard Copy Fails

The generator uses:

navigator.clipboard.writeText()

Clipboard operations can fail because of browser permissions or security-context restrictions.

Use Code Preview to inspect the source if copying is unavailable.

Background Image Does Not Display

Check:

  • Image URL spelling
  • Image availability
  • Supported image format
  • Browser network restrictions
  • Generated background configuration

Uploaded background images override background URLs.

Logo Is Missing

Confirm that an uploaded image or valid Logo URL has been provided.

Check image hosting and browser loading errors.

Advertisement Is Too Large

Reduce Width and Height or enable Fit Mobile for narrow screens.

Text Is Cut Off

Try:

  • Smaller font sizes
  • Shorter text
  • Larger dimensions
  • Different layout
  • Reduced padding

The generated advertisement uses overflow: hidden on its wrapper, so oversized content may be clipped.

Advertisement Is Hidden

Review:

  • PC-Only
  • Mobile-Only
  • Scroll trigger values
  • Group selection
  • Close state
  • Parent container visibility

Sticky Mode Does Not Behave as Expected

Check whether the advertisement is inside an iframe or other constrained container.

Fixed positioning is influenced by the embedding environment.

Scroll Trigger Is Unexpectedly Active

Return Trigger Start and Trigger End to zero when scroll visibility is not needed.

The generated visibility routine does not directly check the Enable Scroll Trigger variable before evaluating nonzero range values.

Rotation Does Not Work

Confirm that:

  1. Multiple ads have the same group identifier.
  2. They are present within the same document.
  3. Rotate Ads is enabled where needed.
  4. The rotation interval is appropriate.
  5. Group state has not been reset by another generated snippet.

Closing an Ad Hides Multiple Ads

When a close button is associated with a randomization group, the handler attempts to hide all ads in that group.

Use separate group names if different placements should close independently.

Ad Reappears After Reloading

The close handler does not persist dismissal across reloads.

This behavior is expected from the supplied source.

Minified Code Behaves Differently

The simple minifier collapses whitespace using regular expressions.

Use the full code output when minified output behaves unexpectedly.


Known Implementation Limitations

AreaLimitation
Group StateShared global objects are reset by generated snippets
RotationClient-side visibility rotation, not a campaign scheduler
Scroll TriggerNonzero range values may apply even with trigger disabled
MinificationRegex-based whitespace reduction
Iframe EmbeddingPositioning constrained by iframe document
Fixed PositioningSensitive to embedding layout
Uploaded ImagesCan greatly increase code size
FontsDepend on fonts installed on the visitor's device
Close StateDoes not persist across page reloads
Code SecuritySource-level sanitization is not a complete security guarantee
AnalyticsNo click or impression reporting dashboard in the supplied source
Ad DeliveryNo remote campaign management service in the supplied source

Security Considerations

Generated JavaScript

OK Ads produces executable JavaScript.

Review generated snippets before embedding them into security-sensitive applications.

Shadow DOM

Closed Shadow DOM provides encapsulation but does not provide the isolation of a separate security origin.

URL Handling

The generator restricts click destinations to HTTP and HTTPS protocols.

Still, website owners should review destination URLs and ensure they lead to appropriate content.

Content Security Policy

Do not weaken site-wide security policies unnecessarily to accommodate generated ad code.

Third-Party Images

Use trusted image hosts and avoid exposing information through sensitive image URLs.

Mobile Accessibility

Ensure advertisements do not obscure important controls or prevent users from accessing the webpage.

Licensing

The supplied source code declares the GNU General Public License version 3 or any later version.

Users redistributing modified versions of the generator should review the applicable GPL requirements.

Reporting Issues

When reporting a problem, include:

  • Browser and operating system
  • Advertisement dimensions
  • Layout type
  • Positioning settings
  • Whether Sticky Mode is enabled
  • Device visibility settings
  • Scroll trigger values
  • Rotation group configuration
  • Relevant console errors

Do not include confidential information in publicly shared bug reports.

Final Reminder

OK Ads provides a customizable way to generate embedded website advertisements without requiring a traditional advertising campaign management platform.

Test every generated advertisement in its actual deployment environment, particularly when using advanced positioning, responsive layouts, scroll triggers, and rotation groups.


Did this page help you?